diff --git a/static/js/orders.js b/static/js/orders.js index 0f3ba79..0cbb180 100644 --- a/static/js/orders.js +++ b/static/js/orders.js @@ -1,443 +1,445 @@ -$(document).ready(function() { +(function() { + $(document).ready(function () { - $('.delete_license').click(function(e){ + $('.delete_license').click(function (e) { e.preventDefault(); var accountID = $(this).data('id'); $('#dialogs').html('Удалить счет на оплату?'); $('#dialogs').dialog({ - buttons: { - "Да": function(){ - $.post('/my/delete_license/' + accountID + '/', function(data){ - $('.account_' + data['id']).remove() - }); - $(this).dialog("close"); - }, - "Нет": function(){ - $(this).dialog("close"); - } + buttons: { + "Да": function () { + $.post('/my/delete_license/' + accountID + '/', function () { + $("[data-id='" + accountID + "']")[0].remove() + }); + $(this).dialog("close"); + }, + "Нет": function () { + $(this).dialog("close"); } + } }) - }); - - var filterLinks = document.getElementsByClassName('filter__link'); - var filterPeriodLinks = document.getElementsByClassName('period__link'); - var filterPeriod = false; - var filterStatus = false; - var filterType = false; - - var options = { - valueNames: [ - { data: ['id'] }, - 'order-date', - { data: ['type']}, - { data: ['status']} - ] - }; - - var today = new Date(); - var dd = today.getDate(); - var month = today.getMonth() + 1; - var year = today.getFullYear(); - var quarter, prevMonth, prevMonthYear, prevQuarter, prevYear; - - var orderList = new List('listData', options); - - if (dd < 10) { - dd = '0' + dd - } - - if (month < 10) { - month = '0'+ month - } - - function getPrevMonth(d) { - var result; - d = d || new Date(); - result = d.getMonth(); - if (result === 0) { - result = 12 - } - if (result < 10) { - result = '0'+ result - } - - return result - } - - function getPrevMonthYear(d) { - var result; - d = d || new Date(); - var currMon = d.getMonth(); + }); - if (currMon === 0) { - result = d.getFullYear() - 1 - } else { - result = d.getFullYear() + var filterLinks = document.getElementsByClassName('filter__link'); + var filterPeriodLinks = document.getElementsByClassName('period__link'); + var filterPeriod = false; + var filterStatus = false; + var filterType = false; + + var options = { + valueNames: [ + {data: ['id']}, + 'order-date', + {data: ['type']}, + {data: ['status']} + ] + }; + + var today = new Date(); + var dd = today.getDate(); + var month = today.getMonth() + 1; + var year = today.getFullYear(); + var quarter, prevMonth, prevMonthYear, prevQuarter, prevYear; + + var orderList = new List('listData', options); + + if (dd < 10) { + dd = '0' + dd } - return result - } - - function getQuarter(d) { - var result; - d = d || new Date(); - var m = Math.floor(d.getMonth()/3) + 2; - result = m > 4? m - 4 : m; - return result - 1 - } - - function getQuarterForStrDate(strDate) { - var parts =strDate.split('.'); - var resDate = new Date(parts[2],parts[1]-1,parts[0]); - return getQuarter(resDate) - } - - function getPrevQuarter() { - var result; - if (quarter === 1) { - result = 4 - } else { - result = quarter - 1 + if (month < 10) { + month = '0' + month } - return result; - } - - quarter = getQuarter(); - prevMonth = getPrevMonth(); - prevMonthYear = getPrevMonthYear(); - prevQuarter = getPrevQuarter(); - prevYear =year - 1; - - $('#filterNone').click(function() { - event.preventDefault(); - filterPeriod = false; - filterStatus = false; - filterType = false; - orderList.filter(); - resetAllFilterStatus(); - }); - - $('#filterAccountsNone').click(function() { - event.preventDefault(); - filterStatus = false; - filterType = 'account'; - filterItems(); - }); - - $('#filterAccountsPay').click(function() { - event.preventDefault(); - filterStatus = ['2']; - filterType = 'account'; - filterItems(); - }); - - $('#filterAccountsWaitPay').click(function() { - event.preventDefault(); - filterStatus = ['0']; - filterType = 'account'; - filterItems(); - }); - $('#filterAccountsFreezePay').click(function() { - event.preventDefault(); - filterStatus = ['4']; - filterType = 'account'; - filterItems(); - }); + function getPrevMonth(d) { + var result; + d = d || new Date(); + result = d.getMonth(); + if (result === 0) { + result = 12 + } + if (result < 10) { + result = '0' + result + } - $('#filterLicenseNone').click(function() { - event.preventDefault(); - filterStatus = false; - filterType = 'license'; - filterItems(); - }); + return result + } - $('#filterLicenseNow').click(function() { - event.preventDefault(); - filterStatus = ['-1','2']; - filterType = 'license'; - filterItems(); - }); + function getPrevMonthYear(d) { + var result; + d = d || new Date(); + var currMon = d.getMonth(); - $('#filterLicenseOld').click(function() { - event.preventDefault(); - filterStatus = ['3']; - filterType = 'license'; - filterItems(); - }); + if (currMon === 0) { + result = d.getFullYear() - 1 + } else { + result = d.getFullYear() + } - $('#filterPeriodNone').click(function() { - event.preventDefault(); - filterPeriod = false; - filterItems(); - }); + return result + } - $('#filterPeriodThisMonth').click(function() { - event.preventDefault(); - filterPeriod = 1; - filterItems(); - }); + function getQuarter(d) { + var result; + d = d || new Date(); + var m = Math.floor(d.getMonth() / 3) + 2; + result = m > 4 ? m - 4 : m; + return result - 1 + } - $('#filterPeriodPrevMonth').click(function() { - event.preventDefault(); - filterPeriod = 2; - filterItems(); - }); + function getQuarterForStrDate(strDate) { + var parts = strDate.split('.'); + var resDate = new Date(parts[2], parts[1] - 1, parts[0]); + return getQuarter(resDate) + } - $('#filterPeriodThisQuarter').click(function() { - event.preventDefault(); - filterPeriod = 3; - filterItems(); - }); + function getPrevQuarter() { + var result; + if (quarter === 1) { + result = 4 + } else { + result = quarter - 1 + } + return result; + } - $('#filterPeriodPrevQuarter').click(function() { - event.preventDefault(); - filterPeriod = 4; - filterItems(); - }); + quarter = getQuarter(); + prevMonth = getPrevMonth(); + prevMonthYear = getPrevMonthYear(); + prevQuarter = getPrevQuarter(); + prevYear = year - 1; + + $('#filterNone').click(function () { + event.preventDefault(); + filterPeriod = false; + filterStatus = false; + filterType = false; + orderList.filter(); + resetAllFilterStatus(); + }); - $('#filterPeriodThisYear').click(function() { - event.preventDefault(); - filterPeriod = 5; - filterItems(); - }); + $('#filterAccountsNone').click(function () { + event.preventDefault(); + filterStatus = false; + filterType = 'account'; + filterItems(); + }); - $('#filterPeriodPrevYear').click(function() { - event.preventDefault(); - filterPeriod = 6; - filterItems(); - }); + $('#filterAccountsPay').click(function () { + event.preventDefault(); + filterStatus = ['2']; + filterType = 'account'; + filterItems(); + }); - function filterItemsDontPeriod() { - orderList.filter(function(item) { - if (!filterType && !filterStatus) { - return true - } - if (filterType && filterStatus) { - return item.values().type === filterType - && filterStatus.includes(item.values().status); - } - if (filterType) { - return item.values().type === filterType; - } + $('#filterAccountsWaitPay').click(function () { + event.preventDefault(); + filterStatus = ['0']; + filterType = 'account'; + filterItems(); + }); + $('#filterAccountsFreezePay').click(function () { + event.preventDefault(); + filterStatus = ['4']; + filterType = 'account'; + filterItems(); }); - } - function filterItemsMonth() { + $('#filterLicenseNone').click(function () { + event.preventDefault(); + filterStatus = false; + filterType = 'license'; + filterItems(); + }); - orderList.filter(function(item) { - if (!filterType && !filterStatus) { - return item.values()['order-date'].split('.')[1] === month.toString() - && item.values()['order-date'].split('.')[2] === year.toString(); - } - if (filterType && filterStatus) { - return item.values()['order-date'].split('.')[1] === month.toString() - && item.values()['order-date'].split('.')[2] === year.toString() - && item.values().type === filterType - && filterStatus.includes(item.values().status); - } - if (filterType) { - return item.values()['order-date'].split('.')[1] === month.toString() - && item.values()['order-date'].split('.')[2] === year.toString() - && item.values().type === filterType; - } + $('#filterLicenseNow').click(function () { + event.preventDefault(); + filterStatus = ['-1', '2']; + filterType = 'license'; + filterItems(); + }); + $('#filterLicenseOld').click(function () { + event.preventDefault(); + filterStatus = ['3']; + filterType = 'license'; + filterItems(); }); - } + $('#filterPeriodNone').click(function () { + event.preventDefault(); + filterPeriod = false; + filterItems(); + }); - function filterItemsPrevMonth() { - orderList.filter(function(item) { - if (!filterType && !filterStatus) { - return item.values()['order-date'].split('.')[1] === prevMonth.toString() - && item.values()['order-date'].split('.')[2] === prevMonthYear.toString(); - } - if (filterType && filterStatus) { - return item.values()['order-date'].split('.')[1] === prevMonth.toString() - && item.values()['order-date'].split('.')[2] === prevMonthYear.toString() - && item.values().type === filterType - && filterStatus.includes(item.values().status); - } - if (filterType) { - return item.values()['order-date'].split('.')[1] === prevMonth.toString() - && item.values()['order-date'].split('.')[2] === prevMonthYear.toString() - && item.values().type === filterType; - } + $('#filterPeriodThisMonth').click(function () { + event.preventDefault(); + filterPeriod = 1; + filterItems(); + }); + $('#filterPeriodPrevMonth').click(function () { + event.preventDefault(); + filterPeriod = 2; + filterItems(); }); - } - function filterItemsThisQuarter() { - orderList.filter(function(item) { - if (!filterType && !filterStatus) { - return getQuarterForStrDate(item.values()['order-date']) === quarter - } - if (filterType && filterStatus) { - return getQuarterForStrDate(item.values()['order-date']) === quarter - && item.values().type === filterType - && filterStatus.includes(item.values().status); - } - if (filterType) { - return getQuarterForStrDate(item.values()['order-date']) === quarter - && item.values().type === filterType; - } + $('#filterPeriodThisQuarter').click(function () { + event.preventDefault(); + filterPeriod = 3; + filterItems(); + }); + $('#filterPeriodPrevQuarter').click(function () { + event.preventDefault(); + filterPeriod = 4; + filterItems(); }); - } - function filterItemsPrevQuarter() { - orderList.filter(function(item) { - if (!filterType && !filterStatus) { - return getQuarterForStrDate(item.values()['order-date']) === prevQuarter - } - if (filterType && filterStatus) { - return getQuarterForStrDate(item.values()['order-date']) === prevQuarter - && item.values().type === filterType - && filterStatus.includes(item.values().status); - } - if (filterType) { - return getQuarterForStrDate(item.values()['order-date']) === prevQuarter - && item.values().type === filterType; - } + $('#filterPeriodThisYear').click(function () { + event.preventDefault(); + filterPeriod = 5; + filterItems(); + }); + $('#filterPeriodPrevYear').click(function () { + event.preventDefault(); + filterPeriod = 6; + filterItems(); }); - } - function filterItemsThisYear() { - orderList.filter(function(item) { - if (!filterType && !filterStatus) { - return item.values()['order-date'].split('.')[2] === year.toString() - } - if (filterType && filterStatus) { - return item.values()['order-date'].split('.')[2] === year.toString() - && item.values().type === filterType - && filterStatus.includes(item.values().status); - } - if (filterType) { - return item.values()['order-date'].split('.')[2] === year.toString() - && item.values().type === filterType; - } + function filterItemsDontPeriod() { + orderList.filter(function (item) { + if (!filterType && !filterStatus) { + return true + } + if (filterType && filterStatus) { + return item.values().type === filterType + && filterStatus.includes(item.values().status); + } + if (filterType) { + return item.values().type === filterType; + } - }); - } + }); + } - function filterItemsPrevYear() { - orderList.filter(function(item) { - if (!filterType && !filterStatus) { - return item.values()['order-date'].split('.')[2] === prevYear.toString() - } - if (filterType && filterStatus) { - return item.values()['order-date'].split('.')[2] === prevYear.toString() - && item.values().type === filterType - && filterStatus.includes(item.values().status); - } - if (filterType) { - return item.values()['order-date'].split('.')[2] === prevYear.toString() - && item.values().type === filterType; - } + function filterItemsMonth() { - }); - } + orderList.filter(function (item) { + if (!filterType && !filterStatus) { + return item.values()['order-date'].split('.')[1] === month.toString() + && item.values()['order-date'].split('.')[2] === year.toString(); + } + if (filterType && filterStatus) { + return item.values()['order-date'].split('.')[1] === month.toString() + && item.values()['order-date'].split('.')[2] === year.toString() + && item.values().type === filterType + && filterStatus.includes(item.values().status); + } + if (filterType) { + return item.values()['order-date'].split('.')[1] === month.toString() + && item.values()['order-date'].split('.')[2] === year.toString() + && item.values().type === filterType; + } + + }); - function filterItems() { - if (!filterPeriod) { - filterItemsDontPeriod() } - if (filterPeriod === 1) { - filterItemsMonth() + + function filterItemsPrevMonth() { + orderList.filter(function (item) { + if (!filterType && !filterStatus) { + return item.values()['order-date'].split('.')[1] === prevMonth.toString() + && item.values()['order-date'].split('.')[2] === prevMonthYear.toString(); + } + if (filterType && filterStatus) { + return item.values()['order-date'].split('.')[1] === prevMonth.toString() + && item.values()['order-date'].split('.')[2] === prevMonthYear.toString() + && item.values().type === filterType + && filterStatus.includes(item.values().status); + } + if (filterType) { + return item.values()['order-date'].split('.')[1] === prevMonth.toString() + && item.values()['order-date'].split('.')[2] === prevMonthYear.toString() + && item.values().type === filterType; + } + + }); } - if (filterPeriod === 2) { - filterItemsPrevMonth() + + function filterItemsThisQuarter() { + orderList.filter(function (item) { + if (!filterType && !filterStatus) { + return getQuarterForStrDate(item.values()['order-date']) === quarter + } + if (filterType && filterStatus) { + return getQuarterForStrDate(item.values()['order-date']) === quarter + && item.values().type === filterType + && filterStatus.includes(item.values().status); + } + if (filterType) { + return getQuarterForStrDate(item.values()['order-date']) === quarter + && item.values().type === filterType; + } + + }); } - if (filterPeriod === 3) { - filterItemsThisQuarter() + + function filterItemsPrevQuarter() { + orderList.filter(function (item) { + if (!filterType && !filterStatus) { + return getQuarterForStrDate(item.values()['order-date']) === prevQuarter + } + if (filterType && filterStatus) { + return getQuarterForStrDate(item.values()['order-date']) === prevQuarter + && item.values().type === filterType + && filterStatus.includes(item.values().status); + } + if (filterType) { + return getQuarterForStrDate(item.values()['order-date']) === prevQuarter + && item.values().type === filterType; + } + + }); } - if (filterPeriod === 4) { - filterItemsPrevQuarter() + + function filterItemsThisYear() { + orderList.filter(function (item) { + if (!filterType && !filterStatus) { + return item.values()['order-date'].split('.')[2] === year.toString() + } + if (filterType && filterStatus) { + return item.values()['order-date'].split('.')[2] === year.toString() + && item.values().type === filterType + && filterStatus.includes(item.values().status); + } + if (filterType) { + return item.values()['order-date'].split('.')[2] === year.toString() + && item.values().type === filterType; + } + + }); } - if (filterPeriod === 5) { - filterItemsThisYear() + + function filterItemsPrevYear() { + orderList.filter(function (item) { + if (!filterType && !filterStatus) { + return item.values()['order-date'].split('.')[2] === prevYear.toString() + } + if (filterType && filterStatus) { + return item.values()['order-date'].split('.')[2] === prevYear.toString() + && item.values().type === filterType + && filterStatus.includes(item.values().status); + } + if (filterType) { + return item.values()['order-date'].split('.')[2] === prevYear.toString() + && item.values().type === filterType; + } + + }); } - if (filterPeriod === 6) { - filterItemsPrevYear() + + function filterItems() { + if (!filterPeriod) { + filterItemsDontPeriod() + } + if (filterPeriod === 1) { + filterItemsMonth() + } + if (filterPeriod === 2) { + filterItemsPrevMonth() + } + if (filterPeriod === 3) { + filterItemsThisQuarter() + } + if (filterPeriod === 4) { + filterItemsPrevQuarter() + } + if (filterPeriod === 5) { + filterItemsThisYear() + } + if (filterPeriod === 6) { + filterItemsPrevYear() + } } - } - function removeClass(obj, cls) { - var classes = obj.className.split(' '); + function removeClass(obj, cls) { + var classes = obj.className.split(' '); - for (var i = 0; i < classes.length; i++) { - if (classes[i] === cls) { - classes.splice(i, 1); - i--; + for (var i = 0; i < classes.length; i++) { + if (classes[i] === cls) { + classes.splice(i, 1); + i--; + } } + obj.className = classes.join(' '); } - obj.className = classes.join(' '); -} - function setActive(element) { - element.className +=' is_active_filter'; - } + function setActive(element) { + element.className += ' is_active_filter'; + } - function resetAllFilterStatus() { + function resetAllFilterStatus() { - for (var i = 0;i < filterLinks.length; i++ ) { - if (filterLinks[i].classList.contains('is_active_filter')) { - removeClass(filterLinks[i], 'is_active_filter') + for (var i = 0; i < filterLinks.length; i++) { + if (filterLinks[i].classList.contains('is_active_filter')) { + removeClass(filterLinks[i], 'is_active_filter') + } } - } - for (var j = 0;j < filterPeriodLinks.length; j++ ) { - if (filterPeriodLinks[j].classList.contains('is_active_filter')) { - removeClass(filterPeriodLinks[j], 'is_active_filter') + for (var j = 0; j < filterPeriodLinks.length; j++) { + if (filterPeriodLinks[j].classList.contains('is_active_filter')) { + removeClass(filterPeriodLinks[j], 'is_active_filter') + } } - } - } + } - function resetAnotherFilterStatus(element, typeLinks) { + function resetAnotherFilterStatus(element, typeLinks) { - if (typeLinks === 'type') { - for (var i = 0;i < filterLinks.length; i++ ) { - if (filterLinks[i] === element) { - // console.log(filterLinks[i]); - } else { - if (filterLinks[i].classList.contains('is_active_filter')) { - removeClass(filterLinks[i], 'is_active_filter') + if (typeLinks === 'type') { + for (var i = 0; i < filterLinks.length; i++) { + if (filterLinks[i] === element) { + // console.log(filterLinks[i]); + } else { + if (filterLinks[i].classList.contains('is_active_filter')) { + removeClass(filterLinks[i], 'is_active_filter') + } } } - } - } else { - for (var j = 0;j < filterPeriodLinks.length; j++ ) { - if (filterPeriodLinks[j] === element) { - // console.log(filterLinks[i]); - } else { - if (filterPeriodLinks[j].classList.contains('is_active_filter')) { - removeClass(filterPeriodLinks[j], 'is_active_filter') + } else { + for (var j = 0; j < filterPeriodLinks.length; j++) { + if (filterPeriodLinks[j] === element) { + // console.log(filterLinks[i]); + } else { + if (filterPeriodLinks[j].classList.contains('is_active_filter')) { + removeClass(filterPeriodLinks[j], 'is_active_filter') + } } } - } + } } - } - for (var i = 0;i < filterLinks.length; i++ ) { - filterLinks[i].addEventListener('click', function () { - setActive(this); - resetAnotherFilterStatus(this,'type'); - }) - } + for (var i = 0; i < filterLinks.length; i++) { + filterLinks[i].addEventListener('click', function () { + setActive(this); + resetAnotherFilterStatus(this, 'type'); + }) + } - for (var j = 0;j < filterPeriodLinks.length; j++ ) { - filterPeriodLinks[j].addEventListener('click', function () { - setActive(this); - resetAnotherFilterStatus(this, 'period'); - }) - } + for (var j = 0; j < filterPeriodLinks.length; j++) { + filterPeriodLinks[j].addEventListener('click', function () { + setActive(this); + resetAnotherFilterStatus(this, 'period'); + }) + } -}); + }); +})();