From 6a0d01e645b7d388c851bc5b0b830564e60aa736 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 수, 01 12월 2021 16:44:28 +0900
Subject: [PATCH] 이메일 수정 진행중 , 이슈 상세 및 이슈 리스트 수정

---
 src/main/webapp/scripts/app/issue/issueSendMail.controller.js |  124 ++++++++++++++++------------------------
 1 files changed, 50 insertions(+), 74 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueSendMail.controller.js b/src/main/webapp/scripts/app/issue/issueSendMail.controller.js
index 3643b48..d4cb1c6 100644
--- a/src/main/webapp/scripts/app/issue/issueSendMail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueSendMail.controller.js
@@ -5,71 +5,67 @@
         'angular'
     ],
     function (app, angular) {
-        app.controller('issueSendMailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$controller', '$injector', 'SweetAlert', '$filter', 'parameter', 'Issue',
-            function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $controller, $injector, SweetAlert, $filter, parameter, Issue) {
+        app.controller('issueSendMailController', ['$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) {
 
                 $scope.fn = {
                     getUserListCallBack : getUserListCallBack,  //  �궗�슜�옄 auto complete callback function
-                    removeManager : removeManager,  //  �쟾�넚 ���긽�옄 �궘�젣
                     cancel : cancel,    //  �뙘�뾽 李� �떕湲�
+                    getMails : getMails,
+                    removeMailTarget : removeMailTarget,
                     formSubmit : formSubmit,    //  �뤌 �쟾�넚
-                    // formCheck : formCheck  //  �뤌 泥댄겕
+                    formCheck : formCheck   //  �뤌 泥댄겕
                 };
 
-
                 $scope.vm = {
+                    companyVos : parameter.companyVos,
+                    ispVos : parameter.ispVos,
+                    hostingVos : parameter.hostingVos,
+                    partners : parameter.partnersAll.slice(),
                     form : {
                         id : parameter.issueId,  //  �씠�뒋 踰덊샇
                         projects : [{ id : parameter.projectId}],  //  �봽濡쒖젥�듃
-                        partners : parameter.partners,
-                        users : [],    //  硫붿씪 �쟾�넚諛쏅뒗 �궗�슜�옄
-                        issueCompanyVos : [],
-                        issueIspVos : [],
-                        issueHostingVos : []
-                        // companyFields : parameter.issueCompanyFields,  //  �뾽泥� �씠硫붿씪
-                        // ispFields : parameter.issueIspFields,  //  ISP �씠硫붿씪
-                        // hostingFields : parameter.issueHostingFields,  //  �샇�뒪�똿 �씠硫붿씪
+                        mailUsers : parameter.partners.slice()   //  硫붿씪 �쟾�넚諛쏅뒗 �궗�슜�옄
                     },
                     userName : "",
-                    partnerName : "",
                     autoCompletePage : {
                         user : {
                             page : 0,
                             totalPage : 0
-                        },
-                        partnersMail : {
-                            page : 0,
-                            totalPage :0
                         }
                     }
                 };
 
-
-
                 angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
 
-                // function formCheck(formInvalid) {
-                //     if (formInvalid) {
-                //         return true;
-                //     }
-                //
-                //     if ($scope.vm.form.users.length < 1) {
-                //         return true;
-                //     }
-                //
-                //     return false;
-                // }
+                //  �궗�슜�옄 �궘�젣
+                function removeMailTarget(index) {
+                    $scope.vm.form.mailUsers.splice(index, 1);
+                }
+
+                function formCheck(formInvalid) {
+                    if (formInvalid) {
+                        return true;
+                    }
+
+                    if ($scope.vm.form.mailUsers.length < 1) {
+                        return true;
+                    }
+
+                    return false;
+                }
 
                 //  �뤌 �쟾�넚
                 function formSubmit() {
                     $rootScope.spinner = true;
+
                     var content = {
                         id : $scope.vm.form.id,
                         sendEmails : (function () {
                             var sendEmails = [];
 
-                            angular.forEach($scope.vm.form.projects, function (project) {
-                                sendEmails.push(project.id);
+                            angular.forEach($scope.vm.form.mailUsers, function (user) {
+                                sendEmails.push($rootScope.encryption(user.account));
                             });
 
                             return sendEmails;
@@ -92,50 +88,9 @@
                     });
                 }
 
-                // function formSubmit() {
-                //     $rootScope.spinner = true;
-                //
-                //     var content = {
-                //         id : $scope.vm.form.id,
-                //         companyFieldsEmail : $scope.vm.form.companyFieldsEmail,
-                //         ispFieldsEmail : $scope.vm.form.ispFieldsEmail,
-                //         hostingFieldsEmail : $scope.vm.form.hostingFieldsEmail,
-                //         sendEmails : (function () {
-                //             var sendEmails = [];
-                //
-                //             angular.forEach($scope.vm.form.projects, function (project) {
-                //                 sendEmails.push(project.id);
-                //             });
-                //
-                //             return sendEmails;
-                //         })()
-                //     };
-                //
-                //     Issue.findMailTargetAll($resourceProvider.getContent(
-                //         content,
-                //         $resourceProvider.getPageContent(0, 10))).then(function (result) {
-                //
-                //         if (result.data.message.status === "success") {
-                //             SweetAlert.success($filter("translate")("issue.succeededIssueMail"), $filter("translate")("issue.sentToTheSelectedUser")); // "�씠�뒋 硫붿씪 諛쒖넚 �셿猷�"
-                //             $scope.fn.cancel();
-                //         }
-                //         else {
-                //             SweetAlert.error($filter("translate")("issue.failedIssueMail"), result.data.message.message); // "�씠�뒋 硫붿씪 諛쒖넚 �떎�뙣"
-                //         }
-                //
-                //         $rootScope.spinner = false;
-                //     });
-                // }
-
-
                 //  �궗�슜�옄 auto complete callback function
                 function getUserListCallBack(result) {
                     $scope.vm.autoCompletePage.user.totalPage = result.data.page.totalPage;
-                }
-
-                //  �쟾�넚 ���긽�옄 �궘�젣
-                function removeManager(index) {
-                    $scope.vm.form.users.splice(index, 1);
                 }
 
                 function cancel() {
@@ -143,5 +98,26 @@
                     $uibModalInstance.dismiss('cancel');
                     $(document).unbind("keydown");  //  �떒異뺥궎 �씠踰ㅽ듃 �젣嫄�
                 }
+
+                function getMails(excludeList) {
+                    var deferred = $q.defer();
+
+                    var partners = [];
+                    if (excludeList != null && excludeList.length > 0) {
+                        $scope.vm.partners.forEach(function (partner) {
+                            excludeList.forEach(function (exclude) {
+                                if (partner.id !== exclude.id) {
+                                    partners.push(partner);
+                                }
+                            });
+                        });
+                    } else {
+                        partners = $scope.vm.partners;
+                    }
+
+                    deferred.resolve(partners);
+
+                    return deferred.promise;
+                }
             }]);
     });

--
Gitblit v1.8.0