OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-01-14 125084f587f86785cda54223848b6ae22310af59
src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
@@ -16,8 +16,8 @@
                    formSubmit : formSubmit,    //  폼 전송
                    formCheck : formCheck,   //  폼 체크
                    onChangeEmailTemplate : onChangeEmailTemplate, // 이메일 템플릿 선택시 실행
                    getEmailTemplateList : getEmailTemplateList // 이메일 템플릿 목록 가져오기
                    // showEmailTemplate : showEmailTemplate,
                    getEmailTemplateList : getEmailTemplateList, // 이메일 템플릿 목록 가져오기
                    getAccount : getAccount
                };
                $scope.vm = {
@@ -26,10 +26,12 @@
                    hostingVos : parameter.hostingVos,
                    partners : parameter.partnersAll.slice(),
                    html : "",
                    tab : "SEND_TEMPLATE",
                    form : {
                        id : parameter.issueId,  //  이슈 번호
                        projects : [{ id : parameter.projectId}],  //  프로젝트
                        mailUsers : parameter.partners.slice()   //  메일 전송받는 사용자
                        mailUsers : parameter.partners.slice(),   //  메일 전송받는 사용자
                        account : [{account : [], name : [], id : []}],
                    },
                    userName : "",
                    autoCompletePage : {
@@ -40,14 +42,16 @@
                    },
                    emailTitle : "",
                    emailTemplateId : -1,
                    emailTemplates : []
                    emailTemplates : [],
                    emailTemplateType : "",
                };
                angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
                function onChangeEmailTemplate() {
                    var content = {
                        id : $scope.vm.emailTemplateId
                        templateType : $scope.vm.emailTemplateType,
                        issueId : parameter.issueId
                    }
                    EmailTemplate.find($resourceProvider.getContent(
                        content,
@@ -57,7 +61,8 @@
                            $scope.vm.html = result.data.data.template;
                        }
                        else {
                            SweetAlert.error($filter("translate")("issue.failedIssueMail"), result.data.message.message); // "이슈 메일 발송 실패"
                            $scope.vm.html = "";
                            //SweetAlert.warning($filter("translate")("issue.selectedPartnersMail"),$filter("translate")("issue.selectedPartnersTemplate")); // option 선택 경고
                        }
                        $rootScope.spinner = false;
@@ -66,34 +71,36 @@
                function getEmailTemplateList() {
                    $scope.vm.emailTemplates.push({
                            id : 1,
                            templateType : "ISSUE_SEND_1",
                            title : "템플릿1"
                    });
                    $scope.vm.emailTemplates.push({
                            id : 2,
                            templateType : "ISSUE_SEND_2",
                            title : "템플릿2"
                    });
                    $scope.vm.emailTemplates.push({
                            id : 3,
                            templateType : "ISSUE_SEND_3",
                            title : "템플릿3"
                    });
                    $scope.vm.emailTemplateId = 1;
                    $scope.vm.emailTitle = "";
                    $scope.vm.emailTemplates.forEach(function (emailTemplate) {
                        if (emailTemplate.id === $scope.vm.emailTemplateId) {
                            $scope.vm.emailTitle = emailTemplate.title;
                        }
                    })
                    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) {
@@ -176,7 +183,45 @@
                    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.split(",");
                        for (var i = 0; i < account.length; i++) {
                            $scope.vm.form.account[0].id[index+i] = id;
                            $scope.vm.form.account[0].account[index+i] = account[i].trim();
                            $scope.vm.form.account[0].name[index+i] = name;
                        }
                    } else {
                        if (parameter.partners != null) {
                            var account = "";
                            var name = "";
                            var id = "";
                            angular.forEach(parameter.partners, function (partner) {
                                id = partner.id;
                                account = partner.account.split(",");
                                name = partner.name;
                            });
                            for (var i = 0; i < account.length; i++) {
                                $scope.vm.form.account[0].id[i] = id;
                                $scope.vm.form.account[0].account[i] = account[i].trim();
                                $scope.vm.form.account[0].name[i] = name;
                            }
                        }
                    }
                }
                $scope.$on("getMailTarget", function (event, result) {
                    $scope.fn.getAccount(result);
                });
                $scope.fn.getAccount();
                $scope.fn.getEmailTemplateList();
            }]);
    });