| | |
| | | import org.springframework.data.jpa.repository.JpaRepository; |
| | | import org.springframework.data.repository.query.Param; |
| | | |
| | | public interface IssueTableConfigRepository extends JpaRepository<IssueTableConfig, Long> { |
| | | IssueTableConfig findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(@Param("userId") Long userId, @Param("workspaceId") Long workspaceId, @Param("issueTypeId") Long issueTypeId, @Param("issueTableType") int issueTableType); |
| | | import java.util.List; |
| | | |
| | | IssueTableConfig findByIssueTypeIdAndIssueTableType(@Param("issueTypeId") Long issueTypeId, @Param("issueTableType") int issueTableType); |
| | | public interface IssueTableConfigRepository extends JpaRepository<IssueTableConfig, Long> { |
| | | List<IssueTableConfig> findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(@Param("userId") Long userId, @Param("workspaceId") Long workspaceId, @Param("issueTypeId") Long issueTypeId, @Param("issueTableType") int issueTableType); |
| | | |
| | | List<IssueTableConfig> findByIssueTypeIdAndIssueTableType(@Param("issueTypeId") Long issueTypeId, @Param("issueTableType") int issueTableType); |
| | | |
| | | } |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | |
| | | @Override |
| | | @Transactional(readOnly = true) |
| | | public IssueTableConfig findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(Long issueTypeId, int issueTableType) { |
| | | return this.issueTableConfigRepository.findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(this.webAppUtil.getLoginId(), |
| | | List<IssueTableConfig> issueTableConfigList = this.issueTableConfigRepository.findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(this.webAppUtil.getLoginId(), |
| | | this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId(), issueTypeId, issueTableType); |
| | | |
| | | if (issueTableConfigList != null && issueTableConfigList.size() > 0) { |
| | | return issueTableConfigList.get(0); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | //이슈타입 Id와 IssueTableType 조회 |
| | | @Override |
| | | @Transactional(readOnly = true) |
| | | public IssueTableConfig findByIssueTypeIdAndIssueTableType(Long issueTypeId, int issueTableType) { |
| | | return this.issueTableConfigRepository.findByIssueTypeIdAndIssueTableType(issueTypeId, issueTableType); |
| | | List<IssueTableConfig> issueTableConfigs = this.issueTableConfigRepository.findByIssueTypeIdAndIssueTableType(issueTypeId, issueTableType); |
| | | if (issueTableConfigs != null && issueTableConfigs.size() > 0){ |
| | | return issueTableConfigs.get(0); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | // detail 중복 코드 제거 |
| | |
| | | if ($scope.vm.form.customFieldType === "INPUT") { |
| | | return; |
| | | } |
| | | // $scope.vm.form.customFieldType == "NUMBER" 존재한다 |
| | | |
| | | var duplication = false; |
| | | // 해시 태그는 입력 금지 - 공백 치환 |
| | |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | issueTypeId : parameter.issueTypeId, |
| | | issueTypeId : $rootScope.getCurrentIssueTypeId(), |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueDownTableConfigs) |
| | | }; |
| | | |
| | |
| | | var content = { |
| | | issueId : $rootScope.currentDetailIssueId, |
| | | delValue : $scope.vm.issueDownTableConfigs.splice(6,1), |
| | | issueTypeId : $rootScope.getCurrentIssueTypeId(), |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueDownTableConfigs) |
| | | }; |
| | | |
| | |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | issueTypeId : parameter.issueTypeId, |
| | | issueTypeId : $rootScope.getCurrentIssueTypeId(), |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueRelTableConfigs) |
| | | }; |
| | | |
| | |
| | | |
| | | var content = { |
| | | issueId : $rootScope.currentDetailIssueId, |
| | | issueTypeId : $rootScope.getCurrentIssueTypeId(), |
| | | delValue : $scope.vm.issueRelTableConfigs.splice(6,1), |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueRelTableConfigs) |
| | | }; |
| | |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | issueTypeId : parameter.issueTypeId, |
| | | issueTypeId : $rootScope.getCurrentIssueTypeId(), |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs) |
| | | }; |
| | | |
| | |
| | | |
| | | var content = { |
| | | delValue : $scope.vm.issueTableConfigs.splice(7,1), |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs) |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs), |
| | | issueTypeId : $rootScope.getCurrentIssueTypeId() |
| | | }; |
| | | // 이슈 목록 테이블 설정 정보를 가져온다. |
| | | function getIssueAddTableConfigs() { |
| | |
| | | // 연관 이슈 상세 조회 |
| | | function getRelTableConfigs() { |
| | | var content = { |
| | | issueId : $scope.vm.viewer.id |
| | | issueId : $scope.vm.viewer.id, |
| | | issueTypeId : $rootScope.getCurrentIssueTypeId() |
| | | }; |
| | | |
| | | IssueTableConfig.relationDetail($resourceProvider.getContent( |
| | |
| | | // 하위 이슈 상세 조회 |
| | | function getDownTableConfigs() { |
| | | var content = { |
| | | issueId : $scope.vm.viewer.id |
| | | issueId : $scope.vm.viewer.id, |
| | | issueTypeId : $rootScope.getCurrentIssueTypeId() |
| | | }; |
| | | |
| | | IssueTableConfig.downDetail($resourceProvider.getContent( |
| | |
| | | // 메뉴에서 선택된 이슈 유형을 기본으로 추가 |
| | | if ($rootScope.issueTypeMenu != null) { |
| | | // $scope.vm.pageTitle = $rootScope.issueTypeMenu.name; |
| | | $scope.vm.search.issueTypeIds = []; |
| | | $scope.vm.search.issueTypeIds.push({ |
| | | fieldKey : $rootScope.issueTypeMenu.id, |
| | | fieldValue : $rootScope.issueTypeMenu.name |
| | |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if (result.data.data != null && result.data.data.length > 0) { |
| | | $scope.vm.issueTypeId = result.data.data[0].issueTypeId; |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | |
| | | if (detail) { |
| | | changeDetailView(result.data.data[0].id); |
| | | } |
| | | } |
| | | } |
| | | else { |
| | |
| | | } |
| | | |
| | | // 사용자 이슈 목록 테이블 설정 값을 가져와서 적용한다. |
| | | |
| | | function getIssueTableConfigs() { |
| | | var deferred = $q.defer(); |
| | | |
| | | IssueTableConfig.detail($resourceProvider.getContent({}, |
| | | if ($rootScope.issueTypeMenu != null){ |
| | | var content = { |
| | | issueTypeId : $rootScope.issueTypeMenu.id |
| | | } |
| | | |
| | | IssueTableConfig.detail($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status !== "success") { |
| | | SweetAlert.error($filter("translate")("issue.failedToIssueTableColumnLookup"), result.data.message.message); // 이슈 테이블 컬럼 조회 실패 |
| | |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | } |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 최초 실행 |
| | | function startExecute() { |
| | | // 파라미터 읽기 |
| | |
| | | if ($rootScope.isDefined(params)) { |
| | | $rootScope.$broadcast("makeIssueSearch", { projectKey : params.projectKey, issueNumber : params.issueNumber }); |
| | | $rootScope.previousGetParams = null; |
| | | $rootScope.issueTypeId = $rootScope.issueTypeMenu.id; |
| | | return; |
| | | } |
| | | |
| | |
| | | |
| | | $scope.fn.startExecute(); |
| | | } |
| | | |
| | | ]); |
| | | } |
| | | ); |
| | |
| | | return true; |
| | | }; |
| | | |
| | | |
| | | // 이슈 생성, 수정에서 다중 선택, 단일 선택 옵션에 체크되게 해주는 기능 |
| | | $rootScope.selectOption = function (useValues, value) { |
| | | var result = false; |
| | |
| | | "USER_PERMISSION_MNG_GUIDE" : 2, |
| | | }; |
| | | |
| | | // 현재 선택된 이슈 타입 아이디 가져오기 |
| | | $rootScope.getCurrentIssueTypeId = function () { |
| | | return $rootScope.issueTypeMenu != null ? $rootScope.issueTypeMenu.id : null; |
| | | } |
| | | |
| | | // 현재 선택된 이슈 타입 변경하기 |
| | | $rootScope.setCurrentIssueTypeId = function (issueTypeVo) { |
| | | if($rootScope.issueTypeMenu !== issueTypeVo) { |
| | | $rootScope.issueTypeMenu = issueTypeVo; |
| | | } |
| | | } |
| | | |
| | | // 권한을 확인한다 |
| | | $rootScope.checkMngPermission = function (userPermission) { |
| | | if (!$rootScope.isDefined($rootScope.user)) { |