From 264359a48d95948ea1b67bf1660521a4d8c1d598 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 09 12월 2021 14:22:13 +0900
Subject: [PATCH] 삭제할 이슈의 하위이슈가 존재할 경우 모두 삭제 & 이슈만 삭제

---
 src/main/webapp/scripts/app/issue/issueList.controller.js |  229 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 188 insertions(+), 41 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js
index bc60109..c596f5d 100644
--- a/src/main/webapp/scripts/app/issue/issueList.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -22,6 +22,7 @@
                     setTableColumn : setTableColumn,    //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
                     add : add,   //  �씠�뒋 �깮�꽦
                     modify : modify,    //  �씠�뒋 �닔�젙
+                    addRelationIssueForm : addRelationIssueForm,    //  �뿰愿� �씠�뒋 異붽�
                     modifyMultiIssueStatus : modifyMultiIssueStatus,    //  �씠�뒋 �떎以� �긽�깭 蹂�寃�
                     removes : removes,  //  �씠�뒋 �궘�젣
                     addIssueTableConfig : addIssueTableConfig,    //  �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙
@@ -37,7 +38,8 @@
                     getVmSearchObject : getVmSearchObject,  //  ���옣�븳 寃��깋 議곌굔�쓣 媛��졇���꽌 vm �뿉 �뀑�똿�븳�떎.
                     makeSearchConditions : makeSearchConditions,    //  寃��깋 議곌굔�쓣 留뚮뱺�떎.
                     getIssueTableConfigs : getIssueTableConfigs,  //  �궗�슜�옄 �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 媛믪쓣 媛��졇���꽌 �쟻�슜�븳�떎.
-                    startExecute : startExecute //  而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔
+                    startExecute : startExecute, //  而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔
+                    getResponseData : getResponseData //  而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔
                 };
 
                 //  蹂��닔
@@ -100,6 +102,10 @@
                 //  �씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂� 媛깆떊
                 $scope.$on("getIssueTableConfigs", function () {
                     $scope.fn.startExecute();
+                });
+
+                $scope.$on("changedIssueListMenu", function (event, args) {
+                    $scope.fn.getPageList($scope.vm.page.selectedPage - 1);
                 });
 
                 //  寃��깋 議곌굔�쓣 湲곗뼲�븳�떎. - �쟻�슜 蹂대쪟
@@ -197,30 +203,37 @@
                         .setDAlign("text-center"));
 
                     //  �긽�꽭�삎 �씪�븣�븣
-                   if ($scope.vm.detailView) {
-                        $scope.vm.tableConfigs.push($tableProvider.config()
-                            .setHName("issue.issueTitle")
-                            .setDName("title")
-                            .setDType("renderer")
-                            .setHWidth("width-100 bold")
-                            .setDRenderer("ISSUE_DETAIL_FLOATING"));
-                    }
-                    else {
-                       $scope.vm.tableConfigs.push($tableProvider.config()
-                           .setHName("issue.issueTitle")
-                           .setDName("title")
-                           .setDType("renderer")
-                           .setHWidth("bold")
-                           .setDRenderer("ISSUE_DETAIL_FLOATING"));
-
-                        angular.forEach($scope.vm.issueTableConfigs, function (issueTableConfig) {
-                            //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
-                            if (issueTableConfig.display) {
-                                //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
-                                $scope.fn.setTableColumn(issueTableConfig);
-                            }
-                        });
-                    }
+                   // if ($scope.vm.detailView) {
+                   //      $scope.vm.tableConfigs.push($tableProvider.config()
+                   //          .setHName("issue.issueTitle")
+                   //          .setDName("title")
+                   //          .setDType("renderer")
+                   //          .setHWidth("bold")
+                   //          .setDRenderer("ISSUE_DETAIL_FLOATING"));
+                   //  }
+                   //  else {
+                   //     $scope.vm.tableConfigs.push($tableProvider.config()
+                   //         .setHName("issue.issueTitle")
+                   //         .setDName("title")
+                   //         .setDType("renderer")
+                   //         .setHWidth("bold")
+                   //         .setDRenderer("ISSUE_DETAIL_FLOATING"));
+                   //
+                   //      angular.forEach($scope.vm.issueTableConfigs, function (issueTableConfig) {
+                   //          //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
+                   //          if (issueTableConfig.display) {
+                   //              //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
+                   //              $scope.fn.setTableColumn(issueTableConfig);
+                   //          }
+                   //      });
+                   //  }
+                    angular.forEach($scope.vm.issueTableConfigs, function (issueTableConfig) {
+                        //  �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎.
+                        if (issueTableConfig.display) {
+                            //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
+                            $scope.fn.setTableColumn(issueTableConfig);
+                        }
+                    });
                 }
 
                 //  �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎.
