From 491455286747cb100caee9ca12d9b5a94077b85e Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 화, 18 1월 2022 10:07:11 +0900 Subject: [PATCH] 이슈 추가/수정 시 ISP, 호스팅 이름 못 불러오는 문제 해결 (custom-input) --- src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js | 142 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 130 insertions(+), 12 deletions(-) diff --git a/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js b/src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js index 1b6d5cc..f1a4539 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,6 +15,9 @@ removeMailTarget : removeMailTarget, formSubmit : formSubmit, // �뤌 �쟾�넚 formCheck : formCheck, // �뤌 泥댄겕 + onChangeEmailTemplate : onChangeEmailTemplate, // �씠硫붿씪 �뀥�뵆由� �꽑�깮�떆 �떎�뻾 + getEmailTemplateList : getEmailTemplateList, // �씠硫붿씪 �뀥�뵆由� 紐⑸줉 媛��졇�삤湲� + getAccount : getAccount }; $scope.vm = { @@ -22,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 : { @@ -34,14 +39,68 @@ 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); } function formCheck(formInvalid) { @@ -59,16 +118,17 @@ // �뾽泥�/ISP/�샇�뒪�똿 �씠硫붿씪 �뤌 �쟾�넚 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; })(), @@ -81,6 +141,7 @@ if (result.data.message.status === "success") { SweetAlert.success($filter("translate")("issue.succeededIssueMail"), $filter("translate")("issue.sentToTheSelectedUser")); // "�씠�뒋 硫붿씪 諛쒖넚 �셿猷�" $scope.fn.cancel(); + $rootScope.$broadcast("getIssueDetail", {id: $rootScope.currentDetailIssueId}); } else { SweetAlert.error($filter("translate")("issue.failedIssueMail"), result.data.message.message); // "�씠�뒋 硫붿씪 諛쒖넚 �떎�뙣" @@ -121,5 +182,62 @@ return deferred.promise; } + + // 硫붿씪 二쇱냼 異붿텧 + 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; + + 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 { + $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 = ""; + angular.forEach(parameter.partners, function (partner) { + id = partner.id; + account = partner.account; + if(account != null && account.indexOf(",") !== -1) { + account = partner.account.split(","); + } + name = partner.name; + }); + if(account != null && account.size > 1) { + for (var i = 0; i < account.size; i++) { + $scope.vm.form.account[0].account[i] = account[i].trim(); + $scope.vm.form.account[0].name[i] = name; + $scope.vm.form.account[0].id[i] = id; + } + } else { + $scope.vm.form.account[0].account[i] = account; + $scope.vm.form.account[0].name[i] = name; + $scope.vm.form.account[0].id[i] = id; + } + } + } + } + + $scope.$on("getMailTarget", function (event, result) { + $scope.fn.getAccount(result); + }); + + $scope.fn.getAccount(); + $scope.fn.getEmailTemplateList(); + }]); + }); -- Gitblit v1.8.0