From d348049a4a3c9fa32c3eb566c69df6d8adf652a8 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 월, 29 11월 2021 01:57:02 +0900
Subject: [PATCH] 이슈 상세 유형별 수정

---
 src/main/webapp/scripts/app/issue/issueDetail.controller.js |  300 ++++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 203 insertions(+), 97 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
index 6c65f71..cb2300e 100644
--- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -8,8 +8,9 @@
         'angular'
     ],
     function (app, angular) {
-        app.controller('issueDetailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'SweetAlert', '$timeout', 'Issue', 'IssueComment', 'IssueRelation', 'AttachedFile', 'IssueStatus', 'IssueTableConfig', '$filter',
-            function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, SweetAlert, $timeout, Issue, IssueComment, IssueRelation, AttachedFile, IssueStatus, IssueTableConfig, $filter) {
+        app.controller('issueDetailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', '$q',
+            '$controller', '$injector', 'SweetAlert', '$timeout', 'Issue', 'IssueComment', 'IssueRelation', 'AttachedFile',  'Priority', 'Severity','IssueStatus', 'HostingField', 'IssueTableConfig', '$filter',
+            function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, $q, $controller, $injector, SweetAlert, $timeout, Issue, IssueComment, IssueRelation, AttachedFile, Priority, Severity, IssueStatus, HostingField, IssueTableConfig, $filter) {
 
                 //  IssueListController vm, fn 蹂��닔 �긽�냽.
 
@@ -40,9 +41,11 @@
                 $scope.fn.addDownIssueTableConfig = addDownIssueTableConfig;      // �븯�쐞 �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙
                 $scope.fn.getRelTableConfigs = getRelTableConfigs;
                 $scope.fn.getDownTableConfigs = getDownTableConfigs;
+                $scope.fn.containsPartner = containsPartner;
+                $scope.fn.getPartners = getPartners;
 
                 //  �씠�뒋 紐⑸줉 而⑦듃濡ㅻ윭 vm, fn �긽�냽 以�
-                $scope.vm.viewer = {};
+                $scope.vm.viewer = [];
                 $scope.vm.images = [];  //  泥⑤��맂 �뙆�씪 以� �씠誘몄� �뙆�씪
                 $scope.vm.activeTab = "ALL";    //  �솢�룞 �궡�뿭 �꺆
                 //  �씠�뒋 �긽�깭 蹂�寃� �몴�떆 �뿬遺�
@@ -112,11 +115,13 @@
                     $scope.$parent.tableEvent.changeDetailView(issue.id);
                 }
 
-                // �븯�쐞 �씪媛� �궘�젣
+                angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
+
+                // �븯�쐞 �씠�뒋 �궘�젣
                 function removeDownIssue(id) {
                     //  �궘�젣 �븣由�
                     SweetAlert.swal({
-                            title : $filter("translate")("issue.downIssueRemove"), // �뿰愿� �씪媛� �궘�젣
+                            title : $filter("translate")("issue.downIssueRemove"), // �븯�쐞 �씠�뒋 �궘�젣
                             text : $filter("translate")("issue.wantToDeleteSelectIssue"),
                             type : "warning",
                             showCancelButton : true,
@@ -154,11 +159,11 @@
 
                 }
 
-                // �뿰愿� �씪媛� �궘�젣
+                // �뿰愿� �씠�뒋 �궘�젣
                 function removeRelationIssue(id) {
                     //  �궘�젣 �븣由�
                     SweetAlert.swal({
-                            title : $filter("translate")("issue.relationIssueRemove"), // �뿰愿� �씪媛� �궘�젣
+                            title : $filter("translate")("issue.relationIssueRemove"), // �뿰愿� �씠�뒋 �궘�젣
                             text : $filter("translate")("issue.wantToDeleteSelectIssue"),
                             type : "warning",
                             showCancelButton : true,
@@ -202,10 +207,12 @@
                 }
 
                 //  �뀒�씠釉붿쓽 �뿰愿� �씠�뒋 而щ읆�쓣 留뚮뱾�뼱以��떎.
-                function setRelTableColumn(issueTableConfig) {
+                function setRelTableColumn(Rel_issueTableConfig) {
 
-                    //  �뿰愿� �씠�뒋  而щ읆
-                    switch(issueTableConfig.key) {
+                    //  �뿰愿� �씠�뒋 而щ읆
+                    switch(Rel_issueTableConfig.key) {
+
+                        // �뿰愿� �씠�뒋 援щ텇
                         case "RELATION_ISSUE_TYPE" :
                             $scope.vm.relTableConfigs.push($tableProvider.config()
                                 .setHName("issue.relationIssueType")
@@ -214,6 +221,7 @@
                                 .setHSort(false)
                                 .setDRenderer("ISSUE_RELATION_TYPE"))
                             break;
+                        // �뿰愿� �씠�뒋 �젣紐�
                         case "RELATION_ISSUE_TITLE" :
                             $scope.vm.relTableConfigs.push($tableProvider.config()
                                 .setHName("issue.relationIssueTitle")
@@ -222,78 +230,80 @@
                                 .setHSort(false)
                                 .setDRenderer("ISSUE_RELATION_MOVE"))
                             break;
-                        case "PRIORITY" :   //  �슦�꽑�닚�쐞
+                        case "PRIORITY" :   // �뿰愿� �씠�뒋 �슦�꽑�닚�쐞
                             $scope.vm.relTableConfigs.push($tableProvider.config()
                                 .setHName("common.priority")
                                 .setDName("priorityName")
                                 .setDType("renderer")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Rel_issueTableConfig.width)
                                 .setDAlign("text-center")
-                                .setDRenderer("COMMON_PRIORITY"));
+                                .setDRenderer("REL_COMMON_PRIORITY"));
                             break;
-                        case "SEVERITY" :   //  以묒슂�룄
+                        case "SEVERITY" :   //  �뿰愿� �씠�뒋 以묒슂�룄
                             $scope.vm.relTableConfigs.push($tableProvider.config()
                                 .setHName("common.importance")
                                 .setDName("severityName")
                                 .setDType("renderer")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Rel_issueTableConfig.width)
                                 .setDAlign("text-center")
-                                .setDRenderer("COMMON_SEVERITY"));
+                                .setDRenderer("REL_COMMON_SEVERITY"));
                             break;
-                        case "ISSUE_TYPE" : //  �씠�뒋 ���엯
-                            $scope.vm.relTableConfigs.push($tableProvider.config()
-                                .setHName("issue.issueType")
-                                .setHWidth("bold " + issueTableConfig.width)
-                                .setDAlign("text-center")
-                                .setDName("issueTypeName"));
-                            break;
-                        case "ASSIGNEE_TEAM" :   //  �떞�떦遺��꽌
+                        case "ASSIGNEE_TEAM" :   // �뿰愿� �씠�뒋 �떞�떦遺��꽌
                             $scope.vm.relTableConfigs.push($tableProvider.config()
                                 .setHName("common.assigneeTeam")
                                 .setDType("renderer")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Rel_issueTableConfig.width)
                                 .setDAlign("text-center")
-                                .setDRenderer("ISSUE_DEPARTMENT"));
+                                .setDRenderer("REL_ISSUE_DEPARTMENT"));
                             break;
-                        case "REGISTER" :   //  �벑濡앹옄
+
+                        case "REGISTER" :   // �뿰愿� �씠�뒋  �벑濡앹옄
                             $scope.vm.relTableConfigs.push($tableProvider.config()
                                 .setHName("common.register")
                                 .setDType("renderer")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Rel_issueTableConfig.width)
                                 .setDAlign("text-center")
-                                .setDRenderer("REGISTER"));
+                                .setDRenderer("REL_REGISTER"));
                             break;
-                        case "PERIOD" : //  湲곌컙
+                        case "PERIOD" : // �뿰愿� �씠�뒋 湲곌컙
                             $scope.vm.relTableConfigs.push($tableProvider.config()
                                 .setHName("common.period")
                                 .setDType("renderer")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Rel_issueTableConfig.width)
                                 .setDAlign("text-center")
-                                .setDRenderer("ISSUE_DUE_DATE"));
+                                .setDRenderer("REL_ISSUE_DUE_DATE"));
                             break;