@@ -228,6 +241,15 @@
 
                     //  �씪諛� 而щ읆
                     switch(issueTableConfig.key) {
+                        case "ISSUE_TITLE" :   //  �씠�뒋 �젣紐�
+                            $scope.vm.tableConfigs.push($tableProvider.config()
+                                .setHName("issue.issueTitle")
+                                .setDType("renderer")
+                                .setHWidth("bold " + issueTableConfig.width)
+                                .setDAlign("text-center")
+                                .setDRenderer("ISSUE_TITLE"));
+                            break;
+
                         case "PRIORITY" :   //  �슦�꽑�닚�쐞
                             $scope.vm.tableConfigs.push($tableProvider.config()
                                 .setHName("common.priority")
@@ -283,6 +305,14 @@
                                 .setHWidth("bold " + issueTableConfig.width)
                                 .setDAlign("text-center")
                                 .setDName("modifyDate"));
+                            break;
+                        case "COUNT_DOWN_ISSUE" : //  �븯�쐞 �씠�뒋 媛쒖닔
+                            $scope.vm.tableConfigs.push($tableProvider.config()
+                                .setHName("common.countDownIssue")
+                                .setDType("renderer")
+                                .setHWidth("bold " + issueTableConfig.width)
+                                .setDAlign("text-center")
+                                .setDRenderer("DOWN_ISSUE_COUNT"));
                             break;
                     }
 
@@ -489,6 +519,7 @@
                     if ($rootScope.workProject != null && $rootScope.workProject.id > -1) {
                         var find = findProjectSearch($rootScope.workProject.id);
                         if (!find) {
+                            $scope.vm.projects = [];
                             $scope.vm.projects.push($rootScope.workProject);
                         }
                     }
@@ -511,12 +542,20 @@
                                 if (detail) {
                                     changeDetailView(result.data.data[0].id);
                                 }
+                            } else {
+                                $scope.vm.responseData = result.data;
                             }
+
                         }
                         else {
                             SweetAlert.error($filter("translate")("issue.failedIssueLookup"), result.data.message.message); // �씠�뒋 議고쉶 �떎�뙣
                         }
+
                     });
+                }
+
+                function getResponseData() {
+                    return $scope.data;
                 }
 
                 // �씠硫붿씪 �봽濡쒖젥�듃 寃쎈줈濡� �씠�룞 �썑 �긽�꽭 吏꾩엯�떆 議고쉶
@@ -630,10 +669,27 @@
                     });
                 }
 
