From 9ff3e8c43d01f758381b4925cff44502f1241750 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 수, 22 12월 2021 14:26:36 +0900 Subject: [PATCH] - 일반 사용자로 검색 기능 제대로 동작안되는 문제 해결 - 이슈 유형에서 사용중인 프로젝트는 삭제 불가 - 이슈 유형에서 프로젝트 검색 시 워크스페이스 관리자는 모든 프로젝트 검색 가능(기존엔 참여하고있는 프로젝트만 검색가능하게되어있었음) --- src/main/webapp/scripts/app/issue/issueList.controller.js | 111 +++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 86 insertions(+), 25 deletions(-) diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js index a4eeb0e..46c4c54 100644 --- a/src/main/webapp/scripts/app/issue/issueList.controller.js +++ b/src/main/webapp/scripts/app/issue/issueList.controller.js @@ -24,6 +24,7 @@ add : add, // �씠�뒋 �깮�꽦 modify : modify, // �씠�뒋 �닔�젙 addRelationIssueForm : addRelationIssueForm, // �뿰愿� �씠�뒋 異붽� + addDownIssueForm : addDownIssueForm, // �븯�쐞 �씠�뒋 異붽� modifyMultiIssueStatus : modifyMultiIssueStatus, // �씠�뒋 �떎以� �긽�깭 蹂�寃� removes : removes, // �씠�뒋 �궘�젣 addIssueTableConfig : addIssueTableConfig, // �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 @@ -47,13 +48,15 @@ // 蹂��닔 $scope.vm = { + projectId : "", issueTypeId : "", partnerVos : "", search : { - keyWord : "", // �쟾泥� 寃��깋 + keyWord : "", // 寃��깋 title : "", // �젣紐� description : "", // �궡�슜 combinationIssueNumber : "", // �씠�뒋 踰덊샇 + issueNumber : "", projectType : "BTS_PROJECT", // �봽濡쒖젥�듃 �쑀�삎 registerDateRange : "", // �벑濡앹씪 湲곌컙 寃��깋 startDateRange : "", // �떆�옉�씪 湲곌컙 寃��깋 @@ -62,6 +65,9 @@ priorityIds : [], // �슦�꽑�닚�쐞 寃��깋 issueStatusIds : [], // �씠�뒋 �긽�깭 寃��깋 issueTypeIds : [] // �씠�뒋 �쑀�삎 寃��깋 + }, + searchAll : { + keyWord : "", // �쟾泥� 寃��깋 }, searchView : false, // �긽�꽭 寃��깋 議곌굔 �몴�떆 �뿬遺� detailView : false, // �긽�꽭 紐⑤뱶 蹂�寃� 媛� @@ -90,7 +96,8 @@ issueTableConfigs : [], // �씠�뒋 �뀒�씠釉� �꽕�젙 issueTreeConfigs : [], // �씠�뒋 �뀒�씠釉� �꽕�젙 parentIssueId : "", - hideIssue : false, + hideCompleteIssue : false, + hideDownIssue : true, listMode : 0, // 紐⑸줉 紐⑤뱶 0:湲곕낯 由ъ뒪�듃 1:�듃由ш뎄議� 由ъ뒪�듃 }; @@ -101,10 +108,20 @@ angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); + // �씠�뒋紐⑸줉 �깉濡쒓퀬移� 紐⑸줉 媛깆떊 + $scope.$on("findIssueListOK", function (event, args) { + if (args != null) { + $scope.fn.startExecute(); + } + }); + // �씠�뒋 紐⑸줉 �뜲�씠�꽣 媛깆떊 $scope.$on("getIssueList", function () { $scope.fn.getPageList($scope.vm.page.selectedPage - 1); }); + + // �씠�뒋 紐⑸줉 �깉濡쒓퀬移� + $rootScope.$on("getIssueList", function (event, args) {}) // �씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂� 媛깆떊 $scope.$on("getIssueTableConfigs", function () { @@ -116,10 +133,9 @@ }); // �긽�떒 寃��깋�떆 - $scope.$on("searchIssueList", function (event, args) { - $scope.vm.search.keyWord = args.keyWord; + $rootScope.$on("searchIssueList", function (event, args) { + $scope.vm.searchAll.keyWord = args.keyWord; $scope.fn.getPageList(0); - $rootScope.isMainSearch = false; }); // 寃��깋 議곌굔�쓣 湲곗뼲�븳�떎. - �쟻�슜 蹂대쪟 @@ -320,6 +336,7 @@ case "ISSUE_TITLE" : // �씠�뒋 �젣紐� $scope.vm.tableConfigs.push($tableProvider.config() .setHName("issue.issueTitle") + .setDName("issueTitle") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") @@ -329,7 +346,7 @@ case "PRIORITY" : // �슦�꽑�닚�쐞 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.priority") - .setDName("priorityName") + .setDName("priority") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") @@ -338,22 +355,25 @@ case "SEVERITY" : // 以묒슂�룄 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.importance") - .setDName("severityName") + .setDName("severity") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") .setDRenderer("COMMON_SEVERITY")); break; - case "ISSUE_TYPE" : // �씠�뒋 ���엯 + case "ISSUE_TYPE" : // �씠�뒋 �쑀�삎 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("issue.issueType") + .setDName("issueType") + .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") - .setDName("issueTypeName")); + .setDRenderer("COMMON_ISSUE_TYPE")); break; case "ASSIGNEE_TEAM" : // �떞�떦遺��꽌 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.assigneeTeam") + .setDName("assigneeTeam") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") @@ -362,6 +382,7 @@ case "REGISTER" : // �벑濡앹옄 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.register") + .setDName("register") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") @@ -370,6 +391,7 @@ case "PERIOD" : // 湲곌컙 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.period") + .setDName("period") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") @@ -385,6 +407,7 @@ case "COUNT_DOWN_ISSUE" : // �븯�쐞 �씠�뒋 媛쒖닔 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.countDownIssue") + .setDName("countDownIssue") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") @@ -402,6 +425,7 @@ $scope.vm.tableConfigs.push($tableProvider.config() .setHName(customField.name) .setDType("renderer") + .setDName("customFieldName" + [count]) .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") .setColumnHint(customField) @@ -433,6 +457,7 @@ keyWord : $scope.vm.search.keyWord, title : $scope.vm.search.title, description : $scope.vm.search.description, + issueNumber : $scope.vm.search.issueNumber, projectType : $scope.vm.search.projectType, combinationIssueNumber : $scope.vm.search.combinationIssueNumber.trim(), beginRegisterDate : "", @@ -441,7 +466,8 @@ endStartDate : "", beginCompleteDate : "", endCompleteDate : "", - hideIssue : $scope.vm.hideIssue, + hideCompleteIssue: $scope.vm.hideCompleteIssue, + hideDownIssue : $scope.vm.hideDownIssue, isTree : $scope.vm.listMode === 1, projectIds : (function () { var projectIds = []; @@ -568,14 +594,22 @@ } // �씠�뒋 紐⑸줉�쓣 議고쉶�븳�떎. - function getPageList(selectedPage, detail = false) { + function getPageList(selectedPage, detail = false, keyWord = "") { $rootScope.spinner = true; // �봽濡쒓렇�옒�뒪 諛� if (selectedPage < 0) { selectedPage = 0; } - if ($scope.vm.hideIssue) { - $scope.vm.hideIssue = true; + if (keyWord !== "") { + $scope.vm.search.keyWord = keyWord; + } + + if ($scope.vm.hideCompleteIssue) { + $scope.vm.hideCompleteIssue = true; + } + + if ($scope.vm.hideDownIssue) { + $scope.vm.hideDownIssue = true; } // �쁽�옱 �럹�씠吏� �젙蹂� var currentPage = 0; @@ -588,15 +622,13 @@ currentPage = selectedPage; } - - // 寃��깋 湲곕낯媛� �꽭�똿 $scope.vm.search.issueTypeIds = []; $scope.vm.projects = []; - if (!$rootScope.isMainSearch) { + if ($scope.vm.searchAll.keyWord == null || $scope.vm.searchAll.keyWord === "") { // 硫붾돱�뿉�꽌 �꽑�깮�맂 �씠�뒋 �쑀�삎�쓣 湲곕낯�쑝濡� 異붽� if ($rootScope.issueTypeMenu != null) { - // $scope.vm.pageTitle = $rootScope.issueTypeMenu.name; + //$scope.vm.pageTitle = $rootScope.issueTypeMenu.name; $scope.vm.search.issueTypeIds.push({ fieldKey: $rootScope.issueTypeMenu.id, @@ -614,6 +646,7 @@ $scope.vm.projects.push($rootScope.workProject); } } + //$scope.vm.searchAll.keyWord = ""; } // �씠�뒋 寃��깋 議곌굔�쓣 留뚮뱺�떎. @@ -626,11 +659,12 @@ if (result.data.data != null && result.data.data.length > 0) { //var resultSize = result.data.data.length; for (var i = 0; i < result.data.data.length; i++) { - if (result.data.data[i].parentIssueId != null) { + /*if (result.data.data[i].parentIssueId != null) {//�븯�쐞�씠�뒋�뒗 由ъ뒪�듃�뿉�꽌 �궘�젣 result.data.data.splice(i, 1); i--; - }else if ($scope.vm.search.issueTypeIds !== null && $scope.vm.search.issueTypeIds.length > 0 - && result.data.data[i].issueTypeId !== $scope.vm.search.issueTypeIds[0].fieldKey) { + }else*/ + if ($scope.vm.search.issueTypeIds !== null && $scope.vm.search.issueTypeIds.length > 0 + && result.data.data[i].issueTypeId !== $scope.vm.search.issueTypeIds[0].fieldKey) { //�씠�뒋���엯 泥댄겕 result.data.data.splice(i, 1); i--; } @@ -651,7 +685,6 @@ } else { $scope.vm.responseData = result.data; } - } else { SweetAlert.error($filter("translate")("issue.failedIssueLookup"), result.data.message.message); // �씠�뒋 議고쉶 �떎�뙣 @@ -736,6 +769,7 @@ angular.forEach($scope.vm.responseData.data, function (data) { if (data.checked) { issueIds.push(data.id); + $scope.vm.projectId = data.projectId; } }); @@ -752,7 +786,8 @@ resolve : { parameter : function () { return { - issueIds : issueIds + issueIds : issueIds, + projectId : $scope.vm.projectId }; } } @@ -781,6 +816,22 @@ templateUrl : 'views/issue/issueAddRelation.html', size : "lg", controller : 'issueAddRelationController', + backdrop : 'static', + resolve : { + parameter : function () { + return { + id : id, + }; + } + } + }); + } + + function addDownIssueForm(id) { + $uibModal.open({ + templateUrl : 'views/issue/issueAddDown.html', + size : "lg", + controller : 'issueAddDownController', backdrop : 'static', resolve : { parameter : function () { @@ -1210,10 +1261,14 @@ var params = $rootScope.previousGetParams; if ($rootScope.isDefined(params)) { // $rootScope.$broadcast("makeIssueSearch", { projectKey : params.projectKey, issueNumber : params.issueNumber }); - getDetailList(params.projectKey, params.issueNumber); - $rootScope.previousGetParams = null; + if (params.keyWord != null) { + $scope.vm.searchAll.keyWord = params.keyWord; + getPageList(0,false, params.keyWord); + }else { + getDetailList(params.projectKey, params.issueNumber); + return; + } // $rootScope.issueTypeId = $rootScope.issueTypeMenu.id; - return; } var promises = { @@ -1251,6 +1306,12 @@ }); } + // this.router.navigate(['path/to']) + // .then(() => { + // window.location.reload(); + // }); + + $scope.fn.startExecute(); } -- Gitblit v1.8.0