From 2b5c6c4c2b6d54ec4a2f2ba57561d8912065e0ee Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 19 1월 2022 15:48:28 +0900
Subject: [PATCH] - 전체프로젝트가 선택 된 상태에서 ISSUE TYPE LIST 선택 시에도 전체프로젝트로 유지되도록 수정 - 전체 프로젝트 또는 전체 이슈 일 경우에도 '이슈 만들기' 버튼 보이도록 수정(만들기 폼에서 프로젝트,이슈유형 수정가능하도록)

---
 src/main/webapp/views/issue/issueAdd.html                 |    7 +++++--
 src/main/webapp/scripts/app/common/common.controller.js   |    2 +-
 src/main/webapp/scripts/app/issue/issueList.controller.js |    6 +++---
 src/main/webapp/scripts/app/issue/issueAdd.controller.js  |   27 +++++++++++++++++++++++++++
 src/main/webapp/views/common/header.html                  |    3 +--
 5 files changed, 37 insertions(+), 8 deletions(-)

diff --git a/src/main/webapp/scripts/app/common/common.controller.js b/src/main/webapp/scripts/app/common/common.controller.js
index 9097071..e35287d 100644
--- a/src/main/webapp/scripts/app/common/common.controller.js
+++ b/src/main/webapp/scripts/app/common/common.controller.js
@@ -126,7 +126,7 @@
                     if (changeProject) {
 
                         $rootScope.$broadcast("changedIssueListMenu", $rootScope.issueTypeMenu);
-                        $rootScope.changeLastProject($rootScope.issueTypeMenu.projectVo.id, false, false);
+                        //$rootScope.changeLastProject($rootScope.issueTypeMenu.projectVo.id, false, false);
 
                         if ($rootScope.issueTypeMenu != null) {
                             moveMenu("issues.list");
diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
index 9789935..3d3af79 100644
--- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -44,6 +44,7 @@
                     getChildSectorListCallBack : getChildSectorListCallBack,
                     getRegionListCallBack : getRegionListCallBack,
                     getStatusListCallBack : getStatusListCallBack,
+                    getIssueTypeOfProject : getIssueTypeOfProject
                 };
 
                 $scope.vm = {
@@ -200,6 +201,8 @@
                         } else {
                             //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛��졇�삤湲�
                             $scope.fn.getIssueTypeCustomFields();
+                            //  �꽑�깮�븳 �봽濡쒖젥�듃�뿉 �냽�빐�엳�뒗 �씠�뒋�쑀�삎留� 蹂댁뿬二쇨린
+                            $scope.fn.getIssueTypeOfProject();
                         }
                     }
                 });
@@ -821,6 +824,10 @@
                 function getIssueTypes() {
                     var deferred = $q.defer();
 
+                    if (!$rootScope.isDefined($scope.vm.form.projects[0])) {
+                        return;
+                    }
+
                     IssueType.find($resourceProvider.getContent({},
                         $resourceProvider.getPageContent(0, 1000))).then(function (result) {
 
@@ -837,6 +844,26 @@
                     return deferred.promise;
                 }
 
+                //  �꽑�깮�븳 �봽濡쒖젥�듃�뿉 �냽�빐�엳�뒗 �씠�뒋�쑀�삎留� 蹂댁뿬二쇨린 (�쟾泥� �봽濡쒖젥�듃 �씪 寃쎌슦)
+                function getIssueTypeOfProject() {
+                    var deferred = $q.defer();
+
+                    IssueType.find($resourceProvider.getContent({projectId : $scope.vm.form.projects[0].id},
+                        $resourceProvider.getPageContent(0, 1000))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            $scope.vm.issueTypes = result.data.data;
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // �씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣
+                        }
+
+                        deferred.resolve(result.data.data);
+                    });
+
+                    return deferred.promise;
+                }
+
                 //  �슦�꽑�닚�쐞 紐⑸줉
                 function getPriorities() {
                     var deferred = $q.defer();
diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js
index f21608c..958a41b 100644
--- a/src/main/webapp/scripts/app/issue/issueList.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -176,7 +176,7 @@
 
                                 $scope.fn.getPageList(0, true, keyWord, allIssue);
                             } else {
-                                $scope.fn.getPageList(0, false, keyWord, true);
+                                $scope.fn.getPageList(0, false, keyWord, allIssue);
                             }
                         }
                         else {
@@ -641,7 +641,7 @@
                     if (keyWord != null) {
                         $scope.vm.search.keyWord = keyWord;
                         $rootScope.isMainSearch = true;
-
+                        $scope.vm.allIssue = true;
                         $rootScope.$broadcast("getPageListKeyWord", {keyWord: $scope.vm.search.keyWord});
                     }
 
@@ -669,7 +669,7 @@
                     if (keyWord == null || 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,
diff --git a/src/main/webapp/views/common/header.html b/src/main/webapp/views/common/header.html
index 7658d3b..9875edd 100644
--- a/src/main/webapp/views/common/header.html
+++ b/src/main/webapp/views/common/header.html
@@ -42,8 +42,7 @@
             </div>
 
 
-            <!-- �쟾泥� �봽濡쒖젥�듃 �씪�븣 �씠�뒋 留뚮뱾湲� 踰꾪듉 �닲源� -->
-            <button class="btn btn-xlg btn-primary btn-rounded mr-10 ml-3" ng-if="$root.workProject.id > -1 && !$root.allIssueList" ng-click="fn.addIssue()" tabindex="-1">
+            <button class="btn btn-xlg btn-primary btn-rounded mr-10 ml-3" ng-click="fn.addIssue()" tabindex="-1">
                 <i class="os-icon os-icon-plus"></i> <span translate="issue.createIssue">�씠�뒋 留뚮뱾湲�</span>
             </button>
 
diff --git a/src/main/webapp/views/issue/issueAdd.html b/src/main/webapp/views/issue/issueAdd.html
index 49fdae1..77a16dc 100644
--- a/src/main/webapp/views/issue/issueAdd.html
+++ b/src/main/webapp/views/issue/issueAdd.html
@@ -35,11 +35,13 @@
                                 class="highlighter-rouge">*</code></label>
                         <js-autocomplete-single data-input-name="project"
                                                 selected-model="vm.form.projects"
+                                                ng-model="vm.form.projects"
+                                                ng-change="fn.getIssueTypeOfProject()"
                                                 search="vm.projectName"
                                                 source="fn.getProjectList(vm.projectName, vm.form.projects, vm.autoCompletePage.project.page, fn.getProjectListCallBack)"
                                                 page="vm.autoCompletePage.project.page"
                                                 total-page="vm.autoCompletePage.project.totalPage"
-                                                input-disabled="vm.form.projects != null ? vm.form.projects.length > 0 : false"
+                                                input-disabled="$root.workProject.id !== -1 && vm.form.projects != null ? vm.form.projects.length > 0 : false"
                                                 translation-texts="{ empty : 'common.emptyProject' }"
                                                 extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
                                                 type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
@@ -60,7 +62,8 @@
                                         ng-change="fn.getIssueTypeCustomFields()"
                                         ng-style="{ 'color' : fn.getOptionColor(vm.issueTypes, vm.form.issueTypeId) }"
                                         required
-                                        disabled>
+                                        ng-disabled="$root.workProject.id !== -1"
+                                        >
                                     <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span
                                             translate="common.selectTarget">���긽 �꽑�깮</span>
                                     </option>

--
Gitblit v1.8.0