From e48d62efe756754237fb10c263f24c4f51587ad0 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 수, 01 12월 2021 18:28:30 +0900
Subject: [PATCH] 이메일 수정 진행중

---
 src/main/webapp/scripts/app/issue/issue.js                            |    2 
 src/main/webapp/scripts/components/issue/issue.service.js             |    6 ++
 src/main/webapp/views/issue/issueSendMailPartners.html                |  111 +++++++++++++++++++++++++++++++++++++
 src/main/webapp/scripts/app/issue/issueDetail.controller.js           |   10 +-
 src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js |   43 ++------------
 src/main/webapp/scripts/main.js                                       |    2 
 6 files changed, 131 insertions(+), 43 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issue.js b/src/main/webapp/scripts/app/issue/issue.js
index 41384ce..10be9c9 100644
--- a/src/main/webapp/scripts/app/issue/issue.js
+++ b/src/main/webapp/scripts/app/issue/issue.js
@@ -37,7 +37,7 @@
                                 'chartLoader', 'jsTable', 'tableColumnGenerator', 'modalFormAutoScroll', 'summerNote', 'summerNote-ko-KR', 'fullScroll', 'workflowService', 'priorityService', 'issueSearchService', 'issueTableConfigService', 'inputRegex',
                                 'severityService', 'issueTypeService', 'issueTypeCustomFieldService', 'issueService', 'issueStatusService', 'issueUserService','issueDepartmentService','issueModifyUserController', 'issueModifyDepartmentController', 'customFieldService', 'issueSearchFieldKeyViewElement',
                                 'issueSearchCustomFieldViewElement', 'tableUserImage', 'fullScroll', 'issueCommentService', 'detectIssueEditor', 'formSubmit', 'issueModifyStatusController', 'jsShortCut',
