From 12b63b4ac35669da3855bef4d22e2df08cf956eb Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 월, 10 1월 2022 12:39:08 +0900
Subject: [PATCH] 하위,연관이슈 - 테이블표시설정에 프로젝트에서 설정한 사용자정의필드만 가져오기

---
 src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js |  123 ++++++++++++++++++++++++-----------------
 1 files changed, 72 insertions(+), 51 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js b/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js
index 6e890a9..adddc88 100644
--- a/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js
@@ -8,8 +8,9 @@
         'angular'
     ],
     function (app, angular) {
-        app.controller('issueAddRelationTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'CustomField', '$q', '$filter',
-            function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, CustomField, $q, $filter) {
+        app.controller('issueAddRelationTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'IssueTypeCustomField', '$q', '$filter', 'parameter',
+            function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, IssueTypeCustomField, $q, $filter, parameter) {
+
 
                 //  �븿�닔 紐⑥쓬
                 $scope.fn = {
@@ -17,60 +18,68 @@
                     formSubmit : formSubmit,    //  �뤌 �쟾�넚
                     formCheck : formCheck,  //  �뤌 泥댄겕
                     getCustomFields : getCustomFields,   //  �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉�쓣 媛��졇�삩�떎.
-                    getIssueTableConfigs : getIssueTableConfigs //  �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 �젙蹂대�� 媛��졇�삩�떎.
+                    getRelIssueTableConfigs : getRelIssueTableConfigs //  �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 �젙蹂대�� 媛��졇�삩�떎.
                 };
 
                 //  蹂��닔 紐⑥쓬
                 $scope.vm = {
-                    issueTableConfigs : [{
+                    issueTypeId: "",
+                    issueRelTableConfigs : [{
+                        name : $filter("translate")("issue.relationIssueType"), // �뿰愿� �씠�뒋 援щ텇
+                        key : "RELATION_ISSUE_TYPE",
+                        width : "width-60-p",
+                        position : 0,
+                        display : true,
+                        checkboxShow : false
+                    }, {
+                        name : $filter("translate")("issue.relationIssueTitle"), // �뿰愿� �씠�뒋 �젣紐�
+                        key : "RELATION_ISSUE_TITLE",
+                        width : "width-60-p",
+                        position : 0,
+                        display : true,
+                        checkboxShow : false
+                    }, {
                         name : $filter("translate")("common.priority"), // �슦�꽑�닚�쐞
-                        issueId : "",
-                        key : "PRIORITY",
-                        width : "width-100-p",
+                        key : "RELATION_PRIORITY",
+                        width : "width-50-p",
                         position : 1,
-                        display : true
+                        display : false,
+                        checkboxShow : true
                     }, {
                         name : $filter("translate")("common.importance"), // 以묒슂�룄
-                        issueId : "",
-                        key : "SEVERITY",
-                        width : "width-80-p",
+                        key : "RELATION_SEVERITY",
+                        width : "width-50-p",
                         position : 2,
-                        display : true
+                        display : false,
+                        checkboxShow : true
                     }, {
-                        name : $filter("translate")("issue.issueType"), // �씠�뒋 ���엯
-                        issueId : "",
-                        key : "ISSUE_TYPE",
-                        width : "width-140-p",
+                        name : $filter("translate")("common.assigneeTeam"), // �떞�떦遺��꽌
+                        key : "RELATION_ASSIGNEE_TEAM",
+                        width : "width-50-p",
                         position : 3,
-                        display : true
-                    }, {
-                        name : $filter("translate")("common.assignee"), // �떞�떦�옄
-                        issueId : "",
-                        key : "ASSIGNEE",
-                        width : "width-100-p",
-                        position : 4,
-                        display : true
+                        display : false,
+                        checkboxShow : true
                     }, {
                         name : $filter("translate")("common.register"), // �벑濡앹옄
-                        issueId : "",
-                        key : "REGISTER",
-                        width : "width-100-p",
-                        position : 5,
-                        display : false
+                        key : "RELATION_REGISTER",
+                        width : "width-50-p",
+                        position : 4,
+                        display : false,
+                        checkboxShow : true
                     }, {
                         name : $filter("translate")("common.period"), // 湲곌컙
-                        issueId : "",
-                        key : "PERIOD",
-                        width : "width-140-p",
-                        position : 6,
-                        display : false
+                        key : "RELATION_PERIOD",
+                        width : "width-100-p",
+                        position : 5,
+                        display : false,
+                        checkboxShow : true
                     }, {
                         name : $filter("translate")("common.lastChangeDate"), // 理쒓렐 蹂�寃쎌씪
-                        issueId : "",
-                        key : "MODIFY_DATE",
+                        key : "RELATION_MODIFY_DATE",
                         width : "width-100-p",
-                        position : 7,
-                        display : false
+                        position : 6,
+                        display : false,
+                        checkboxShow : true
                     }, {
                     }]
                 };
@@ -90,22 +99,23 @@
                     $rootScope.spinner = true;
 
                     var content = {
-                        issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs)
+                        issueTypeId : $rootScope.getCurrentIssueTypeId(),
+                        issueTableConfigs : JSON.stringify($scope.vm.issueRelTableConfigs)
                     };
 
-                    IssueTableConfig.addRelation($resourceProvider.getContent(content,
+                    IssueTableConfig.relationAdd($resourceProvider.getContent(content,
                         $resourceProvider.getPageContent(0, 0))).then(function (result) {
 
                         if (result.data.message.status === "success") {
                             SweetAlert.success($filter("translate")("issue.completedSavingIssueTable"), $filter("translate")("issue.saveIssueTableSettingsInformation")); // "�씠�뒋 �뀒�씠釉� �꽕�젙 ���옣 �셿猷�", "�씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂닿� ���옣�릺�뿀�뒿�땲�떎."
+                            swal.close();
+                            $scope.fn.cancel();
                             //  蹂�寃쎈맂 �씠�뒋 �뀒�씠釉� �젙蹂대�� �씠�뒋 紐⑸줉 �뀒�씠釉붿뿉 媛깆떊�븳�떎.
-                            $rootScope.$broadcast("getIssueTableConfigs", {});
+                            $rootScope.$broadcast("getIssueDetail", { id : $rootScope.currentDetailIssueId});
                         }
                         else {
                             SweetAlert.error($filter("translate")("issue.failedToSaveIssueTableSetting"), result.data.message.message); // �씠�뒋 �뀒�씠釉� �꽕�젙 ���옣 �떎�뙣
                         }
-
-                        $rootScope.spinner = false;
                     });
                 }
 
@@ -121,7 +131,7 @@
                 function getCustomFields() {
                     var deferred = $q.defer();
 
-                    CustomField.find($resourceProvider.getContent({},
+                    IssueTypeCustomField.findByIssueType($resourceProvider.getContent({issueTypeId : $rootScope.getCurrentIssueTypeId()},
                         $resourceProvider.getPageContent(0, 1000))).then(function (result) {
                         if (result.data.message.status !== "success") {
                             SweetAlert.error($filter("translate")("issue.failedToUserDefinedFieldListLookup"), result.data.message.message); // �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉 議고쉶 �떎�뙣
@@ -133,11 +143,20 @@
                     return deferred.promise;
                 }
 
+
+
                 //  �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 �젙蹂대�� 媛��졇�삩�떎.
-                function getIssueTableConfigs() {
+                function getRelIssueTableConfigs() {
                     var deferred = $q.defer();
 
-                    IssueTableConfig.detail($resourceProvider.getContent({},
+                    var content = {
+                        issueId : $rootScope.currentDetailIssueId,
+                        issueTypeId : $rootScope.getCurrentIssueTypeId(),
+                        delValue : $scope.vm.issueRelTableConfigs.splice(8,1),
+                        issueTableConfigs : JSON.stringify($scope.vm.issueRelTableConfigs)
+                    };
+
+                    IssueTableConfig.relationDetail($resourceProvider.getContent(content,
                         $resourceProvider.getPageContent(0, 1000))).then(function (result) {
                         if (result.data.message.status !== "success") {
                             SweetAlert.error($filter("translate")("issue.failedToIssueTableColumnLookup"), result.data.message.message); // �씠�뒋 �뀒�씠釉� 而щ읆 議고쉶 �떎�뙣
@@ -151,13 +170,14 @@
 
                 //  �궗�슜�옄 �젙�쓽 �븘�뱶瑜� 議고쉶�븳 �썑 �몴�떆�븷 �씠�뒋 �뀒�씠釉� 而щ읆�쓣 以�鍮꾪븳�떎.
                 $scope.fn.getCustomFields().then(function (result) {
-                    var count = 7;
+                    var count = 8;
                     angular.forEach(result, function (customField) {
-                        $scope.vm.issueTableConfigs.push({
+                        $scope.vm.issueRelTableConfigs.push({
                             name : customField.name,
                             key : "CUSTOM_FIELD_" + customField.id,
                             width : "width-100-p",
                             display : false,
+                            checkboxShow : true,
                             position : count
                         });
 
@@ -165,16 +185,17 @@
                     });
 
                     //  �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 �젙蹂대�� 媛��졇�삩�떎.
-                    $scope.fn.getIssueTableConfigs().then(function (issueTableConfigs) {
+                    $scope.fn.getRelIssueTableConfigs().then(function (issueTableConfigs) {
                         if ($rootScope.isDefined(issueTableConfigs)) {
                             $rootScope.spinner = true;
 
+                            // var saveTableConfigs = JSON.parse(issueTableConfigs);
                             var saveTableConfigs = JSON.parse(issueTableConfigs);
 
                             angular.forEach(saveTableConfigs, function (saveTableConfig) {
 
-                                for (var count in $scope.vm.issueTableConfigs) {
-                                    var issueTableConfig = $scope.vm.issueTableConfigs[count];
+                                for (var count in $scope.vm.issueRelTableConfigs) {
+                                    var issueTableConfig = $scope.vm.issueRelTableConfigs[count];
 
                                     if (issueTableConfig.key === saveTableConfig.key) {
                                         issueTableConfig.display = saveTableConfig.display;

--
Gitblit v1.8.0