diff --git a/modules/weko-admin/weko_admin/static/js/weko_admin/app.js b/modules/weko-admin/weko_admin/static/js/weko_admin/app.js index fc79e930fe..ed07a1f62e 100644 --- a/modules/weko-admin/weko_admin/static/js/weko_admin/app.js +++ b/modules/weko-admin/weko_admin/static/js/weko_admin/app.js @@ -28,9 +28,12 @@ $scope.fetch=function(result){ $scope.dbJson = angular.fromJson(result.slice(2,-2).replace(/\n/g,'\\n')); console.log($scope.dbJson); - for(var data in $scope.dbJson.site_license){ - var b = {ipCheckFlg:false,ipRangeCheck:false}; - $scope.ipCheckFlgArry.push(b); + for(let i=0;i < $scope.dbJson.site_license.length;i++){ + $scope.ipCheckFlgArry[i] =[]; + for(let j=0;j < $scope.dbJson.site_license[i].addresses.length; j++){ + const b = {ipCheckFlg:false,ipRangeCheck:false}; + $scope.ipCheckFlgArry[i][j]=b; + } } }; @@ -54,7 +57,15 @@ $scope.addNewRowRange = function(ipIndex) { var ipAddressRange = {start_ip_address:[],finish_ip_address:[]}; $scope.dbJson.site_license[ipIndex].addresses.push(ipAddressRange); + const subCheckFlg = {ipCheckFlg:false,ipRangeCheck:false}; + $scope.ipCheckFlgArry[ipIndex].push(subCheckFlg); } + + $scope.removeIpAddress = function(ipIndex,index,index2) { + index.addresses.splice(ipIndex,1); + $scope.ipCheckFlgArry[index2].splice(ipIndex,1); + } + //add a new site License $scope.addNewRowSiteLicense = function() { var siteLicenseJson = { @@ -67,8 +78,7 @@ $scope.dbJson.site_license.push(siteLicenseJson); var subCheckFlg = {ipCheckFlg:false,ipRangeCheck:false}; - $scope.ipCheckFlgArry.push(subCheckFlg); - + $scope.ipCheckFlgArry.push([subCheckFlg]); } // delete selected site License $scope.deleteSiteLicense = function(ipIndex){ @@ -99,33 +109,19 @@ } //commit $scope.commitData=function(){ - var dbjosn = $scope.dbJson; - for(var chk1 in dbjosn.site_license){ - for(var chk2 in dbjosn.site_license[chk1].addresses){ - var saddr = ""; - var faddr = ""; - for(var i=0; i<4; i++){ - tmp_s=dbjosn.site_license[chk1].addresses[chk2].start_ip_address[i]; - if (typeof tmp_s!=='undefined' && tmp_s.length > 0) { - saddr += ("00" + tmp_s).slice(-3); - } - tmp_f=dbjosn.site_license[chk1].addresses[chk2].finish_ip_address[i] - if (typeof tmp_f!=='undefined' && tmp_f.length > 0) { - faddr += ("00" + tmp_f).slice(-3); - } - } - - if (!saddr || !faddr){ - $scope.ipCheckFlgArry[chk1].ipCheckFlg = true; - } - else if (parseInt(saddr) > parseInt(faddr)){ - $scope.ipCheckFlgArry[chk1].ipRangeCheck = true; - return; - } - } - $scope.ipCheckFlgArry[chk1].ipRangeCheck = false; + rangeCheck($scope); + let isError = false; + + outerLoop: + for(let i=0;i < $scope.dbJson.site_license.length;i++){ + for(let j=0;j < $scope.dbJson.site_license[i].addresses.length; j++){ + if($scope.ipCheckFlgArry[i][j].ipCheckFlg === true || $scope.ipCheckFlgArry[i][j].ipRangeCheck === true ){ + isError = true; + break outerLoop; + } + } } - isError = $scope.ipCheckFlgArry.filter(function(item){ return item.ipCheckFlg === true || item.ipRangeCheck === true })[0]; + if (!isError) { var url = $location.path(); dbJson = $scope.dbJson; @@ -139,13 +135,13 @@ } //入力チェック - $scope.chcckStr=function(str,p_index){ + $scope.checkStr=function(str,p_index,index){ var checkStr1 = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/; //正整数 var flg = checkStr1.test(str); if(!flg){ - $scope.ipCheckFlgArry[p_index].ipCheckFlg = true; + $scope.ipCheckFlgArry[p_index][index].ipCheckFlg = true; }else{ - $scope.ipCheckFlgArry[p_index].ipCheckFlg = false; + $scope.ipCheckFlgArry[p_index][index].ipCheckFlg = false; } } } @@ -170,3 +166,33 @@ document.getElementById('siteLicense'), ['siteLicenseModule']); }); })(angular); + +function rangeCheck($scope){ + const dbjosn = $scope.dbJson; + for(let chk1=0;chk1 0) { + saddr += ("00" + tmp_s).slice(-3); + } + let tmp_f=dbjosn.site_license[chk1].addresses[chk2].finish_ip_address[i] + if (typeof tmp_f!=='undefined' && tmp_f.length > 0) { + faddr += ("00" + tmp_f).slice(-3); + } + } + + if (!saddr || !faddr){ + $scope.ipCheckFlgArry[chk1][chk2].ipCheckFlg = true; + } + else if (parseInt(saddr) > parseInt(faddr)){ + $scope.ipCheckFlgArry[chk1][chk2].ipRangeCheck = true; + } + else{ + $scope.ipCheckFlgArry[chk1][chk2].ipRangeCheck = false; + } + } + } +} \ No newline at end of file diff --git a/modules/weko-admin/weko_admin/static/js/weko_admin/site_license_send_mail_settings.js b/modules/weko-admin/weko_admin/static/js/weko_admin/site_license_send_mail_settings.js index 135ff91be4..b14aa44b4f 100644 --- a/modules/weko-admin/weko_admin/static/js/weko_admin/site_license_send_mail_settings.js +++ b/modules/weko-admin/weko_admin/static/js/weko_admin/site_license_send_mail_settings.js @@ -8,7 +8,7 @@ $('#confirm_send_button').on('click', function () { alert('Selected period is wrong!'); return; } - let start_month = $("#from_year_select").val() + '-' + paddingLeft($("#from_month_select").val(), 2); + let start_month = $("#from_year_select").val() + '-' + paddingLeft($("#from_month_select").val(), 2); let end_month = $("#to_year_select").val() + '-' + paddingLeft($("#to_month_select").val(), 2); $.ajax({ url: '/api/admin/sitelicensesendmail/send/' + start_month + '/' + end_month, @@ -41,7 +41,6 @@ $('input:checkbox[id^="send_mail_flag_"]').change(function() { $('#save_settings').on('click', function() { let auto_send_flag = $('input:radio[id="enable_auto_send"]')[0].checked ? true : false; - //let check_list = document.querySelectorAll("[id^=send_mail_flag_]"); let data = {}; data['auto_send_flag'] = auto_send_flag; data['checked_list'] = checked_list @@ -68,3 +67,29 @@ function paddingLeft(str,lenght){ else return paddingLeft("0" +str,lenght); } + +$('#all-check').on('change', function () { + document.querySelectorAll('[id^="send_mail_flag_"]').forEach(el => { + if (!(el.disabled)) { + if ($('#all-check').prop('checked')) { + el.checked = true; + checked_list[el.name] = 'T'; + } + else { + el.checked = false; + checked_list[el.name] = 'F'; + } + } + }) +}); + +$(document).ready(function() { + let checkList = Array.from(document.querySelectorAll("[id^=send_mail_flag_]")).filter(el => el.disabled === false); + const allChecked = checkList.length>0 && Array.from(checkList).every(el => el.checked); + if (allChecked) { + $('#all-check').prop('checked',true); + } + else{ + $('#all-check').prop('checked',false); + } +}); diff --git a/modules/weko-admin/weko_admin/templates/weko_admin/admin/site_license_send_mail_settings.html b/modules/weko-admin/weko_admin/templates/weko_admin/admin/site_license_send_mail_settings.html index 858694ba50..ac0ca24132 100644 --- a/modules/weko-admin/weko_admin/templates/weko_admin/admin/site_license_send_mail_settings.html +++ b/modules/weko-admin/weko_admin/templates/weko_admin/admin/site_license_send_mail_settings.html @@ -38,9 +38,9 @@ - - - + + + @@ -76,14 +76,14 @@

{{_('Automatic Send')}}

{{_('Organization')}}{{_('Email Address')}}{{_('Send')}}
{{_('Organization')}}{{_('Email Address')}}
-

{{_('Select "Send" to automatically send a use of site license statistics email to the checked the organization.')}}

+

{{_('Select "Enable" to automatically send a use of site license statistics email to the checked the organization.')}}

@@ -109,7 +109,7 @@

{{_('Manual Send')}}

- {{_('Aggregation month')}} + {{_('Aggregation period')}} -
+
. . . - . . . + +   + {{_('Delete')}} + + {{_('Please input a correct number.')}} + {{_('The range of ipAddress is not correct.')}}

- {{_('Please input a correct number')}} - {{_('The range of ipAddress is not correct')}}