-                                'issueAddTableConfigController','issueAddRelationTableConfigController','issueAddDownTableConfigController','domAppend', 'issueDetailImagePreview', 'issueSendMailController', 'htmlDiff', 'issueVersionViewController', 'issueVersionService',
+                                'issueAddTableConfigController','issueAddRelationTableConfigController','issueAddDownTableConfigController','domAppend', 'issueDetailImagePreview', 'issueSendMailPartnersController', 'htmlDiff', 'issueVersionViewController', 'issueVersionService',
                                 'jsHtmlDiff', 'issueReservationController', 'issueReservationService', 'issueVersionService', 'issueStatusAutoFocus', 'issueRelationService'
                             ], function () {
                                 deferred.resolve();
diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
index fbb2efc..3fdb3e4 100644
--- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -1071,9 +1071,9 @@
                 //  �듅�젙 �궗�슜�옄�뿉寃� �씠�뒋瑜� 硫붿씪濡� 諛쒖넚
                 function sendMail(partnersAll, partners) {
                     $uibModal.open({
-                        templateUrl : 'views/issue/issueSendMail.html',
+                        templateUrl : 'views/issue/issueSendMailPartners.html',
                         size : "md",
-                        controller : 'issueSendMailController',
+                        controller : 'issueSendMailPartnersController',
                         backdrop : 'static',
                         resolve : {
                             parameter : {
@@ -1081,9 +1081,9 @@
                                 partners : partners,
                                 issueId : $scope.vm.viewer.id,
                                 projectId : $scope.vm.viewer.projectVo.id,
-                                companyVos : $scope.vm.viewer.issueCompanyVos,
-                                ispVos : $scope.vm.viewer.issueIspVos,
-                                hosingVos : $scope.vm.viewer.issueHostingVos,
+                                // companyVos : $scope.vm.viewer.issueCompanyVos,
+                                // ispVos : $scope.vm.viewer.issueIspVos,
+                                // hosingVos : $scope.vm.viewer.issueHostingVos,
                             }
                         }
                     });
diff --git a/src/main/webapp/scripts/app/issue/issueSendMail.controller.js b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
similarity index 74%
rename from src/main/webapp/scripts/app/issue/issueSendMail.controller.js
rename to src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
index 24b2e5b..dae8caa 100644
--- a/src/main/webapp/scripts/app/issue/issueSendMail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
@@ -5,7 +5,7 @@
         'angular'
     ],
     function (app, angular) {
-        app.controller('issueSendMailController', ['$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',
             function ($scope, $rootScope, $q, $log, $resourceProvider, $uibModalInstance, $controller, $injector, SweetAlert, $filter, parameter, Issue) {
 
                 $scope.fn = {
@@ -14,7 +14,7 @@
                     getMails : getMails,
                     removeMailTarget : removeMailTarget,
                     formSubmit : formSubmit,    //  �뤌 �쟾�넚
-                    formCheck : formCheck   //  �뤌 泥댄겕
+                    formCheck : formCheck,   //  �뤌 泥댄겕
                 };
 
                 $scope.vm = {
@@ -24,6 +24,7 @@
                     partners : parameter.partnersAll.slice(),
                     form : {
                         id : parameter.issueId,  //  �씠�뒋 踰덊샇
+                        template : "ISSUE_SEND_2",
                         projects : [{ id : parameter.projectId}],  //  �봽濡쒖젥�듃
                         mailUsers : parameter.partners.slice()   //  硫붿씪 �쟾�넚諛쏅뒗 �궗�슜�옄
                     },
@@ -55,12 +56,13 @@
                     return false;
                 }
 
-                //  �뤌 �쟾�넚
+                // �뾽泥�/ISP/�샇�뒪�똿 �씠硫붿씪 �뤌 �쟾�넚
                 function formSubmit() {
                     $rootScope.spinner = true;
 
                     var content = {
-                        id : $scope.vm.form.id,
+                        // id : $scope.vm.form.id,
+                        template : $scope.vm.form.template,
                         sendEmails : (function () {
                             var sendEmails = [];
 
@@ -70,39 +72,9 @@
 
                             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(
+                    Issue.sendEmailPartners($resourceProvider.getContent(
                         content,
                         $resourceProvider.getPageContent(0, 10))).then(function (result) {
 
@@ -149,6 +121,5 @@
 
                     return deferred.promise;
                 }
-
             }]);
     });
diff --git a/src/main/webapp/scripts/components/issue/issue.service.js b/src/main/webapp/scripts/components/issue/issue.service.js
index 22cf448..1a27238 100644
--- a/src/main/webapp/scripts/components/issue/issue.service.js
+++ b/src/main/webapp/scripts/components/issue/issue.service.js
@@ -98,6 +98,12 @@
                     return response;
                 });
             },
+            sendEmailPartners : function (conditions) {
+                return $http.post("issue/sendEmailPartners", conditions).then(function (response) {
+                    $log.debug("�씠�뒋 �씠硫붿씪 諛쒖넚 寃곌낵 : ", response);
+                    return response;
+                });
+            },
             findMailTargetAll : function (conditions) {
                 return $http.post("issue/findMailTargetAll", conditions).then(function (response) {
                     $log.debug("�씠�뒋 �씠硫붿씪 諛쒖넚 寃곌낵 : ", response);
diff --git a/src/main/webapp/scripts/main.js b/src/main/webapp/scripts/main.js
index da87d90..c19a0e9 100644
--- a/src/main/webapp/scripts/main.js
+++ b/src/main/webapp/scripts/main.js
@@ -186,7 +186,7 @@
         'issueAddTableConfigController' : 'app/issue/issueAddTableConfig.controller',   //  �씠�뒋 �뀒�씠釉� �꽕�젙 而⑦듃濡ㅻ윭
         'issueAddRelationTableConfigController' : 'app/issue/issueAddRelationTableConfig.controller',   //  �씠�뒋 �뀒�씠釉� �꽕�젙 而⑦듃濡ㅻ윭
         'issueAddDownTableConfigController' : 'app/issue/issueAddDownTableConfig.controller',   //  �씠�뒋 �뀒�씠釉� �꽕�젙 而⑦듃濡ㅻ윭
-        'issueSendMailController' : 'app/issue/issueSendMail.controller',   //  �씠�뒋 �씠硫붿씪 諛쒖넚 而⑦듃濡ㅻ윭
+        'issueSendMailPartnersController' : 'app/issue/issueSendMailPartners.controller',   //  �씠�뒋 �씠硫붿씪 諛쒖넚 而⑦듃濡ㅻ윭
         'issueVersionViewController' : 'app/issue/issueVersionView.controller', //  �씠�뒋 踰꾩쟾 �솗�씤 而⑦듃濡ㅻ윭
         'issueReservationController' : 'app/issue/issueReservation.controller', //  �씠�뒋 諛쒖깮 �삁�빟 而⑦듃濡ㅻ윭
         'issueModifyUserController' : 'app/issue/issueModifyUser.controller', // �씠�뒋 �떞�떦�옄 而⑦듃濡ㅻ윭
diff --git a/src/main/webapp/views/issue/issueSendMailPartners.html b/src/main/webapp/views/issue/issueSendMailPartners.html
new file mode 100644
index 0000000..51ac859
--- /dev/null
+++ b/src/main/webapp/views/issue/issueSendMailPartners.html
@@ -0,0 +1,111 @@
+<div class="formModal">
+    <div class="modal-header faded smaller">
+        <div class="modal-title">
+            <strong translate="issue.selectSendIssueMail">�씠�뒋 硫붿씪 諛쒖넚 ���긽�옄 �꽑�깮</strong>
+        </div>
+        <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
+            <span aria-hidden="true"> &times;</span>
+        </button>
+    </div>
+
+    <div class="modal-body">
+        <form role="form" name="issueSendForm">
+            <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.mailUsers">
+                                <span>{{user.name}}({{user.account}})</span>
+                                <span class="select3-selection__choice__remove"
+                                      ng-click="fn.removeMailTarget($index)">횞</span>
+                            </span>
+                </div>
+
+                <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>
+
+                <input ng-model="vm.form.template" value="ISSUE_SEND_1" type="radio">1
+                <input ng-model="vm.form.template" value="ISSUE_SEND_2" type="radio">2
+                <input ng-model="vm.form.template" value="ISSUE_SEND_3" type="radio">3
+            </div>
+        </form>
+    </div>
+
+
+    <div class="modal-footer buttons-on-right">
+        <button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><span
+                translate="common.cancel">痍⑥냼</span></button>
+        <button type="button" class="btn btn-md btn-primary bold"
+                ng-disabled="fn.formCheck(issueSendForm.$invalid)"
+                ng-click="fn.formSubmit()"><span translate="issue.sendMail">�씠硫붿씪 諛쒖넚</span>
+        </button>
+    </div>
+</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>-->
+
+
+<!--                <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">-->
+
+<!--    <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>-->

--
Gitblit v1.8.0