OWL ITS + 탐지시스템(인터넷 진흥원)
wyu
2021-12-01 e48d62efe756754237fb10c263f24c4f51587ad0
이메일 수정 진행중
1개 파일 추가됨
1개 파일 이름 변경됨
4개 파일 변경됨
174 ■■■■ 파일 변경됨
src/main/webapp/scripts/app/issue/issue.js 2 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/issue/issueDetail.controller.js 10 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js 43 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/components/issue/issue.service.js 6 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/main.js 2 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/views/issue/issueSendMailPartners.html 111 ●●●●● 패치 | 보기 | raw | blame | 히스토리
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();
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,
                            }
                        }
                    });
src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
File was renamed from src/main/webapp/scripts/app/issue/issueSendMail.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;
                }
            }]);
    });
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);
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', // 이슈 담당자 컨트롤러
src/main/webapp/views/issue/issueSendMailPartners.html
New file
@@ -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>-->