-                        case "MODIFY_DATE" : //  理쒓렐 蹂�寃쎌씪
+                        case "MODIFY_DATE" : // �뿰愿� �씠�뒋  理쒓렐 蹂�寃쎌씪
                             $scope.vm.relTableConfigs.push($tableProvider.config()
                                 .setHName("common.lastChangeDate")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Rel_issueTableConfig.width)
                                 .setDAlign("text-center")
                                 .setDName("modifyDate"));
                             break;
+                        // default :"ISSUE_RELATION_DELETE" //  �뿰愿� �궘�젣
+                        //     $scope.vm.relTableConfigs.push($tableProvider.config()
+                        //         .setHName("issue.downIssueTitle")
+                        //         .setDType("renderer")
+                        //         .setHWidth("bold" + issueTableConfig.width)
+                        //         .setHSort(false)
+                        //         .setDRenderer("ISSUE_RELATION_DELETE"));
+                        //     break;
                     }
 
                     //  �궗�슜�옄 �젙�쓽 �븘�뱶 而щ읆
-                    if (issueTableConfig.key.indexOf("CUSTOM_FIELD_") !== -1) {
+                    if (Rel_issueTableConfig.key.indexOf("CUSTOM_FIELD_") !== -1) {
                         //  留뚯빟 �씠�뒋 �뀒�씠釉� 而щ읆紐낆씠 �몴�떆�릺吏� �븡�쑝硫� �씠履쎌씠 臾몄젣
                         for (var count in $scope.vm.customFields) {
                             var customField = $scope.vm.customFields[count];
 
-                            if (customField.id === Number(issueTableConfig.key.substring(13))) {
+                            if (customField.id === Number(Rel_issueTableConfig.key.substring(13))) {
                                 $scope.vm.relTableConfigs.push($tableProvider.config()
                                     .setHName(customField.name)
                                     .setDType("renderer")
-                                    .setHWidth("bold " + issueTableConfig.width)
+                                    .setHWidth("bold " + Rel_issueTableConfig.width)
                                     .setDAlign("text-center")
                                     .setColumnHint(customField)
-                                    .setDRenderer("ISSUE_CUSTOM_FIELD_VALUE_VIEW"));
+                                    .setDRenderer("REL_ISSUE_CUSTOM_FIELD_VALUE_VIEW"));
                                 break;
                             }
                         }
@@ -302,98 +312,90 @@
 
 
                 //  �뀒�씠釉붿쓽 �븯�쐞 �씠�뒋 而щ읆�쓣 留뚮뱾�뼱以��떎.
-                function setDownTableColumn(issueTableConfig) {
+                function setDownTableColumn(Down_issueTableConfig) {
                     // if (issueTableConfig == null) return;
 
                     //  �븯�쐞 �씠�뒋 而щ읆
-                    switch(issueTableConfig.key) {
-                        case "DOWN_ISSUE_TITLE" :   //  �슦�꽑�닚�쐞
+                    switch(Down_issueTableConfig.key) {
+                        //  �븯�쐞 �씠�뒋 �젣紐�
+                        case "DOWN_ISSUE_TITLE" :
                             $scope.vm.downTableConfigs.push($tableProvider.config()
                                 .setHName("issue.downIssueTitle")
                                 .setDType("renderer")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Down_issueTableConfig.width)
                                 .setDAlign("text-center")
                                 .setDRenderer("ISSUE_DOWN_MOVE"));
                             break;
-                        case "PRIORITY" :   //  �슦�꽑�닚�쐞
+                        case "PRIORITY" :   // �븯�쐞 �씠�뒋 �슦�꽑�닚�쐞
                             $scope.vm.downTableConfigs.push($tableProvider.config()
                                 .setHName("common.priority")
                                 .setDName("priorityName")
                                 .setDType("renderer")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Down_issueTableConfig.width)
                                 .setDAlign("text-center")
-                                .setDRenderer("COMMON_PRIORITY"));
+                                .setDRenderer("DOWN_COMMON_PRIORITY"));
                             break;
                         case "SEVERITY" :   //  以묒슂�룄
                             $scope.vm.downTableConfigs.push($tableProvider.config()
                                 .setHName("common.importance")
                                 .setDName("severityName")
                                 .setDType("renderer")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Down_issueTableConfig.width)
                                 .setDAlign("text-center")
-                                .setDRenderer("COMMON_SEVERITY"));
-                            break;
-                        case "ISSUE_TYPE" : //  �씠�뒋 ���엯
-                            $scope.vm.downTableConfigs.push($tableProvider.config()
-                                .setHName("issue.issueType")
-                                .setHWidth("bold " + issueTableConfig.width)
-                                .setDAlign("text-center")
-                                .setDName("issueTypeName"));
+                                .setDRenderer("DOWN_COMMON_SEVERITY"));
                             break;
                         case "ASSIGNEE_TEAM" :   //  �떞�떦遺��꽌
                             $scope.vm.downTableConfigs.push($tableProvider.config()
                                 .setHName("common.assigneeTeam")
                                 .setDType("renderer")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Down_issueTableConfig.width)
                                 .setDAlign("text-center")
-                                .setDRenderer("ISSUE_DEPARTMENT"));
+                                .setDRenderer("DOWN_ISSUE_DEPARTMENT"));
                             break;
                         case "REGISTER" :   //  �벑濡앹옄
                             $scope.vm.downTableConfigs.push($tableProvider.config()
                                 .setHName("common.register")
                                 .setDType("renderer")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Down_issueTableConfig.width)
                                 .setDAlign("text-center")
