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