From 125084f587f86785cda54223848b6ae22310af59 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 14 1월 2022 14:35:53 +0900 Subject: [PATCH] 업체에서 여러 이메일 추가 시 이슈에서 메일 보낼 때 분리 --- src/main/webapp/scripts/components/utils/autoComplete.controller.js | 14 +++++- src/main/webapp/views/workspace/workspaceUserLevelConfig.html | 2 src/main/webapp/i18n/ko/global.json | 1 src/main/webapp/views/issue/issueSendMailPartners.html | 13 +++--- src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js | 45 +++++++++++++++++++++- src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js | 6 +++ src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js | 4 +- src/main/webapp/views/workspace/workspaceDepartmentConfig.html | 2 8 files changed, 71 insertions(+), 16 deletions(-) diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json index 0aba0af..2803b28 100644 --- a/src/main/webapp/i18n/ko/global.json +++ b/src/main/webapp/i18n/ko/global.json @@ -293,6 +293,7 @@ "CommonSendIssueMail": "�씪諛� 硫붿씪 諛쒖넚", "SendIssueMail": "硫붿씪 諛쒖넚 �엯�젰", "sendIssueSelectedUsers": "�봽濡쒖젥�듃�뿉 李몄뿬�븯怨� �엳�뒗 �떎瑜� �궗�슜�옄�뿉寃� �씠�뒋 �젙蹂대�� 蹂대깄�땲�떎.", + "sendIssueSelectedPartners": "�빐�떦 �씠�뒋�쓽 �냽�빐 �엳�뒗 �뙆�듃�꼫 �떞�떦�옄�뿉寃� �씠�뒋 �젙蹂대�� 蹂대깄�땲�떎.", "sendMail": "�씠硫붿씪 諛쒖넚", "changedHistory": "�씠�뒋 蹂�寃� �씠�젰 �긽�꽭�젙蹂�", "noChangeHistory": "�씠�뒋 蹂�寃� �젙蹂닿� �뾾�뒿�땲�떎.", diff --git a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js index 32b7a6e..14d5895 100644 --- a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js +++ b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js @@ -16,7 +16,8 @@ formSubmit : formSubmit, // �뤌 �쟾�넚 formCheck : formCheck, // �뤌 泥댄겕 onChangeEmailTemplate : onChangeEmailTemplate, // �씠硫붿씪 �뀥�뵆由� �꽑�깮�떆 �떎�뻾 - getEmailTemplateList : getEmailTemplateList // �씠硫붿씪 �뀥�뵆由� 紐⑸줉 媛��졇�삤湲� + getEmailTemplateList : getEmailTemplateList, // �씠硫붿씪 �뀥�뵆由� 紐⑸줉 媛��졇�삤湲� + getAccount : getAccount }; $scope.vm = { @@ -29,7 +30,8 @@ form : { id : parameter.issueId, // �씠�뒋 踰덊샇 projects : [{ id : parameter.projectId}], // �봽濡쒖젥�듃 - mailUsers : parameter.partners.slice() // 硫붿씪 �쟾�넚諛쏅뒗 �궗�슜�옄 + mailUsers : parameter.partners.slice(), // 硫붿씪 �쟾�넚諛쏅뒗 �궗�슜�옄 + account : [{account : [], name : [], id : []}], }, userName : "", autoCompletePage : { @@ -98,7 +100,7 @@ // �궗�슜�옄 �궘�젣 function removeMailTarget(index) { - $scope.vm.form.mailUsers.splice(index, 1); + $scope.vm.form.account[0].account.splice(index, 1); } function formCheck(formInvalid) { @@ -181,6 +183,43 @@ return deferred.promise; } + // 硫붿씪 二쇱냼 異붿텧 + function getAccount(partners) { + if (partners != null) { + var index = partners.length-1; + var id = partners[index].id; + var name = partners[index].name; + var account = partners[index].account.split(","); + + for (var i = 0; i < account.length; i++) { + $scope.vm.form.account[0].id[index+i] = id; + $scope.vm.form.account[0].account[index+i] = account[i].trim(); + $scope.vm.form.account[0].name[index+i] = name; + } + } else { + if (parameter.partners != null) { + var account = ""; + var name = ""; + var id = ""; + angular.forEach(parameter.partners, function (partner) { + id = partner.id; + account = partner.account.split(","); + name = partner.name; + }); + for (var i = 0; i < account.length; i++) { + $scope.vm.form.account[0].id[i] = id; + $scope.vm.form.account[0].account[i] = account[i].trim(); + $scope.vm.form.account[0].name[i] = name; + } + } + } + } + + $scope.$on("getMailTarget", function (event, result) { + $scope.fn.getAccount(result); + }); + + $scope.fn.getAccount(); $scope.fn.getEmailTemplateList(); }]); diff --git a/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js b/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js index 62ce1fd..3a6a5a3 100644 --- a/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js +++ b/src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js @@ -17,6 +17,7 @@ $scope.fn.getDepartmentList = getDepartmentList; // 遺��꽌 愿�由� 由ъ뒪�듃 $scope.fn.makeTableConfigs = makeTableConfigs; // 遺��꽌 愿�由� 紐⑸줉 �뀒�씠釉� �꽕�젙 $scope.fn.initSearchDepartment = initSearchDepartment; // 寃��깋 議곌굔 珥덇린�솕 + $scope.fn.changeDepartmentPageRowCount = changeDepartmentPageRowCount; $scope.fn.departmentAdd = departmentAdd; // 遺��꽌 異붽� $scope.fn.removeDepartments = removeDepartments; // 遺��꽌 �궘�젣 @@ -52,6 +53,11 @@ $scope.fn.getDepartmentList(0); } + // 遺��꽌 紐⑸줉 蹂닿린 媛쒖닔 蹂�寃� + function changeDepartmentPageRowCount() { + $scope.fn.getDepartmentList(0); + } + // 遺��꽌 愿�由� �뀒�씠釉� �꽕�젙 function makeTableConfigs() { $scope.vm.tableConfigs2 = []; diff --git a/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js b/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js index 1d4158b..d9eff60 100644 --- a/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js +++ b/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js @@ -17,7 +17,7 @@ $scope.fn.getUserLevelList = getUserLevelList; // �궗�슜�옄 �벑湲� 愿�由� 由ъ뒪�듃 $scope.fn.makeTableConfigs = makeTableConfigs; // �궗�슜�옄 �벑湲� 愿�由� 紐⑸줉 �뀒�씠釉� �꽕�젙 $scope.fn.initSearchUserLevel = initSearchUserLevel; // 寃��깋 議곌굔 珥덇린�솕 - $scope.fn.changePageRowCount = changePageRowCount; // �뾽臾� 怨듦컙 李몄뿬 �궗�슜�옄 紐⑸줉 蹂닿린 媛쒖닔 蹂�寃� + $scope.fn.changePageRowCount = changeLevelPageRowCount; // �뾽臾� 怨듦컙 李몄뿬 �궗�슜�옄 紐⑸줉 蹂닿린 媛쒖닔 蹂�寃� $scope.fn.levelAdd = levelAdd; // �벑湲� 異붽� $scope.fn.removeLevels = removeLevels; // �궗�슜�옄 �벑湲� �궘�젣 $scope.fn.makeSearchConditions = makeSearchConditions; @@ -170,7 +170,7 @@ } // �벑湲� 紐⑸줉 蹂닿린 媛쒖닔 蹂�寃� - function changePageRowCount() { + function changeLevelPageRowCount() { $scope.fn.getUserLevelList(0); } diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js index 456ab56..e0c6fe9 100644 --- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js +++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js @@ -713,11 +713,19 @@ var deferred = $q.defer(); var partners = $scope.vm.partners.slice(); - if (excludeList != null && excludeList.length > 0) { + if (excludeList != null && excludeList.id.length > 0) { + var filterData = excludeList.id.filter(function(item, idx){ + return excludeList.id.findIndex(function(item2, idx2){ + return item === item2 + }) == idx; + }); for (let i = partners.length - 1 ; i >= 0 ; i--) { - excludeList.forEach(function (exclude) { - if (partners[i].id === exclude.id) { + filterData.forEach(function (exclude) { + if (partners[i] !== null && partners[i].id === exclude) { partners.splice(i, 1); + if (partners[i] == null) { + return false; + } } }); } diff --git a/src/main/webapp/views/issue/issueSendMailPartners.html b/src/main/webapp/views/issue/issueSendMailPartners.html index 40eb4af..ab05a33 100644 --- a/src/main/webapp/views/issue/issueSendMailPartners.html +++ b/src/main/webapp/views/issue/issueSendMailPartners.html @@ -11,10 +11,10 @@ <div class="modal-body"> <form role="form" name="issueSendForm"> <div class="form-group"> - <small translate="issue.sendIssueSelectedUsers">�봽濡쒖젥�듃�뿉 李몄뿬�븯怨� �엳�뒗 �떎瑜� �궗�슜�옄�뿉寃� �씠�뒋 �젙蹂대�� 蹂대깄�땲�떎.</small> + <small translate="issue.sendIssueSelectedPartners">�봽濡쒖젥�듃�뿉 李몄뿬�븯怨� �엳�뒗 �떎瑜� �궗�슜�옄�뿉寃� �씠�뒋 �젙蹂대�� 蹂대깄�땲�떎.</small> <div class="select3-selection__choicediv"> - <span class="select3-selection__choice" ng-repeat="user in vm.form.mailUsers"> - <span>{{user.name}}({{user.account}})</span> + <span class="select3-selection__choice" ng-repeat="user in vm.form.account[0].account"> + <span>{{vm.form.account[0].name[$index]}}({{user}})</span> <span class="select3-selection__choice__remove" ng-click="fn.removeMailTarget($index)">횞</span> </span> @@ -26,14 +26,15 @@ <js-input-autocomplete data-input-name="mailUsers" owl-auto-focus target=".auto-complete-i0nput" - selected-model="vm.form.mailUsers" + selected-model="vm.form.account[0].account" custom-input="true" search="vm.userName" page="vm.autoCompletePage.user.page" total-page="vm.autoCompletePage.user.totalPage" - source="fn.getMailTargetAll(vm.form.mailUsers)" + source="fn.getMailTargetAll(vm.form.account[0])" translation-texts="{ empty : 'common.emptyCompanyPartners'}" - input-disabled="vm.form.mailUsers == null" + input-disabled="vm.form.account[0].account == null" + broad-cast="getMailTarget" extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : 'profile', type : 'partner', maxlength : 100, autoResize : true, stopRemoveBodyEvent : true }"></js-input-autocomplete> diff --git a/src/main/webapp/views/workspace/workspaceDepartmentConfig.html b/src/main/webapp/views/workspace/workspaceDepartmentConfig.html index eab49e3..6b2ab8d 100644 --- a/src/main/webapp/views/workspace/workspaceDepartmentConfig.html +++ b/src/main/webapp/views/workspace/workspaceDepartmentConfig.html @@ -34,7 +34,7 @@ <label> <select name="pageRow" class="form-control form-control-sm" - ng-change="fn.changePageRowCount()" + ng-change="fn.changeDepartmentPageRowCount()" ng-model="vm.page.selectedPageRowCount"> <option value="10">10</option> <option value="50">50</option> diff --git a/src/main/webapp/views/workspace/workspaceUserLevelConfig.html b/src/main/webapp/views/workspace/workspaceUserLevelConfig.html index d040258..d9e25af 100644 --- a/src/main/webapp/views/workspace/workspaceUserLevelConfig.html +++ b/src/main/webapp/views/workspace/workspaceUserLevelConfig.html @@ -34,7 +34,7 @@ <label> <select name="pageRow" class="form-control form-control-sm" - ng-change="fn.changePageRowCount()" + ng-change="fn.changeLevelPageRowCount()" ng-model="vm.page.selectedPageRowCount"> <option value="10">10</option> <option value="50">50</option> -- Gitblit v1.8.0