-                                .setDRenderer("REGISTER"));
+                                .setDRenderer("DOWN_REGISTER"));
                             break;
                         case "PERIOD" : //  湲곌컙
                             $scope.vm.downTableConfigs.push($tableProvider.config()
                                 .setHName("common.period")
                                 .setDType("renderer")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Down_issueTableConfig.width)
                                 .setDAlign("text-center")
-                                .setDRenderer("ISSUE_DUE_DATE"));
+                                .setDRenderer("DOWN_ISSUE_DUE_DATE"));
                             break;
                         case "MODIFY_DATE" : //  理쒓렐 蹂�寃쎌씪
                             $scope.vm.downTableConfigs.push($tableProvider.config()
                                 .setHName("common.lastChangeDate")
-                                .setHWidth("bold " + issueTableConfig.width)
+                                .setHWidth("bold " + Down_issueTableConfig.width)
                                 .setDAlign("text-center")
                                 .setDName("modifyDate"));
                             break;
                     }
 
                     //  �궗�슜�옄 �젙�쓽 �븘�뱶 而щ읆
-                    if (issueTableConfig.key.indexOf("CUSTOM_FIELD_") === -1) {
+                    if (Down_issueTableConfig.key.indexOf("CUSTOM_FIELD_") !== -1) {
                         //  留뚯빟 �씠�뒋 �뀒�씠釉� 而щ읆紐낆씠 �몴�떆�릺吏� �븡�쑝硫� �씠履쎌씠 臾몄젣
                         for (var count in $scope.vm.customFields) {
                             var customField = $scope.vm.customFields[count];
 
-                            if (customField.id === Number(issueTableConfig.key.substring(13))) {
+                            if (customField.id === Number(Down_issueTableConfig.key.substring(13))) {
                                 $scope.vm.downTableConfigs.push($tableProvider.config()
                                     .setHName(customField.name)
                                     .setDType("renderer")
-                                    .setHWidth("bold " + issueTableConfig.width)
+                                    .setHWidth("bold " + Down_issueTableConfig.width)
                                     .setDAlign("text-center")
                                     .setColumnHint(customField)
-                                    .setDRenderer("ISSUE_CUSTOM_FIELD_VALUE_VIEW"));
+                                    .setDRenderer("DOWN_ISSUE_CUSTOM_FIELD_VALUE_VIEW"));
                                 break;
                             }
                         }
                     }
                 }
