From 2b5c6c4c2b6d54ec4a2f2ba57561d8912065e0ee Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 19 1월 2022 15:48:28 +0900
Subject: [PATCH] - 전체프로젝트가 선택 된 상태에서 ISSUE TYPE LIST 선택 시에도 전체프로젝트로 유지되도록 수정 - 전체 프로젝트 또는 전체 이슈 일 경우에도 '이슈 만들기' 버튼 보이도록 수정(만들기 폼에서 프로젝트,이슈유형 수정가능하도록)

---
 src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js |  171 ++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 133 insertions(+), 38 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
index 683d4f0..b8a9902 100644
--- a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
@@ -5,8 +5,8 @@
         'angular'
     ],
     function (app, angular) {
-        app.controller('issueSendMailPartnersController', ['$scope', '$rootScope', '$q','$log', '$resourceProvider', '$uibModalInstance', '$controller', '$injector', 'SweetAlert', '$filter', 'parameter', 'Issue',
-            function ($scope, $rootScope, $q, $log, $resourceProvider, $uibModalInstance, $controller, $injector, SweetAlert, $filter, parameter, Issue) {
+        app.controller('issueSendMailPartnersController', ['$scope', '$rootScope', '$q','$log', '$resourceProvider', '$uibModalInstance', '$controller', '$injector', 'SweetAlert', '$filter', 'parameter', 'Issue', 'EmailTemplate',
+            function ($scope, $rootScope, $q, $log, $resourceProvider, $uibModalInstance, $controller, $injector, SweetAlert, $filter, parameter, Issue, EmailTemplate) {
 
                 $scope.fn = {
                     getUserListCallBack : getUserListCallBack,  //  �궗�슜�옄 auto complete callback function
@@ -15,8 +15,9 @@
                     removeMailTarget : removeMailTarget,
                     formSubmit : formSubmit,    //  �뤌 �쟾�넚
                     formCheck : formCheck,   //  �뤌 泥댄겕
-                    changeTemplate : changeTemplate,
-                    // showEmailTemplate : showEmailTemplate,
+                    onChangeEmailTemplate : onChangeEmailTemplate, // �씠硫붿씪 �뀥�뵆由� �꽑�깮�떆 �떎�뻾
+                    getEmailTemplateList : getEmailTemplateList, // �씠硫붿씪 �뀥�뵆由� 紐⑸줉 媛��졇�삤湲�
+                    getAccount : getAccount
                 };
 
                 $scope.vm = {
@@ -24,11 +25,13 @@
                     ispVos : parameter.ispVos,
                     hostingVos : parameter.hostingVos,
                     partners : parameter.partnersAll.slice(),
+                    html : "",
+                    tab : "SEND_TEMPLATE",
                     form : {
                         id : parameter.issueId,  //  �씠�뒋 踰덊샇
-                        template : "ISSUE_SEND_2",
                         projects : [{ id : parameter.projectId}],  //  �봽濡쒖젥�듃
-                        mailUsers : parameter.partners.slice()   //  硫붿씪 �쟾�넚諛쏅뒗 �궗�슜�옄
+                        mailUsers : parameter.partners.slice(),   //  硫붿씪 �쟾�넚諛쏅뒗 �궗�슜�옄
+                        account : [{account : [], name : [], id : []}],
                     },
                     userName : "",
                     autoCompletePage : {
@@ -36,14 +39,70 @@
                             page : 0,
                             totalPage : 0
                         }
-                    }
+                    },
+                    emailTitle : "",
+                    emailTemplateId : -1,
+                    emailTemplates : [],
+                    emailTemplateType : "",
                 };
 
                 angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
 
+                function onChangeEmailTemplate() {
+                    var content = {
+                        templateType : $scope.vm.emailTemplateType,
+                        issueId : parameter.issueId
+                    }
+                    EmailTemplate.find($resourceProvider.getContent(
+                        content,
+                        $resourceProvider.getPageContent(0, 10))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            $scope.vm.html = result.data.data.template;
+                        }
+                        else {
+                            $scope.vm.html = "";
+                            //SweetAlert.warning($filter("translate")("issue.selectedPartnersMail"),$filter("translate")("issue.selectedPartnersTemplate")); // option �꽑�깮 寃쎄퀬
+                        }
+
+                        $rootScope.spinner = false;
+                    });
+                }
+
+                function getEmailTemplateList() {
+                    $scope.vm.emailTemplates.push({
+                            templateType : "ISSUE_SEND_1",
+                            title : "�뀥�뵆由�1"
+                    });
+
+                    $scope.vm.emailTemplates.push({
+                            templateType : "ISSUE_SEND_2",
+                            title : "�뀥�뵆由�2"
+                    });
+
+
+                    $scope.vm.emailTemplates.push({
+                            templateType : "ISSUE_SEND_3",
+                            title : "�뀥�뵆由�3"
+                    });
+
+                    $scope.vm.emailTemplateId = 1;
+                    $scope.vm.emailTitle = "";
+                    if ($rootScope.isDefined($scope.vm.emailTemplateType)) {
+                        $scope.vm.emailTemplates.forEach(function (emailTemplate) {
+                            if (emailTemplate.templateType === $scope.vm.emailTemplateType) {
+                                $scope.vm.emailTitle = emailTemplate.title;
+                            }
+                        })
+                    }
+                }
+
+
                 //  �궗�슜�옄 �궘�젣
                 function removeMailTarget(index) {
-                    $scope.vm.form.mailUsers.splice(index, 1);
+                    $scope.vm.form.account[0].account.splice(index, 1);
+                    $scope.vm.form.account[0].name.splice(index, 1);
+                    $scope.vm.form.account[0].id.splice(index, 1);
                 }
 
                 function formCheck(formInvalid) {
@@ -62,14 +121,16 @@
                 function formSubmit() {
                     $rootScope.spinner = true;
                     var content = {
-                        id : $scope.vm.form.id,
-                        template : $scope.vm.form.template,
+                        id : $scope.vm.emailTemplateId,
+                        template : $scope.vm.html,
+                        title : $scope.vm.emailTitle,
+                        issueId : $scope.vm.form.id,
                         sendEmails : (function () {
                             var sendEmails = [];
 
-                            angular.forEach($scope.vm.form.mailUsers, function (user) {
-                                sendEmails.push($rootScope.encryption(user.account));
-                            });
+                            for(var i=0; i < $scope.vm.form.account[0].account.length; i++) {
+                                sendEmails.push($rootScope.encryption($scope.vm.form.account[0].account[i]));
+                            }
 
                             return sendEmails;
                         })(),
@@ -124,36 +185,70 @@
                     return deferred.promise;
                 }
 
-                function changeTemplate(templateId){
-                    $scope.vm.form.template = templateId;
+                // 硫붿씪 二쇱냼 異붿텧
+                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;
 
-                    var elements = document.getElementsByClassName("TemplateIMG");
-                    for (let i = elements.length - 1; i >= 0; i--) {
-                        if (elements[i].id === templateId) {
-                            elements[i].className += " TemplateIMG-selected";
+                        if(account != null && account.indexOf(",") !== -1) {
+                            account = partners[index].account.split(",");
+                            for (var i = 0; i < account.length; i++) {
+                                $scope.vm.form.account[0].account[index+i] = account[i].trim();
+                                $scope.vm.form.account[0].name[index+i] = name;
+                                $scope.vm.form.account[0].id[index+i] = id;
+                            }
                         } else {
-                            elements[i].className = "TemplateIMG";
+                            $scope.vm.form.account[0].account[index] = account;
+                            $scope.vm.form.account[0].name[index] = name;
+                            $scope.vm.form.account[0].id[index] = id;
+                        }
+                    } else {
+                        if (parameter.partners != null) {
+                            var account = "";
+                            var name = "";
+                            var id = "";
+                            var accountArr = [];
+                            var nameArr = [];
+                            var idArr =[];
+                            angular.forEach(parameter.partners, function (partner) {
+                                id = partner.id;
+                                account = partner.account;
+                                name = partner.name;
+                                if(account != null && account.indexOf(",") !== -1) {
+                                    //硫붿씪二쇱냼媛� �뿬�윭媛쒖씪寃쎌슦 遺꾨━ 諛� 怨듬갚 �젣嫄�
+                                    account = partner.account.split(",");
+                                    for (var i = 0; i < account.length; i++) {
+                                        accountArr.push(account[i].trim());
+                                        nameArr.push(name);
+                                        idArr.push(id);
+                                    }
+                                } else {
+                                    accountArr.push(account);
+                                    nameArr.push(name);
+                                    idArr.push(id);
+                                }
+                            });
+                            if(accountArr != null && accountArr.length > 0) {
+                                for (var i = 0; i < accountArr.length; i++) {
+                                    $scope.vm.form.account[0].account[i] = accountArr[i];
+                                    $scope.vm.form.account[0].name[i] = nameArr[i];
+                                    $scope.vm.form.account[0].id[i] = idArr[i];
+                                }
+                            }
                         }
                     }
-
-                    // for(let i = 0 ; i <= 3 ; i++){
-                    //     $('#ISSUE_SEND_'+i).click(function(){
-                    //         $('#Email-Template'+i,'#Email-Template4').slideToggle('slow');
-                    //     });
-                    // }
-
-                    $("#ISSUE_SEND_1").click(function () {
-                        $("#Email-Template1,#Email-Template4").slideToggle(0);
-                    });
-
-                    $("#ISSUE_SEND_2").click(function () {
-                        $("#Email-Template2,#Email-Template4").slideToggle(0);
-                    });
-
-                    $("#ISSUE_SEND_3").click(function() {
-                        $("#Email-Template3,#Email-Template4").slideToggle(0);
-                    });
                 }
+
+                $scope.$on("getMailTarget", function (event, result) {
+                    $scope.fn.getAccount(result);
+                });
+
+                $scope.fn.getAccount();
+                $scope.fn.getEmailTemplateList();
+
             }]);
 
     });

--
Gitblit v1.8.0