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/components/utils/autoComplete.controller.js |   47 +-----
 src/main/webapp/views/issue/issueSendMail.html                      |  125 ++---------------
 src/main/webapp/views/issue/issueAdd.html                           |   19 -
 src/main/webapp/scripts/app/issue/issueSendMail.controller.js       |  124 +++++++----------
 src/main/webapp/views/issue/issueListNormal.html                    |    4 
 src/main/webapp/scripts/app/issue/issueList.controller.js           |    1 
 src/main/java/kr/wisestone/owl/config/SecurityConfiguration.java    |    1 
 src/main/webapp/views/issue/issueDetail.html                        |    8 
 src/main/webapp/scripts/app/issue/issueDetail.controller.js         |   68 +++++++--
 9 files changed, 141 insertions(+), 256 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/config/SecurityConfiguration.java b/src/main/java/kr/wisestone/owl/config/SecurityConfiguration.java
index 0ae4c64..62056ea 100644
--- a/src/main/java/kr/wisestone/owl/config/SecurityConfiguration.java
+++ b/src/main/java/kr/wisestone/owl/config/SecurityConfiguration.java
@@ -1,7 +1,6 @@
 package kr.wisestone.owl.config;
 
 import kr.wisestone.owl.config.security.filter.AjaxSessionExpiredFilter;
-import kr.wisestone.owl.config.security.filter.CustomAuthenticationFilter;
 import kr.wisestone.owl.config.security.handler.AjaxAuthenticationEntryPoint;
 import kr.wisestone.owl.config.security.handler.AjaxAuthenticationFailureHandler;
 import kr.wisestone.owl.config.security.handler.AjaxAuthenticationSuccessHandler;
diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
index 955bfbb..3c41b1c 100644
--- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -31,7 +31,12 @@
                 $scope.fn.modifyIssueUser = modifyIssueUser;    //  �씠�뒋 �떞�떦�옄 蹂�寃�
                 $scope.fn.modifyIssueDepartment = modifyIssueDepartment;    //  �씠�뒋 �떞�떦遺��꽌 蹂�寃�
                 $scope.fn.initReload = initReload;  //  珥덇린�솕 �빐�빞�븷 �븷紐⑹쓣 吏��젙�븯�뿬 �떎瑜� �씠�뒋瑜� �겢由��븷 �븣 珥덇린�솕�빐以��떎.
-                $scope.fn.sendMail = sendMail;  //  �듅�젙 �궗�슜�옄�뿉寃� �씠�뒋 �젙蹂대�� 硫붿씪濡� 諛쒖넚
+                $scope.fn.sendMail = sendMail;
+                $scope.fn.sendMailAll = sendMailAll;
+                $scope.fn.sendMailVo = sendMailVo;
+                $scope.fn.getParameters = getParameters;
+                $scope.fn.getParametersAll = getParametersAll;
+                //  �듅�젙 �궗�슜�옄�뿉寃� �씠�뒋 �젙蹂대�� 硫붿씪濡� 諛쒖넚
                 $scope.fn.versionView = versionView;    //  踰꾩쟾 �젙蹂대�� �몴�떆�븳�떎.
                 $scope.fn.reservation = reservation;    //  �삁�빟 �젙蹂대�� �솗�씤 諛� 蹂�寃� �븳�떎.
                 $scope.fn.getIssueListCallBack = getIssueListCallBack;
@@ -43,7 +48,6 @@
                 $scope.fn.getDownTableConfigs = getDownTableConfigs;
                 $scope.fn.containsPartner = containsPartner;
                 $scope.fn.onActivate = onActivate;
-                $scope.fn.makePartnersEmail = makePartnersEmail;
 
                 //  �씠�뒋 紐⑸줉 而⑦듃濡ㅻ윭 vm, fn �긽�냽 以�
                 $scope.vm.viewer = {};
@@ -1055,36 +1059,64 @@
                     });
                 }
 