-
-
 
 
                 //  �뿰愿� �씠�뒋 �뀒�씠釉� �꽕�젙
@@ -402,21 +404,31 @@
                     $scope.vm.relTableConfigs.push($tableProvider.config()
                         .setHName("issue.relationIssueType")
                         .setDType("renderer")
-                        .setHWidth("width-30 bold")
+                        .setDAlign("text-center")
+                        .setHWidth("width-30-p bold")
                         .setHSort(false)
                         .setDRenderer("ISSUE_RELATION_TYPE"))
                     $scope.vm.relTableConfigs.push($tableProvider.config()
                         .setHName("issue.relationIssueTitle")
                         .setDType("renderer")
-                        .setHWidth("width-60 bold")
+                        .setDAlign("text-center")
+                        .setHWidth("width-60-p bold")
                         .setHSort(false)
                         .setDRenderer("ISSUE_RELATION_MOVE"))
+                    $scope.vm.relTableConfigs.push($tableProvider.config()
+                        .setHName("issue.relationIssueDelete")
+                        .setDType("renderer")
+                        .setDAlign("text-center")
+                        .setHWidth("width-20-p bold")
+                        .setDRenderer("ISSUE_RELATION_DELETE")
+                        .setHSort(false)
+                        .setDAlign("text-center"))
 
