- 전체프로젝트가 선택 된 상태에서 ISSUE TYPE LIST 선택 시에도 전체프로젝트로 유지되도록 수정
- 전체 프로젝트 또는 전체 이슈 일 경우에도 '이슈 만들기' 버튼 보이도록 수정(만들기 폼에서 프로젝트,이슈유형 수정가능하도록)
| | |
| | | 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"); |
| | |
| | | getChildSectorListCallBack : getChildSectorListCallBack, |
| | | getRegionListCallBack : getRegionListCallBack, |
| | | getStatusListCallBack : getStatusListCallBack, |
| | | getIssueTypeOfProject : getIssueTypeOfProject |
| | | }; |
| | | |
| | | $scope.vm = { |
| | |
| | | } else { |
| | | // 이슈 유형에 연결된 사용자 정의 필드 가져오기 |
| | | $scope.fn.getIssueTypeCustomFields(); |
| | | // 선택한 프로젝트에 속해있는 이슈유형만 보여주기 |
| | | $scope.fn.getIssueTypeOfProject(); |
| | | } |
| | | } |
| | | }); |
| | |
| | | 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) { |
| | | |
| | |
| | | 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(); |
| | |
| | | |
| | | $scope.fn.getPageList(0, true, keyWord, allIssue); |
| | | } else { |
| | | $scope.fn.getPageList(0, false, keyWord, true); |
| | | $scope.fn.getPageList(0, false, keyWord, allIssue); |
| | | } |
| | | } |
| | | else { |
| | |
| | | if (keyWord != null) { |
| | | $scope.vm.search.keyWord = keyWord; |
| | | $rootScope.isMainSearch = true; |
| | | |
| | | $scope.vm.allIssue = true; |
| | | $rootScope.$broadcast("getPageListKeyWord", {keyWord: $scope.vm.search.keyWord}); |
| | | } |
| | | |
| | |
| | | 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, |
| | |
| | | </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> |
| | | |
| | |
| | | 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> |
| | |
| | | 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> |