-                // �뾽泥�/ISP/�샇�뒪�똿 諛곗뿴媛믪쓣 �븯�굹濡� �빀爾먯꽌 硫붿씪 �겢由��떆 �쟾�떖
-                function makePartnersEmail() {
-                    $scope.vm.form.partnersEmail = $scope.vm.viewer.issueCompanyVos.concat($scope.vm.viewer.issueIspVos, $scope.vm.viewer.issueHostingVos)
-                    return $scope.vm.form.partnersEmail;
+                function sendMailVo(partnerVos) {
+                    $scope.fn.sendMail($scope.fn.getParametersAll(), $scope.fn.getParameters(null, partnerVos));
+                }
+
+                function sendMailAll() {
+                    var param = $scope.fn.getParametersAll();
+                    $scope.fn.sendMail(param, param);
                 }
 
                 //  �듅�젙 �궗�슜�옄�뿉寃� �씠�뒋瑜� 硫붿씪濡� 諛쒖넚
-                function sendMail(issueId, projectId) {
-                    makePartnersEmail();
+                function sendMail(partnersAll, partners) {
                     $uibModal.open({
                         templateUrl : 'views/issue/issueSendMail.html',
                         size : "md",
                         controller : 'issueSendMailController',
                         backdrop : 'static',
                         resolve : {
-                            parameter : function () {
-                                return {
-                                    departmentVos : [$scope.vm.form.issues[0].departmentVos],
-                                    partners : $scope.vm.form.partnersEmail,
-                                    issueId : issueId,
-                                    projectId : projectId
-                                    // issueCompanyFields : [$scope.vm.viewer.issueCompanyVos[0]],
-                                    // issueIspFields : [$scope.vm.viewer.issueIspVos[0]],
-                                    // issueHostingFields : [$scope.vm.viewer.issueHostingVos[0]],
-                                };
+                            parameter : {
+                                partnersAll : partnersAll,
+                                partners : partners,
+                                issueId : $scope.vm.viewer.id,
+                                projectId : $scope.vm.viewer.projectVo.id,
+                                ispVos : $scope.vm.viewer.ispVos,
+                                hosingVos : $scope.vm.viewer.hosingVos,
+                                companyVos : $scope.vm.viewer.companyVos,
                             }
                         }
                     });
                 }
 
+                function getParametersAll() {
+                    var params = $scope.fn.getParameters(null, $scope.vm.viewer.issueCompanyVos);
+                    params = $scope.fn.getParameters(params, $scope.vm.viewer.issueIspVos);
+                    params = $scope.fn.getParameters(params, $scope.vm.viewer.issueHostingVos);
+
+                    if (params != null && params.length > 0) {
+                        for (let i = 0; i < params.length; i++) {
+                            params[i].id = i;
+                        }
+                    }
+                    return params;
+                }
+
+                function getParameters(sourceArr, partnerVos) {
+                    var excludeVos = sourceArr != null ? sourceArr.slice() : [];
+
+                    angular.forEach(partnerVos, function (vo) {
+                        var account = {
+                            account : vo.email
+                        }
+                        Object.assign(vo, account)
+
+                        excludeVos.push(vo);
+                    });
+
+                    return excludeVos;
+                }
+
                 //  蹂�寃� �젙蹂대�� �솗�씤�븳�떎.
                 function versionView(issueId) {
                     $uibModal.open({
diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js
index 7c348ac..bc60109 100644
--- a/src/main/webapp/scripts/app/issue/issueList.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -504,6 +504,7 @@
                                 $scope.vm.issueTypeId = result.data.data[0].issueTypeId;
                                 $scope.vm.projectKey = result.data.data[0].projectKey;
                                 $scope.vm.issueNumber = result.data.data[0].issueNumber;
+                                $scope.vm.projectName = result.data.data[0].projectName;
                                 $scope.vm.page.selectedPage = currentPage + 1;
                                 $scope.vm.responseData = result.data;
 
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;
+                }
             }]);
     });
diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
index 1b527bf..004e327 100644
--- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js
+++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
@@ -482,44 +482,21 @@
                     return deferred.promise;
                 }
 
