| | |
| | | '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 |
| | |
| | | removeMailTarget : removeMailTarget, |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | changeTemplate : changeTemplate, |
| | | // showEmailTemplate : showEmailTemplate, |
| | | onChangeEmailTemplate : onChangeEmailTemplate, // 이메일 템플릿 선택시 실행 |
| | | getEmailTemplateList : getEmailTemplateList, // 이메일 템플릿 목록 가져오기 |
| | | getAccount : getAccount |
| | | }; |
| | | |
| | | $scope.vm = { |
| | |
| | | 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 : { |
| | |
| | | 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) { |
| | |
| | | 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; |
| | | })(), |
| | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | function changeTemplate(templateId){ |
| | | $scope.vm.form.template = templateId; |
| | | // 메일 주소 추출 |
| | | 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; |
| | | |
| | | var elements = document.getElementsByClassName("TemplateIMG"); |
| | | for (let i = elements.length - 1; i >= 0; i--) { |
| | | if (elements[i].id === templateId) { |
| | | elements[i].className += " TemplateIMG-selected"; |
| | | if(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 { |
| | | elements[i].className = "TemplateIMG"; |
| | | $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.indexOf(",") !== -1) { |
| | | account = partner.account.split(","); |
| | | } |
| | | name = partner.name; |
| | | }); |
| | | if(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; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // for(let i = 0 ; i <= 3 ; i++){ |
| | | // $('#ISSUE_SEND_'+i).click(function(){ |
| | | // $('#Email-Template'+i,'#Email-Template4').slideToggle('slow'); |
| | | // }); |
| | | // } |
| | | // $("#ISSUE_SEND_1").click(function () { |
| | | // $("#Email-Template1,#Email-Template4").slideToggle(0); |
| | | // }); |
| | | // |
| | | // $("#ISSUE_SEND_2").click(function() { |
| | | // $( "#Email-Template2,#Email-Template4" ).slideToggle(0); |
| | | // }); |
| | | // |
| | | // $("#ISSUE_SEND_3").click(function() { |
| | | // $( "#Email-Template3,#Email-Template4" ).slideToggle(0); |
| | | // }); |
| | | |
| | | } |
| | | |
| | | $scope.$on("getMailTarget", function (event, result) { |
| | | $scope.fn.getAccount(result); |
| | | }); |
| | | |
| | | $scope.fn.getAccount(); |
| | | $scope.fn.getEmailTemplateList(); |
| | | |
| | | }]); |
| | | |
| | | }); |