From e5129daaeb5bdbee1f5a8df586210387a9bba029 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 수, 01 12월 2021 17:55:29 +0900
Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa

---
 src/main/webapp/scripts/app/issue/issueSendMail.controller.js |   81 ++++++++++++++++++++++++++++++++++------
 1 files changed, 69 insertions(+), 12 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueSendMail.controller.js b/src/main/webapp/scripts/app/issue/issueSendMail.controller.js
index 29e991e..24b2e5b 100644
--- a/src/main/webapp/scripts/app/issue/issueSendMail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueSendMail.controller.js
@@ -5,22 +5,27 @@
         '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   //  �뤌 泥댄겕
                 };
 
                 $scope.vm = {
+                    companyVos : parameter.companyVos,
+                    ispVos : parameter.ispVos,
+                    hostingVos : parameter.hostingVos,
+                    partners : parameter.partnersAll.slice(),
                     form : {
                         id : parameter.issueId,  //  �씠�뒋 踰덊샇
                         projects : [{ id : parameter.projectId}],  //  �봽濡쒖젥�듃
-                        users : []    //  硫붿씪 �쟾�넚諛쏅뒗 �궗�슜�옄
+                        mailUsers : parameter.partners.slice()   //  硫붿씪 �쟾�넚諛쏅뒗 �궗�슜�옄
                     },
                     userName : "",
                     autoCompletePage : {
@@ -33,12 +38,17 @@
 
                 angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
 
+                //  �궗�슜�옄 �궘�젣
+                function removeMailTarget(index) {
+                    $scope.vm.form.mailUsers.splice(index, 1);
+                }
+
                 function formCheck(formInvalid) {
                     if (formInvalid) {
                         return true;
                     }
 
-                    if ($scope.vm.form.users.length < 1) {
+                    if ($scope.vm.form.mailUsers.length < 1) {
                         return true;
                     }
 
@@ -54,12 +64,42 @@
                         sendEmails : (function () {
                             var sendEmails = [];
 
-                            angular.forEach($scope.vm.form.users, function (user) {
+                            angular.forEach($scope.vm.form.mailUsers, function (user) {
                                 sendEmails.push($rootScope.encryption(user.account));
                             });
 
                             return sendEmails;
-                        })()
+                        })(),
+                        companyVos : (function () {
+                            var companyVos = [];
+
+                            angular.forEach($scope.vm.companyVos, function (company) {
+                                companyVos.push(company);
+                            });
+
+                            return companyVos;
+                        })(),
+                        ispVos : (function () {
+                            var ispVos = [];
+
+                            angular.forEach($scope.vm.ispVos, function (isp) {
+                                ispVos.push(isp);
+                            });
+
+                            return ispVos;
+                        })(),
+                        hostingVos : (function () {
+                            var hostingVos = [];
+
+                            angular.forEach($scope.vm.hostingVos, function (hosting) {
+                                hostingVos.push(hosting);
+                            });
+
+                            return hostingVos;
+                        })(),
+                        // companyVos : parameter.companyVos,
+                        // ispVos : parameter.ispVos,
+                        // hostingVos : parameter.hostingVos,
                     };
 
                     Issue.sendEmail($resourceProvider.getContent(
@@ -83,15 +123,32 @@
                     $scope.vm.autoCompletePage.user.totalPage = result.data.page.totalPage;
                 }
 
-                //  �쟾�넚 ���긽�옄 �궘�젣
-                function removeManager(index) {
-                    $scope.vm.form.users.splice(index, 1);
-                }
-
                 function cancel() {
                     $rootScope.$broadcast("closeLayer");    //  �뙘�뾽�씠 �뿴由ш퀬 �굹�꽌 js-multi, js-single �벑�뿉�꽌 body �씠踰ㅽ듃媛� �궇�븘媛��뒗 �쁽�긽 �닔�젙
                     $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