-                function getMailTargetAll(query, excludeList, page, callBack) {
-                    var conditions = {
-                        id : query,
-                        excludeIds : (function () {
-                            var excludeIds = [];
-
-                            angular.forEach(excludeList, function (exclude) {
-                                excludeIds.push(exclude.id);
-                            });
-
-                            return excludeIds;
-                        })(),
-                        partnersEmailIds : (function () {
-                            var partnersEmailIds = [];
-
-                            angular.forEach($scope.vm.form.partners, function (partner) {
-                                partnersEmailIds.push(partner.email);
-                            });
-
-                            return partnersEmailIds;
-                        })(),
-                    };
+                function getMailTargetAll(excludeList) {
                     var deferred = $q.defer();
 
-                    Issue.findMailTargetAll($resourceProvider.getContent(         //  �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎.
-                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) {
-                        if (result.data.message.status === "success") {
-
-                            if ($rootScope.isDefined(callBack)) {
-                                callBack(result);
-                            }
-
-                            deferred.resolve(result.data.data);
+                    var partners = $scope.vm.partners.slice();
+                    if (excludeList != null && excludeList.length > 0) {
+                        for (let i = partners.length - 1 ; i >= 0 ; i--) {
+                            excludeList.forEach(function (exclude) {
+                                if (partners[i].id === exclude.id) {
+                                    partners.splice(i, 1);
+                                }
+                            });
                         }
-                        else {
-                            SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // "�씠�뒋 �쑀�삎 紐⑸줉 議고쉶 �떎�뙣"
-                        }
-                    });
+                    }
+
+                    deferred.resolve(partners);
 
                     return deferred.promise;
                 }
diff --git a/src/main/webapp/views/issue/issueAdd.html b/src/main/webapp/views/issue/issueAdd.html
index a6b1a34..e42f21f 100644
--- a/src/main/webapp/views/issue/issueAdd.html
+++ b/src/main/webapp/views/issue/issueAdd.html
@@ -1,7 +1,7 @@
 <div class="formModal">
     <div class="modal-header faded smaller">
         <div class="modal-title">
-            <strong translate="issue.createIssue">�씠�뒋 留뚮뱾湲�</strong>
+            <strong translate="issue.createIssue">�씠�뒋 �닔�젙</strong>
         </div>
         <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
             <span aria-hidden="true"> &times;</span>
@@ -123,7 +123,7 @@
                 <div class="col-lg-4">
                     <div class="form-group mb10">
                         <label class="issue-label"> <span translate="common.assigneeTeam">�떞�떦遺��꽌</span> </label>
-                        <js-autocomplete-multi data-input-name="department"
+                        <js-autocomplete-multi data-input-name="departments"
                                                selected-model="vm.form.departments"
                                                search="vm.departmentName"
                                                source="fn.getIssueDepartmentList(vm.departmentName, vm.form.departments)"
@@ -260,15 +260,6 @@
                                 </div>
 
                                 <div ng-switch-when="IP_ADDRESS">
-                                    <input type="text" class="form-control input-sm"
-                                           ng-model="issueCustomField.useValues"
-                                           maxlength="100"
-                                           autocomplete="off"
-                                           kr-input
-                                           ng-required="issueCustomField.fieldOption == '01'">
-                                </div>
-
-                                <div ng-switch-when="EMAIL">
                                     <input type="text" class="form-control input-sm"
                                            ng-model="issueCustomField.useValues"
                                            maxlength="100"
@@ -424,7 +415,7 @@
                 </div>
             </div>
 
-            <div ng-show="fn.containsPartner('ISP')" class="row">
+            <div ng-show="fn.containsPartner('ISP')"  class="row">
                 <div class="col-lg-4">
                     <div class="form-group mb10">
                         <label class="issue-label"> <span translate="ispField.name">ISP �씠由�</span> </label>
@@ -661,4 +652,6 @@
             ng-disabled="fn.formCheck(issueAddForm.$invalid)"
             ng-click="fn.formSubmit()"><span translate="common.save">���옣</span>
     </button>
-</div>
\ No newline at end of file
+</div>
+
+
diff --git a/src/main/webapp/views/issue/issueDetail.html b/src/main/webapp/views/issue/issueDetail.html
index 765c919..11d91da 100644
--- a/src/main/webapp/views/issue/issueDetail.html
+++ b/src/main/webapp/views/issue/issueDetail.html
@@ -103,7 +103,7 @@
             </span>
 
             <a class="show-ticket-info cursor">
-                <i class="os-icon os-icon-email-forward mr-20" ng-click="fn.sendMail(vm.viewer.id, vm.viewer.projectVo.id)" data-toggle="tooltip" data-placement="right" title="�떎瑜� �궗�슜�옄�뿉寃� �씠�뒋 蹂대궡湲�"></i>
+                <i class="os-icon os-icon-email-forward mr-20" ng-click="fn.sendMailAll()" data-toggle="tooltip" data-placement="right" title="�떎瑜� �궗�슜�옄�뿉寃� �씠�뒋 蹂대궡湲�"></i>
                 <i class="os-icon os-icon-airplay mr-20" ng-click="fn.versionView(vm.viewer.id)" data-toggle="tooltip" data-placement="right" title="�씠�뒋 蹂�寃� �씠�젰 �긽�꽭 蹂닿린"></i>
                 <i class="os-icon os-icon-calendar-time mr-20" ng-if="vm.viewer.modifyPermissionCheck"
                    ng-click="fn.reservation(vm.viewer.id)" data-toggle="tooltip" data-placement="right" title="�씠�뒋 諛쒖깮 �삁�빟 �븯湲�"></i>
@@ -313,7 +313,7 @@
                         <div class="form-group">
                             <div class="">
                                 <span translate="companyField.email">�씠硫붿씪</span>:
-                                <span class="email_color cursor" ng-click="fn.sendMail(vm.viewer.id, vm.viewer.projectVo.id)">{{vm.viewer.issueCompanyVos[0].email}}</span>
+                                <span class="email_color cursor" ng-click="fn.sendMailVo(vm.viewer.issueCompanyVos)">{{vm.viewer.issueCompanyVos[0].email}}</span>
                             </div>
                         </div>
                     </div>
@@ -373,7 +373,7 @@
                         <div class="form-group">
                             <div class="">
                                 <span translate="ispField.email">�씠硫붿씪</span>:
-                                <span class="email_color cursor" ng-click="fn.sendMail(vm.viewer.id, vm.viewer.projectVo.id)">{{vm.viewer.issueIspVos[0].email}}</span>
+                                <span class="email_color cursor" ng-click="fn.sendMailVo(vm.viewer.issueIspVos)">{{vm.viewer.issueIspVos[0].email}}</span>
                             </div>
                         </div>
                     </div>
@@ -434,7 +434,7 @@
                         <div class="form-group">
                             <div class="">
                                 <span translate="hostingField.email">�씠硫붿씪</span>:
-                                <span class="email_color cursor" ng-click="fn.sendMail(vm.viewer.id, vm.viewer.projectVo.id)">{{vm.viewer.issueHostingVos[0].email}}</span>
+                                <span class="email_color cursor" ng-click="fn.sendMailVo(vm.viewer.issueHostingVos)">{{vm.viewer.issueHostingVos[0].email}}</span>
                             </div>
                         </div>
                     </div>
diff --git a/src/main/webapp/views/issue/issueListNormal.html b/src/main/webapp/views/issue/issueListNormal.html
index 7575114..7e16daa 100644
--- a/src/main/webapp/views/issue/issueListNormal.html
+++ b/src/main/webapp/views/issue/issueListNormal.html
@@ -39,6 +39,10 @@
                                             <issue-search-array-view-element lists="vm.projects"
                                                                              type="'project'"></issue-search-array-view-element>
 
+                                            <p ng-if="$root.isDefined(vm.projectName)">
+                                                {{vm.projectName}}
+                                                <span ng-click="vm.projectName = ''">횞</span>
+                                            </p>
                                             <!--    �씠�뒋 ���엯   -->
                                             <issue-search-field-key-view-element lists="vm.issueTypes"
                                                                                  keys="vm.search.issueTypeIds"></issue-search-field-key-view-element>
diff --git a/src/main/webapp/views/issue/issueSendMail.html b/src/main/webapp/views/issue/issueSendMail.html
index 4eb604b..5b4bb59 100644
--- a/src/main/webapp/views/issue/issueSendMail.html
+++ b/src/main/webapp/views/issue/issueSendMail.html
@@ -13,104 +13,28 @@
             <div class="form-group">
                 <small translate="issue.sendIssueSelectedUsers">�봽濡쒖젥�듃�뿉 李몄뿬�븯怨� �엳�뒗 �떎瑜� �궗�슜�옄�뿉寃� �씠�뒋 �젙蹂대�� 蹂대깄�땲�떎.</small>
                 <div class="select3-selection__choicediv">
-                            <span class="select3-selection__choice" ng-repeat="user in vm.form.users">
-                                <span class="avatar-w"><img ng-src="{{user.profile}}"></span>
+                            <span class="select3-selection__choice" ng-repeat="user in vm.form.mailUsers">
                                 <span>{{user.name}}({{user.account}})</span>
                                 <span class="select3-selection__choice__remove"
-                                      ng-click="fn.removeManager($index)">횞</span>
+                                      ng-click="fn.removeMailTarget($index)">횞</span>
                             </span>
                 </div>
 
-<!--                <js-autocomplete-single data-input-name="issue"-->
-<!--                                        selected-model="vm.form.issues"-->
-<!--                                        search="vm.issueName"-->
-<!--                                        source="fn.getIssueList(vm.issueName, vm.issueTypeId, vm.form.issues, vm.autoCompletePage.issue.page, fn.getIssueListCallBack)"-->
-<!--                                        page="vm.autoCompletePage.issue.page"-->
-<!--                                        total-page="vm.autoCompletePage.issue.totalPage"-->
-<!--                                        input-disabled="false"-->
-<!--                                        translation-texts="{ empty : 'common.emptyIssue' }"-->
-<!--                                        extra-settings="{ displayProp : 'title' , idProp : 'id', imageable : false, imagePathProp : '',-->
-<!--                                            type : '', maxlength : 200, autoResize : true, stopRemoveBodyEvent : true }"></js-autocomplete-single>-->
-
-<!--                {{vm.form.companyFieldsEmail}}-->
-                <label><span>�삊�젰�궗 硫붿씪</span></label>
-                <js-autocomplete-multi data-input-name="partnersEmail"
-                                       selected-model="vm.form.partnersEmail"
-                                       search="vm.partnerName"
-                                       source="fn.getMailTargetAll(vm.form.partnersEmail)"
-                                       input-disabled="false"
-                                       page="vm.autoCompletePage.partnersMail.page"
-                                       total-page="vm.autoCompletePage.partnersMail.totalPage"
-                                       modal-form-auto-scroll
-                                       extra-settings="{ displayProp : 'byName' , idProp : 'email', imageable : false, maxlength : 100, autoResize : true }"></js-autocomplete-multi>
-
-<!--                <ng-dropdown-multiselect class="multiSelect cursor"-->
-<!--                                         data-input-name="companyFieldsEmail"-->
-<!--                                         selected-model="vm.form.companyFieldsEmail.concat(vm.form.ispFieldsEmail,vm.form.hostingFieldsEmail)"-->
-<!--                                         extra-settings="{ stringTypeOption : true }"-->
-<!--                                         options="vm.options.companyFieldsEmail"></ng-dropdown-multiselect>-->
-
-<!--                <span class="issue-detail-label" translate="companyField.info"></span>-->
-<!--                <input ng-if="vm.form.companyFieldsEmail != null"-->
-<!--                       type="text"-->
-<!--                       class="form-control"-->
-<!--                       kr-input-->
-<!--                       autocomplete="off"-->
-<!--                       ng-model="vm.form.companyFieldsEmail">-->
-
-<!--                <span class="issue-detail-label" translate="ispField.info"></span>-->
-<!--                <input ng-if="vm.form.ispFieldsEmail != null"-->
-<!--                       type="text"-->
-<!--                       class="form-control"-->
-<!--                       kr-input-->
-<!--                       autocomplete="off"-->
-<!--                       ng-model="vm.form.ispFieldsEmail">-->
-
-<!--                <span class="issue-detail-label" translate="hostingField.info"></span>-->
-<!--                <input ng-if="vm.form.hostingFieldsEmail != null"-->
-<!--                       type="text"-->
-<!--                       class="form-control"-->
-<!--                       kr-input-->
-<!--                       autocomplete="off"-->
-<!--                       ng-model="vm.form.hostingFieldsEmail">-->
-
-<!--                <a style="display: flex; text-align: center; justify-content: center;">-->
-<!--                    <i class="os-icon os-icon-email-forward mr-20 mt-20 cursor" ng-click="fn.formSubmit(data.id)">1</i>-->
-<!--                    <i class="os-icon os-icon-email-forward mr-20 mt-20 cursor" ng-click="fn.formSubmit(data.id)">2</i>-->
-<!--                    <i class="os-icon os-icon-email-forward mr-20 mt-20 cursor" ng-click="fn.formSubmit(data.id)">3</i>-->
-<!--                </a>-->
-<!--                <div class="modal-content">-->
-<!--                    <a style="display: flex; text-align: center; justify-content: center;">-->
-<!--                        <img onclick="emailTemplate()" id="template1" class="cursor" src="assets/images/btn_facebook.png">-->
-<!--                        <img onclick="emailTemplate()" id="template2" class="cursor" src="assets/images/btn_kakao.png">-->
-<!--                        <img onclick="emailTemplate()" id="template3" class="cursor" src="assets/images/btn_google.png">-->
-<!--                    </a>-->
-<!--                </div>-->
-<!--                <form action="${pageContext.request.contextPath}/updatetNoticePro.do" method="post" enctype="multipart/form-data" name="noticeForm">-->
-<!--                    <input type='file' id="filename" name="filename"/>-->
-<!--                    <img id="preImage" src="${pageContext.request.contextPath}/saveFile/${noticeVO.filename}" alt="image_title" onerror='this.src="${pageContext.request.contextPath}/images/no_img.jpg"'/>-->
-<!--                </form>-->
-
+                <js-input-autocomplete data-input-name="mailUsers"
+                                       owl-auto-focus
+                                       target=".auto-complete-i0nput"
+                                       selected-model="vm.form.mailUsers"
+                                       search="vm.userName"
+                                       page="vm.autoCompletePage.user.page"
+                                       total-page="vm.autoCompletePage.user.totalPage"
+                                       source="fn.getMailTargetAll(vm.form.mailUsers)"
+                                       translation-texts="{ empty : 'common.emptyUser'}"
+                                       input-disabled="vm.form.mailUsers == null"
+                                       extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : 'profile',
+                                               type : 'partner', maxlength : 100, autoResize : true, stopRemoveBodyEvent : true }"></js-input-autocomplete>
             </div>
         </form>