+                function addRelationIssueForm(id) {
+                    $uibModal.open({
+                        templateUrl : 'views/issue/issueAddRelation.html',
+                        size : "lg",
+                        controller : 'issueAddRelationController',
+                        backdrop : 'static',
+                        resolve : {
+                            parameter : function () {
+                                return {
+                                    id : id,
+                                };
+                            }
+                        }
+                    });
+                }
+
                 //  �씠�뒋 �궘�젣
                 function removes() {
                     var removeIds = [];
                     var removePermission = true;
+                    var downIssueIds = false;
 
                     angular.forEach($scope.vm.responseData.data, function (data) {
                         if (data.checked && data.modifyPermissionCheck) {
@@ -642,6 +698,10 @@
 
                         if (data.checked && !data.modifyPermissionCheck) {
                             removePermission = false;
+                        }
+
+                        if (data.downIssueAllCount > 0){
+                            downIssueIds = true;
                         }
                     });
 
@@ -664,25 +724,23 @@
                         return;
                     }
 
-                    //  �궘�젣 �븣由�
-                    SweetAlert.swal({
-                            title : $filter("translate")("issue.deleteIssue"), // �씠�뒋 �궘�젣
-                            text : $filter("translate")("issue.wantToDeleteSelectIssue"), // �꽑�깮�븳 �씠�뒋�쓣 �궘�젣�븯寃좎뒿�땲源�? �궘�젣�맂 �씠�뒋�� 蹂듦뎄�븷 �닔 �뾾�뒿�땲�떎.
+                    if (downIssueIds) {
+                        SweetAlert.swal({
+                            title : $filter("translate")("common.deleteIssue"), // �씠�뒋 �궘�젣
+                            text : $filter("translate")("issue.wantToDeleteSelectDownIssue"), // �븯�쐞 �씠�뒋媛� 議댁옱 �빀�땲�떎. �꽑�깮�븳 �씠�뒋�� �븯�쐞 �씠�뒋 紐⑤몢 �궘�젣�븯寃좎뒿�땲源�? �궘�젣�맂 �씠�뒋�뒗 蹂듦뎄�븷 �닔 �뾾�뒿�땲�떎.
                             type : "warning",
                             showCancelButton : true,
                             confirmButtonColor : "#DD6B55",
                             confirmButtonText : $filter("translate")("common.delete"), // �궘�젣
                             cancelButtonText : $filter("translate")("common.cancel"), // 痍⑥냼
                             closeOnConfirm : false,
-                            closeOnCancel : true
+                            closeOnCancel : false
                         },
                         function (isConfirm) {
-                            SweetAlert.close();
-
-                            if (isConfirm) {
+                            if (isConfirm) { //�씠�뒋 + �븯�쐞 �궘�젣
                                 $rootScope.spinner = true;
 
-                                Issue.remove($resourceProvider.getContent(
+                                Issue.removeAllIssues($resourceProvider.getContent(
                                     { removeIds : removeIds },
                                     $resourceProvider.getPageContent(0, 0))).then(function (result) {
 
@@ -690,9 +748,7 @@
                                         $timeout(function () {
                                             SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // �궘�젣 �꽦怨�
                                         }, 100);
-
                                         $scope.fn.listView();
-
                                         $scope.fn.getPageList(0);
                                     }
                                     else {
@@ -700,11 +756,96 @@
                                             SweetAlert.error($filter("translate")("common.deleteFailed"), result.data.message.message); // �궘�젣 �떎�뙣
                                         }, 100);
                                     }
-
                                     $rootScope.spinner = false;
                                 });
+
+                            } else {//  �꽑�깮 �븳 �씠�뒋留� �궘�젣
+                                //  �궘�젣 �븣由�
+                                SweetAlert.swal({
+                                        title : $filter("translate")("issue.deleteIssue"), // �씠�뒋 �궘�젣
+                                        text : $filter("translate")("issue.wantToDeleteOnlySelectIssue"), // �꽑�깮�븳 �씠�뒋留� �궘�젣�븯寃좎뒿�땲源�? �궘�젣�맂 �씠�뒋�� 蹂듦뎄�븷 �닔 �뾾�뒿�땲�떎.
+                                        type : "warning",
+                                        showCancelButton : true,
+                                        confirmButtonColor : "#DD6B55",
+                                        confirmButtonText : $filter("translate")("common.delete"), // �궘�젣
+                                        cancelButtonText : $filter("translate")("common.cancel"), // 痍⑥냼
+                                        closeOnConfirm : false,
+                                        closeOnCancel : true
+                                    },
+                                    function (isConfirm) {
+                                        SweetAlert.close();
+
+                                        if (isConfirm) {
+                                            $rootScope.spinner = true;
+
+                                            Issue.remove($resourceProvider.getContent(
+                                                { removeIds : removeIds },
+                                                $resourceProvider.getPageContent(0, 0))).then(function (result) {
+
+                                                if (result.data.message.status === "success") {
+                                                    $timeout(function () {
+                                                        SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // �궘�젣 �꽦怨�
+                                                    }, 100);
+
+                                                    $scope.fn.listView();
+
+                                                    $scope.fn.getPageList(0);
+                                                }
+                                                else {
+                                                    $timeout(function () {
+                                                        SweetAlert.error($filter("translate")("common.deleteFailed"), result.data.message.message); // �궘�젣 �떎�뙣
+                                                    }, 100);
+                                                }
+
+                                                $rootScope.spinner = false;
+                                            });
+                                        }
+                                    });
                             }
                         });
+                    } else {
+                        //  �궘�젣 �븣由�
+                        SweetAlert.swal({
+                                title : $filter("translate")("issue.deleteIssue"), // �씠�뒋 �궘�젣
+                                text : $filter("translate")("issue.wantToDeleteSelectIssue"), // �꽑�깮�븳 �씠�뒋�쓣 �궘�젣�븯寃좎뒿�땲源�? �궘�젣�맂 �씠�뒋�� 蹂듦뎄�븷 �닔 �뾾�뒿�땲�떎.
+                                type : "warning",
+                                showCancelButton : true,
+                                confirmButtonColor : "#DD6B55",
+                                confirmButtonText : $filter("translate")("common.delete"), // �궘�젣
+                                cancelButtonText : $filter("translate")("common.cancel"), // 痍⑥냼
+                                closeOnConfirm : false,
+                                closeOnCancel : true
+                            },
+                            function (isConfirm) {
+                                SweetAlert.close();
+
+                                if (isConfirm) {
+                                    $rootScope.spinner = true;
+
+                                    Issue.remove($resourceProvider.getContent(
+                                        { removeIds : removeIds },
+                                        $resourceProvider.getPageContent(0, 0))).then(function (result) {
+
+                                        if (result.data.message.status === "success") {
+                                            $timeout(function () {
+                                                SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // �궘�젣 �꽦怨�
+                                            }, 100);
+
+                                            $scope.fn.listView();
+
+                                            $scope.fn.getPageList(0);
+                                        }
+                                        else {
+                                            $timeout(function () {
+                                                SweetAlert.error($filter("translate")("common.deleteFailed"), result.data.message.message); // �궘�젣 �떎�뙣
+                                            }, 100);
+                                        }
+
+                                        $rootScope.spinner = false;
+                                    });
+                                }
+                            });
+                    }
                 }
 
                 //  �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙
@@ -946,28 +1087,34 @@
                             else {
                                 //  理쒖큹 �뾽臾� 怨듦컙�뿉 �뱾�뼱�솕�쓣 寃쎌슦
                                 $scope.vm.issueTableConfigs = [{
+                                    name : $filter("translate")("issue.issueTitle"), // �씠�뒋 �젣紐�
+                                    key : "ISSUE_TITLE",
+                                    width : "width-140-p",
+                                    position : 1,
+                                    display : true
+                                }, {
                                     name : $filter("translate")("common.priority"), // �슦�꽑�닚�쐞
                                     key : "PRIORITY",
                                     width : "width-80-p",
-                                    position : 1,
+                                    position : 2,
                                     display : true
                                 }, {
                                     name : $filter("translate")("common.importance"), // 以묒슂�룄
                                     key : "SEVERITY",
                                     width : "width-80-p",
-                                    position : 2,
+                                    position : 3,
                                     display : true
                                 }, {
                                     name : $filter("translate")("issue.issueType"), // �씠�뒋 ���엯
                                     key : "ISSUE_TYPE",
                                     width : "width-140-p",
-                                    position : 3,
+                                    position : 4,
                                     display : true
                                 }, {
                                     name : $filter("translate")("common.assigneeTeam"), // �떞�떦遺��꽌
                                     key : "ASSIGNEE_TEAM",
                                     width : "width-140-p",
-                                    position : 4,
+                                    position : 5,
                                     display : true
                                 }];
                             }

--
Gitblit v1.8.0