src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/java/kr/wisestone/owl/service/impl/ProjectServiceImpl.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/views/issue/issueDetail.html | ●●●●● 패치 | 보기 | raw | blame | 히스토리 |
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -1136,7 +1136,9 @@ // 프로젝트를 선택하지 않았으면 해당 업무 공간에서 참여하고 있는 프로젝트를 찾는다. if (condition.getProjectIds().size() < 1) { List<Map<String, Object>> projects = null; if (this.userWorkspaceService.checkWorkspaceManager(user)) { UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); if (this.userWorkspaceService.checkWorkspaceManager(user) || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE_PROJECT_ALL)) { projects = this.projectMapper.findByWorkspaceManagerAll(projectCondition); } else { projects = this.projectService.findByWorkspaceIdAndIncludeProjectAll(projectCondition); src/main/java/kr/wisestone/owl/service/impl/ProjectServiceImpl.java
@@ -368,6 +368,7 @@ // 관리자일 때 UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); if (this.userWorkspaceService.checkWorkspaceManager(user) || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT) || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE_PROJECT_ALL)) { results = this.projectMapper.findByWorkspaceManager(condition); totalCount = this.projectMapper.countByWorkspaceManager(condition); @@ -426,6 +427,7 @@ // 프로젝트 조회 결과를 ProjectVos 로 변환한다. - 관리자, 일반 사용자 정보 추가 private List<ProjectVo> makeProjectVos(List<Map<String, Object>> results, User user) { List<ProjectVo> projectVos = Lists.newArrayList(); UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); for (Map<String, Object> result : results) { ProjectVo projectVo = ConvertUtil.convertMapToClass(result, ProjectVo.class); @@ -437,7 +439,8 @@ this.setProjectDepartment(projectVo); // 업무공간 담당자는 모든 프로젝트를 수정/삭제할 수 있어야 한다. if (this.userWorkspaceService.checkWorkspaceManager(user)) { if (this.userWorkspaceService.checkWorkspaceManager(user) || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT)) { projectVo.setModifyPermissionCheck(true); } projectVos.add(projectVo); @@ -699,11 +702,13 @@ projectRoleUserMap.put("statuses", Lists.newArrayList("02")); // 관리자 조회 List<Map<String, Object>> projectUsers = this.projectRoleUserService.findProjectRoleUser(projectRoleUserMap); UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); // 현재 로그인 사용자가 관리자인지 확인 if (projectUsers != null && !projectUsers.isEmpty()) { for (Map<String, Object> projectUser : projectUsers) { UserVo userVo = ConvertUtil.convertMapToClass(projectUser, UserVo.class); if (userVo.getId().equals(this.webAppUtil.getLoginId())) { if (userVo.getId().equals(this.webAppUtil.getLoginId()) || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT)) { hasPermission = true; break; } @@ -1132,6 +1137,7 @@ List<Map<String, Object>> results; if (this.userWorkspaceService.checkWorkspaceManager(user) || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_PROJECT) || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE_PROJECT_ALL)) { results = this.projectMapper.findByWorkspaceManager(projectCondition); } else { src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
@@ -312,7 +312,7 @@ // 하위 이슈 삭제 case "ISSUE_DOWN_DELETE": makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-click="event.removeDownIssue(data.id)">'; makeTag += '<img class="cursor" src="/assets/images/delete-icon.png" ng-if="scope.data.modifyPermissionCheck" ng-click="event.removeDownIssue(data.id)">'; break; // 하위 이슈 우선 순위 src/main/webapp/views/issue/issueDetail.html
@@ -103,7 +103,7 @@ </span> <a class="show-ticket-info cursor"> <i class="os-icon os-icon-email-forward mr-20" ng-click="fn.sendMailAll()" data-toggle="tooltip" data-placement="right" title="다른 사용자에게 이슈 보내기"></i> <i class="os-icon os-icon-email-forward mr-20" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.sendMailAll()" data-toggle="tooltip" data-placement="right" title="다른 사용자에게 이슈 보내기"></i> <i class="os-icon os-icon-airplay mr-20" ng-click="fn.versionView(vm.viewer.id)" data-toggle="tooltip" data-placement="right" title="이슈 변경 이력 상세 보기"></i> <i class="os-icon os-icon-calendar-time mr-20" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.reservation(vm.viewer.id)" data-toggle="tooltip" data-placement="right" title="이슈 발생 예약 하기"></i> @@ -139,6 +139,7 @@ <span ng-if="vm.viewer.departmentVos.length < 1" translate="common.noDepartment">담당부서가 없습니다.</span> <i class="fa fa-edit fa-2x issue-status-edit cursor" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.modifyIssueDepartment()" data-toggle="tooltip" data-placement="right" title="담당자 변경 하기"></i> </div> </div> @@ -494,9 +495,11 @@ </div> <div class="col-auto vertical-middle" style="display: flex"> <button type="button" class="btn btn-primary" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.addRelationIssue()" translate="issue.addRelationIssue">연관 이슈 추가</button> <button type="button" class="btn btn-sm btn-primary btn-roundRel offset-1" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.addRelationIssueForm(vm.viewer.id)"> <i class="os-icon os-icon-plus"><span></span></i> </button> @@ -510,9 +513,9 @@ <span class="info_detail_font h3" translate="issue.downIssue">하위 이슈</span> </div> <div class="col-sm-2"> <a><button type="button" class="btn btn-darkgrey offset-7" <a><button type="button" class="btn btn-darkgrey offset-7" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.modifyDownIssueStatus()"> <span translate="common.updateDownIssueAllStatus">하위이슈 상태 전체 변경</span> <span ng-if="vm.viewer.modifyPermissionCheck" translate="common.updateDownIssueAllStatus">하위이슈 상태 전체 변경</span> </button></a> </div> <div class="col-sm-1"> @@ -541,6 +544,7 @@ </div> <div class="col-auto vertical-middle" style="display: flex"> <button type="button" class="btn btn-primary" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.addDownIssue()" translate="issue.addDownIssue">추가</button> </div>