-                    angular.forEach($scope.vm.relTableConfigs, function (issueTableConfig) {
+                    angular.forEach($scope.vm.relTableConfigs, function (Rel_issueTableConfig) {
                         //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
-                        if (issueTableConfig.display) {
+                        if (Rel_issueTableConfig.display) {
                             //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
-                            $scope.fn.setRelTableColumn(issueTableConfig);
+                            $scope.fn.setRelTableColumn(Rel_issueTableConfig);
                         }
                     });
                 }
@@ -427,21 +439,24 @@
                     $scope.vm.downTableConfigs.push($tableProvider.config()
                         .setHName("issue.downIssueTitle")
                         .setDType("renderer")
-                        .setHWidth("width-60 bold")
+                        .setDAlign("text-center")
+                        .setHWidth("width-60-p bold")
                         .setHSort(false)
                         .setDRenderer("ISSUE_DOWN_MOVE"))
                     $scope.vm.downTableConfigs.push($tableProvider.config()
                         .setHName("issue.relationIssueDelete")
                         .setDType("renderer")
-                        .setHWidth("width-10 bold")
+                        .setDAlign("text-center")
+                        .setHWidth("width-20-p bold")
                         .setDRenderer("ISSUE_DOWN_DELETE")
                         .setHSort(false)
                         .setDAlign("text-center"))
-                    angular.forEach($scope.vm.downTableConfigs, function (issueTableConfig) {
+
+                    angular.forEach($scope.vm.downTableConfigs, function (Down_issueTableConfig) {
                         //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
-                        if (issueTableConfig.display) {
+                        if (Down_issueTableConfig.display) {
                             //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
-                            $scope.fn.setDownTableColumn(issueTableConfig);
+                            $scope.fn.setDownTableColumn(Down_issueTableConfig);
                         }
                     });
                 }
@@ -449,7 +464,8 @@
                 // �뿰愿� �씠�뒋 �긽�꽭 議고쉶
                 function getRelTableConfigs() {
                     var content = {
-                        issueId : $scope.vm.viewer.id
+                        issueId : $scope.vm.viewer.id,
+                        issueTypeId : $rootScope.getCurrentIssueTypeId()
                     };
 
                     IssueTableConfig.relationDetail($resourceProvider.getContent(
@@ -462,19 +478,43 @@
                             //  �뿰愿� �뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 媛믪쓣 媛��졇���꽌 �쟻�슜�븳�떎.
                             if ($rootScope.isDefined(issueTableConfigs)) {
                                 //  �씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂대�� ���옣 �븳�떎.
+
                                 $scope.vm.issueRelTableConfigs = [];
                                 $scope.vm.issueRelTableConfigs = JSON.parse(issueTableConfigs);
                                 $scope.vm.issueRelTableConfigs.sort(function (a, b) {
                                     return a.position < b.position ? -1 : a.position > b.position ? 1 : 0;
                                 });
 
-                                angular.forEach($scope.vm.issueRelTableConfigs, function (issueTableConfig) {
+                                $scope.vm.relTableConfigs = [];
+                                $scope.vm.relTableConfigs.push($tableProvider.config()
+                                    .setHName("issue.relationIssueType")
+                                    .setDType("renderer")
+                                    .setDAlign("text-center")
+                                    .setHWidth("width-30-p bold")
+                                    .setHSort(false)
+                                    .setDRenderer("ISSUE_RELATION_TYPE"))
+                                $scope.vm.relTableConfigs.push($tableProvider.config()
+                                    .setHName("issue.relationIssueTitle")
+                                    .setDType("renderer")
+                                    .setDAlign("text-center")
+                                    .setHWidth("width-60-p bold")
+                                    .setHSort(false)
+                                    .setDRenderer("ISSUE_RELATION_MOVE"))
+                                angular.forEach($scope.vm.issueRelTableConfigs, function (Rel_issueTableConfig) {
                                     //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
-                                    if (issueTableConfig.display) {
+                                    if (Rel_issueTableConfig.display) {
                                         //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
-                                        $scope.fn.setRelTableColumn(issueTableConfig);
+                                        $scope.fn.setRelTableColumn(Rel_issueTableConfig);
+
                                     }
                                 });
+                                $scope.vm.relTableConfigs.push($tableProvider.config()
+                                    .setHName("issue.relationIssueDelete")
+                                    .setDType("renderer")
+                                    .setHWidth("width-20-p bold")
+                                    .setDRenderer("ISSUE_RELATION_DELETE")
+                                    .setHSort(false)
+                                    .setDAlign("text-center"))
 
                             } else {
                                 makeRelTableConfigs();
@@ -489,7 +529,8 @@
                 // �븯�쐞 �씠�뒋 �긽�꽭 議고쉶
                 function getDownTableConfigs() {
                     var content = {
-                        issueId : $scope.vm.viewer.id
+                        issueId : $scope.vm.viewer.id,
+                        issueTypeId : $rootScope.getCurrentIssueTypeId()
                     };
 
                     IssueTableConfig.downDetail($resourceProvider.getContent(
@@ -507,14 +548,28 @@
                                 $scope.vm.issueDownTableConfigs.sort(function (a, b) {
                                     return a.position < b.position ? -1 : a.position > b.position ? 1 : 0;
                                 });
-
-                                angular.forEach($scope.vm.issueDownTableConfigs, function (issueTableConfig) {
+                                $scope.vm.downTableConfigs = [];
+                                $scope.vm.downTableConfigs.push($tableProvider.config()
+                                    .setHName("issue.downIssueTitle")
+                                    .setDType("renderer")
+                                    .setDAlign("text-center")
+                                    .setHWidth("width-60-p bold")
+                                    .setHSort(false)
+                                    .setDRenderer("ISSUE_DOWN_MOVE"))
+                                angular.forEach($scope.vm.issueDownTableConfigs, function (Down_issueTableConfig) {
                                     //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
-                                    if (issueTableConfig.display) {
+                                    if (Down_issueTableConfig.display) {
                                         //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
-                                        $scope.fn.setDownTableColumn(issueTableConfig);
+                                        $scope.fn.setDownTableColumn(Down_issueTableConfig);
                                     }
                                 });
+                                $scope.vm.downTableConfigs.push($tableProvider.config()
+                                    .setHName("issue.relationIssueDelete")
+                                    .setDType("renderer")
+                                    .setHWidth("width-20-p bold")
+                                    .setDRenderer("ISSUE_DOWN_DELETE")
+                                    .setHSort(false)
+                                    .setDAlign("text-center"))
 
                             } else {
                                 makeDownTableConfigs();
@@ -541,7 +596,8 @@
                     var contents = {
                         relationIssueType : $scope.vm.relationIssueType.id,
                         issueId : $rootScope.currentDetailIssueId,
-                        relationIssueId : $scope.vm.form.issues[0].id
+                        relationIssueId : $scope.vm.form.issues[0].id,
+                        priorityName : $scope.vm.priorityName
                     };
 
                     IssueRelation.add($resourceProvider.getContent(
@@ -585,6 +641,12 @@
                 }
 
                 //  �씠�뒋紐낆쓣 �겢由��븯硫� �씠�뒋 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎.
+                $rootScope.$on("getIssueDetail", function (event, args) {
+                    $scope.vm.viewer.id = args["id"];
+                    $scope.fn.getIssueDetail();
+                });
+
+                //  �씠�뒋紐낆쓣 �겢由��븯硫� �씠�뒋 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.$on("getIssueDetail", function (event, args) {
                     $scope.vm.viewer.id = args["id"];
                     $scope.fn.getIssueDetail();
@@ -595,9 +657,9 @@
                     $scope.vm.editor.issueStatus = false;
                     $scope.vm.issueForm.issueStatusList = [];
                     $scope.vm.issueForm.issueStatusId = "";
-                    if ($scope.$root.$$phase !== '$apply' && $scope.$root.$$phase !== '$digest') {
+                    /*if ($scope.$root.$$phase !== '$apply' && $scope.$root.$$phase !== '$digest') {
                         $scope.$apply();
-                    }
+                    }*/
                 }
 
                 //  �씠�뒋 �긽�깭 蹂�寃�
@@ -610,7 +672,8 @@
                         resolve : {
                             parameter : function () {
                                 return {
-                                    issueIds : [$scope.vm.viewer.id]
+                                    issueIds : [$scope.vm.viewer.id],
+                                    projectId : $scope.vm.viewer.projectVo.id
                                 };
                             }
                         }
@@ -660,22 +723,35 @@
                 //  �뿰愿� �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙
                 function addRelationIssueTableConfig() {
                     $uibModal.open({
-                        templateUrl : 'views/issue/issueRelationTableConfig.html',
+                        templateUrl : 'views/issue/issueAddRelationTableConfig.html',
                         size : "lg",
                         controller : 'issueAddRelationTableConfigController',
                         backdrop : 'static',
-                        resolve : {}
+                        resolve : {
+                            parameter : function () {
+                                return {
+                                    issueTypeId : $scope.vm.viewer.issueTypeVo.id
+
+                                };
+                            }
+                        }
                     });
                 }
 
                 //  �븯�쐞 �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙
                 function addDownIssueTableConfig() {
                     $uibModal.open({
-                        templateUrl : 'views/issue/issueDownTableConfig.html',
+                        templateUrl : 'views/issue/issueAddDownTableConfig.html',
                         size : "lg",
                         controller : 'issueAddDownTableConfigController',
                         backdrop : 'static',
-                        resolve : {}
+                        resolve : {
+                            parameter : function () {
+                                return {
+                                    issueTypeId : $scope.vm.viewer.issueTypeVo.id
+                                };
+                            }
+                        }
                     });
                 }
 
@@ -715,13 +791,14 @@
                     $scope.fn.getRelTableConfigs();
                     $scope.fn.getDownTableConfigs();
 
-                    Issue.detail($resourceProvider.getContent(
+                        Issue.detail($resourceProvider.getContent(
                         {id : $scope.vm.viewer.id, deep : "02"},
                         $resourceProvider.getPageContent(0, 1))).then(function (result) {
 
                         if (result.data.message.status === "success") {
                             if (angular.isDefined(result.data.data)) {
                                 $scope.vm.viewer = angular.copy(result.data.data);
+
                                 //  �씠�뒋 �씠誘몄� 誘몃━ 蹂닿린 留뚮뱾湲�
                                 $scope.fn.makePreviewImages(result.data.data.attachedFileVos);
                                 //  �솢�룞 �씠�젰 留뚮뱾湲�
@@ -734,7 +811,6 @@
                                 $scope.fn.setFormByIssueTypeCustomFields(result.data.data.issueTypeCustomFieldVos);
                                 //  �씠�뒋�뿉�꽌 �궗�슜�옄媛� �꽑�깮�븳 �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪쓣 �엯�젰 �뤌�뿉 �뀑�똿�븳�떎.
                                 $scope.fn.setUseValueByIssueTypeCustomFields(result.data.data.issueCustomFieldValueVos);
-
 
                                 // �뿰愿� �씪媛�
                                 $scope.vm.issueName = "";
@@ -756,7 +832,6 @@
 
                                 $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos;
                                 $scope.vm.viewer.issueDownVos = result.data.data.issueDownVos;
-
                             }
                         }
                         else {
@@ -765,6 +840,25 @@
                     });
                 }
 
+
+                // ===================================================================================
+
+                // �뾽泥�/ISP/�샇�뒪�똿 �씠由꾩씠 �룷�븿 �뿬遺� �솗�씤
+                function containsPartner(name) {
+                    var result = false;
+                    // �씪�떒 viewer瑜� 留⑥쐞�뿉 �꽑�뼵�빐 {} �씠�젃寃� �꽑�뼵�빐 �몢�뿀�뒗�뜲 媛믩뱾�씠 �뼱�뼡�떇�쑝濡� 蹂��솚�씠 �맟�뒗吏��뒗
+                    // 紐곕씪�꽌 諛곗뿴濡� �꽆�뼱���꽌 珥덇린媛믪쓣 諛곗뿴濡� 諛붽씀�뿀�뜑�땲 �씠�뒋 �긽�꽭�뿉�꽌�뒗 蹂댁씤�떎
+                    // �씠�젣 �씠�뒋 異붽��뿉�꽌 媛믪씠 �뼱�뼸寃� �꽆�뼱�삤�뒗吏� �솗�씤�빐蹂댁옄!
+                    if ($scope.vm.viewer.usePartnerVos != null) {
+                        $scope.vm.viewer.usePartnerVos.forEach(function (partnerVo) {
+                            if (name === partnerVo.name) {
+                                result = true;
+                            }
+                        });
+                    }
+                    return result;
+
+                }
                 //  �씠�뒋 �씠誘몄� 誘몃━ 蹂닿린 留뚮뱾湲�
                 function makePreviewImages(attachedFileVos) {
                     //  誘몃━蹂닿린 �씠誘몄� 珥덇린�솕
@@ -941,6 +1035,18 @@
                     });
                 }
 
+                function getPartners() {
+
+                    HostingField.getPartnerList($resourceProvider.getContent(
+                        {},
+                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
+                        if (result.data.message.status === "success") {
+                            $scope.vm.partnerVos = result.data.data.usePartnerVos;
+                        }
+                    });
+
+                }
+
                 //  �듅�젙 �궗�슜�옄�뿉寃� �씠�뒋瑜� 硫붿씪濡� 諛쒖넚
                 function sendMail(issueId, projectId) {
                     $uibModal.open({

--
Gitblit v1.8.0