OWL ITS + 탐지시스템(인터넷 진흥원)
src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
@@ -16,7 +16,8 @@
                    formSubmit : formSubmit,    //  폼 전송
                    formCheck : formCheck,   //  폼 체크
                    onChangeEmailTemplate : onChangeEmailTemplate, // 이메일 템플릿 선택시 실행
                    getEmailTemplateList : getEmailTemplateList // 이메일 템플릿 목록 가져오기
                    getEmailTemplateList : getEmailTemplateList, // 이메일 템플릿 목록 가져오기
                    getAccount : getAccount
                };
                $scope.vm = {
@@ -29,7 +30,8 @@
                    form : {
                        id : parameter.issueId,  //  이슈 번호
                        projects : [{ id : parameter.projectId}],  //  프로젝트
                        mailUsers : parameter.partners.slice()   //  메일 전송받는 사용자
                        mailUsers : parameter.partners.slice(),   //  메일 전송받는 사용자
                        account : [{account : [], name : [], id : []}],
                    },
                    userName : "",
                    autoCompletePage : {
@@ -98,7 +100,9 @@
                //  사용자 삭제
                function removeMailTarget(index) {
                    $scope.vm.form.mailUsers.splice(index, 1);
                    $scope.vm.form.account[0].account.splice(index, 1);
                    $scope.vm.form.account[0].name.splice(index, 1);
                    $scope.vm.form.account[0].id.splice(index, 1);
                }
                function formCheck(formInvalid) {
@@ -124,9 +128,9 @@
                        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;
                        })(),
@@ -181,6 +185,68 @@
                    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 = "";
                            var accountArr = [];
                            var nameArr = [];
                            var idArr =[];
                            angular.forEach(parameter.partners, function (partner) {
                                id = partner.id;
                                account = partner.account;
                                name = partner.name;
                                if(account != null && account.indexOf(",") !== -1) {
                                    //메일주소가 여러개일경우 분리 및 공백 제거
                                    account = partner.account.split(",");
                                    for (var i = 0; i < account.length; i++) {
                                        accountArr.push(account[i].trim());
                                        nameArr.push(name);
                                        idArr.push(id);
                                    }
                                } else if(account != null) {
                                    accountArr.push(account);
                                    nameArr.push(name);
                                    idArr.push(id);
                                }
                            });
                            if(accountArr != null && accountArr.length > 0) {
                                for (var i = 0; i < accountArr.length; i++) {
                                    $scope.vm.form.account[0].account[i] = accountArr[i];
                                    $scope.vm.form.account[0].name[i] = nameArr[i];
                                    $scope.vm.form.account[0].id[i] = idArr[i];
                                }
                            }
                        }
                    }
                }
                $scope.$on("getMailTarget", function (event, result) {
                    $scope.fn.getAccount(result);
                });
                $scope.fn.getAccount();
                $scope.fn.getEmailTemplateList();
            }]);