-
     </div>
-<!--    <h6>{{vm.form.companyFieldsEmail}}</h6>-->
-<!--   <span>{{vm.form.id}}===============</span>-->
-<!--   <h6>{{vm.form.ispFieldsEmail}}===============</h6>-->
-<!--   <span>===============</span>-->
-<!--   <h6>{{vm.form.hostingFieldsEmail}}</h6>-->
-<!--    <div style="display: flex; text-align: center">-->
-<!--            �뀥�뵆由�1-->
-<!--        </div>-->
-<!--        <div style="border: 1px #111111; margin-left: 20px; box-sizing: border-box;">-->
-<!--            �뀥�뵆由�2-->
-    <!--        <div style="border: 1px #111111; margin-left: 20px; box-sizing: border-box;">-->
-<!--        </div>-->
-<!--        <div style="border: 1px #111111; margin-left: 20px; box-sizing: border-box;">-->
-<!--            �뀥�뵆由�3-->
-<!--        </div>-->
-<!--    </div>-->
 
     <div class="modal-footer buttons-on-right">
         <button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><span
@@ -121,24 +45,3 @@
         </button>
     </div>
 </div>
-
-<script>
-
-    function emailTemplate() {
-        $('#template1').click(function() {
-            $('#template1').hide();
-        });
-
-        $('#template2').click(function() {
-            $('#template2').hide();
-        });
-
-        $('#template3').click(function() {
-            $('#template3').hide();
-        });
-    }
-
-    function changeIMG() {
-        $('#template1').attr("src", "assets/images/previewTemplate.png")
-    }
-</script>
\ No newline at end of file

--
Gitblit v1.8.0