From ee9cdbdf15ede4ed38b264c421ada71a959a0464 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 수, 22 12월 2021 18:38:00 +0900 Subject: [PATCH] '이슈관리' 권한은 내가 속해있는 프로젝트의 이슈에 대해서만 관리 권한이 있음 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 26 +++++++++++++++++--------- 1 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java index 4cd121d..b25b775 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -927,7 +927,8 @@ UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); if (this.userWorkspaceService.checkWorkspaceManager(user) - || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE)) { + || (MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT) && + MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE))) { this.SetAllDepartmentId(issueCondition); } else{ this.SetMyDepartmentId(issueCondition); @@ -1246,7 +1247,7 @@ } // �봽濡쒖젥�듃瑜� �꽑�깮�븯吏� �븡�븯�쑝硫� �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 李몄뿬�븯怨� �엳�뒗 �봽濡쒖젥�듃瑜� 李얜뒗�떎. - if (condition.getProjectIds().size() < 1) { + /*if (condition.getProjectIds().size() < 1) { List<Map<String, Object>> projects = this.projectService.findByWorkspaceIdAndIncludeProjectAll(projectStatues, condition.getProjectType()); List<Long> projectIds = Lists.newArrayList(); @@ -1263,7 +1264,7 @@ if (projectIds.size() < 1) { return false; } - } + }*/ return true; } @@ -1289,7 +1290,8 @@ List<Map<String, Object>> projects = null; UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); if (this.userWorkspaceService.checkWorkspaceManager(user) - || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE)) { + || (MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT) && + MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE))) { projects = this.projectMapper.findByWorkspaceManagerAll(projectCondition); } else { projects = this.projectService.findByWorkspaceIdAndIncludeProjectAll(projectCondition); @@ -1796,16 +1798,22 @@ Issue modifyIssue = this.modifyIssueForApi(user, issueForm, files); Issue parentIssue = modifyIssue.getParentIssue(); IssueType issueType = modifyIssue.getIssueType(); - IssueStatus issueStatus = issueType.getIssueStatus(); + + Set<IssueTypeApiEndStatus> issueTypeApiEndStatuses = issueType.getIssueTypeApiEndStatuses(); + IssueTypeApiEndStatus issueStatus = null; + if (issueTypeApiEndStatuses != null && issueTypeApiEndStatuses.size() > 0) { + issueStatus = issueTypeApiEndStatuses.iterator().next(); + } else { + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_COMPLETE_ISSUE_STATUS_NOT_EXIST)); + } + if (parentIssue != null) { - if (issueStatus == null) { - throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_COMPLETE_ISSUE_STATUS_NOT_EXIST)); - } + IssueCondition issueCondition = new IssueCondition(issueVo.getId(), parentIssue.getId()); List<Map<String, Object>> results = this.issueMapper.findNotCompleteByParentIssueId(issueCondition); // �븯�쐞 �씪媛먯씠 紐⑤몢 醫낅즺 �긽�깭�씪�븣 �긽�쐞 �씪媛먮룄 醫낅즺 泥섎━ if (results == null || results.size() == 0) { - parentIssue.setIssueStatus(issueType.getIssueStatus()); + parentIssue.setIssueStatus(issueStatus.getIssueStatus()); this.issueRepository.saveAndFlush(parentIssue); } } -- Gitblit v1.8.0