OWL ITS + 탐지시스템(인터넷 진흥원)
wyu
2021-12-10 debc7d47107b1fc4509593d942d775f4374a3416
권한 수정 완료
11개 파일 변경됨
78 ■■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/constant/MngPermission.java 8 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java 5 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/ProjectServiceImpl.java 4 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java 4 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js 2 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/common/common.controller.js 4 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/project/projectList.controller.js 3 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/workspace/workspaceLevelModify.controller.js 3 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/config.js 33 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/views/common/header.html 2 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/views/workspace/workspaceLevelAdd.html 10 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/constant/MngPermission.java
@@ -5,10 +5,10 @@
 */
public class MngPermission {
    public static final int USER_PERMISSION_MNG_ISSUE_PROJECT_ALL = 16384; // 전체 이슈 프로젝트 보기
    public static final int USER_PERMISSION_MNG_PARTNER = 8192;   //  업체/ISP/호스팅 관리      10000000000000
    public static final int USER_PERMISSION_MNG_WORKSPACE = 4096;   //  WORK SPACE 관리       01000000000000
    public static final int USER_PERMISSION_MNG_PROJECT = 2048;   //  프로젝트 관리             00100000000000
    public static final int USER_PERMISSION_MNG_WORKSPACE = 16384;   //  WORK SPACE 관리       01000000000000
    public static final int USER_PERMISSION_MNG_PROJECT = 8192;   //  프로젝트 관리             00100000000000
    public static final int USER_PERMISSION_MNG_ISSUE_PROJECT_ALL = 4096; // 전체 이슈 프로젝트 보기
    public static final int USER_PERMISSION_MNG_PARTNER = 2048;   //  업체/ISP/호스팅 관리      10000000000000
    public static final int USER_PERMISSION_MNG_API = 1024;        //  API 관리               00010000000000
    public static final int USER_PERMISSION_MNG_ISSUE_STATUS = 512;  //  ISSUE SETTING 관리   00001000000000
    public static final int USER_PERMISSION_MNG_WORKFLOW = 256;     // WORK FLOW 관리         000000100000000
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -1038,6 +1038,7 @@
        condition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
        projectCondition.setWorkspaceId(condition.getWorkspaceId());
        //  프로젝트 키가 존재할 경우 프로젝트 키에 해당하는 프로젝트를 조회하고 검색 조건에 셋팅한다.
        if (!this.getProjectByProjectKey(condition.getProjectKey(), condition)) {
            return false;
@@ -1046,7 +1047,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
@@ -1121,6 +1121,7 @@
    @Transactional(readOnly = true)
    public List<ProjectVo> findByIncludeProject(List<String> statuses, String projectType) {
        User user = this.webAppUtil.getLoginUserObject();
        UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
        ProjectCondition projectCondition = new ProjectCondition();
        projectCondition.setLoginUserId(user.getId());
@@ -1130,7 +1131,8 @@
        List<Map<String, Object>> results;
        if (this.userWorkspaceService.checkWorkspaceManager(user)) {
        if (this.userWorkspaceService.checkWorkspaceManager(user)
                || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE_PROJECT_ALL)) {
            results = this.projectMapper.findByWorkspaceManager(projectCondition);
        } else {
            results = this.projectMapper.findByWorkspaceIdAndIncludeProject(projectCondition);
src/main/java/kr/wisestone/owl/service/impl/WidgetServiceImpl.java
@@ -168,9 +168,11 @@
    @Transactional(readOnly = true)
    public WidgetCondition makeWidgetCondition() {
        User user = this.webAppUtil.getLoginUserObject();
        UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId());
        //  해당 워크스페이스에서 참여하고 있는 프로젝트 중 상태가 오픈인 프로젝트
        List<Map<String, Object>> projects = null;
        if (this.userWorkspaceService.checkWorkspaceManager(user)) {
        if (this.userWorkspaceService.checkWorkspaceManager(user)
                || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE_PROJECT_ALL)) {
            projects = this.projectService.findByWorkspaceManagerAll();
        } else  {
            projects = this.projectService.findByWorkspaceIdAndIncludeProjectAll(Lists.newArrayList("02"), ProjectType.BTS_PROJECT.toString());
src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
@@ -538,7 +538,7 @@
                                            break;
                                        case "All_ISSUE_PROJECT_SETTING_PERM_YN" :
                                            makeTag += "<label class='switch'><input type='checkbox' ng-model='data.permAllIssueSetting' ng-click='event.modifyLevelPermission(data)'><span class='slider round'></span></label>";
                                            makeTag += "<label class='switch'><input type='checkbox' ng-model='data.permAllIssueAndProjectSetting' ng-click='event.modifyLevelPermission(data)'><span class='slider round'></span></label>";
                                            break;
                                        case "PARTNER_SETTING_PERM_YN" :
src/main/webapp/scripts/app/common/common.controller.js
@@ -51,9 +51,9 @@
                });
                $scope.$on("changedLastProject", function () {
                    if ($rootScope.workProject != null) {
                    //if ($rootScope.workProject != null) {
                        $scope.fn.findIssueList($rootScope.workProject.id);
                    }
                    //}
                });
                function setLastIssueType() {
src/main/webapp/scripts/app/project/projectList.controller.js
@@ -361,8 +361,7 @@
                }
                function changeLastProject(projectId) {
                    //$rootScope.changeLastProject(projectId);
                    $state.go("issues.list")
                    $rootScope.changeLastProject(projectId);
                }
                $scope.fn.makeTableConfigs();
src/main/webapp/scripts/app/workspace/workspaceLevelModify.controller.js
@@ -22,8 +22,7 @@
                    id : parameter.id,
                    form : {
                        levelName : "",
                        permAllIssueSetting : false,
                        permAllProjectSetting : false,
                        permAllIssueAndProjectSetting : false,
                        permWorkSpaceSetting : false,
                        permProjectSetting : false,
                        permIssueSetting : false,
src/main/webapp/scripts/config.js
@@ -236,11 +236,10 @@
                //  권한 리스트
                $rootScope.mngPermission = {
                    "USER_PERMISSION_MNG_ISSUE_ALL" : 32768,
                    "USER_PERMISSION_MNG_PROJECT_ALL" : 16384,
                    "USER_PERMISSION_MNG_PARTNER" : 8192,
                    "USER_PERMISSION_MNG_WORKSPACE" : 4096,
                    "USER_PERMISSION_MNG_PROJECT" : 2048,
                    "USER_PERMISSION_MNG_WORKSPACE" : 16384,
                    "USER_PERMISSION_MNG_PROJECT" : 8192,
                    "USER_PERMISSION_MNG_ISSUE_PROJECT_ALL" : 4096,
                    "USER_PERMISSION_MNG_PARTNER" : 2048,
                    "USER_PERMISSION_MNG_API" : 1024,
                    "USER_PERMISSION_MNG_ISSUE_STATUS" : 512,
                    "USER_PERMISSION_MNG_WORKFLOW" : 256,
@@ -279,6 +278,20 @@
                    return false;
                };
                /*$rootScope.checkMngPermissionViewIssueAndProject = function (userPermission) {
                    if (!$rootScope.isDefined($rootScope.user)) {
                        return false;
                    }
                    var permissionVal = $rootScope.mngPermission[userPermission];
                    if (($rootScope.user.permission & permissionVal) !== 0) {
                        return true;
                    }
                    return false;
                };*/
                //  setting 관리자인지 확인한다.
                $rootScope.checkMngPermissionSettings = function () {
@@ -333,21 +346,19 @@
                                            $rootScope.workProject = el;
                                            if (onEvent) {
                                                $rootScope.$broadcast("changedLastProject", {id: el.id});
                                                $state.go("issues.list");
                                            }
                                            if (reload) {
                                            /*if (reload) {
                                                $state.go('dashboards.dashboard');
                                            }
                                            }*/
                                        }
                                    });
                                    // $state.go($state.current, {}, {reload: reload});
                                   //$state.go($state.current, {}, {reload: reload});
                                }
                            });
                        }
                    }
                };
                //  프로젝트 관리 권한이 있는지 확인한다
                $rootScope.checkMngPermissionProject = function () {
src/main/webapp/views/common/header.html
@@ -27,7 +27,7 @@
        </div>
        <div class="top-right col-lg-4">
            <!-- 전체 프로젝트 일때 이슈 만들기 버튼 숨김 -->
            <button class="btn btn-xlg btn-primary btn-rounded mr-10" ng-if="$root.workProject.id > -1" ng-click="fn.addIssue()" tabindex="-1">
            <button class="btn btn-xlg btn-primary btn-rounded mr-10" ng-if="$root.checkMngPermissionSettings() && $root.workProject.id > -1" ng-click="fn.addIssue()" tabindex="-1">
                <i class="os-icon os-icon-plus"></i> <span translate="issue.createIssue">이슈 만들기</span>
            </button>
src/main/webapp/views/workspace/workspaceLevelAdd.html
@@ -38,15 +38,7 @@
                        <span translate="manageUser.manageAllIssueAndProjectPerm">전체 이슈 프로젝트 보기</span>
                    </td>
                    <td colspan="2">
                        <label class='switch'><input type='checkbox' ng-model='vm.form.permAllIssueSetting'><span class='slider round'></span></label>
                    </td>
                </tr>
                <tr>
                    <td class="text-left bold">
                        <span translate="manageUser.manageAllProjectPerm">전체 프로젝트 보기</span>
                    </td>
                    <td colspan="2">
                        <label class='switch'><input type='checkbox' ng-model='vm.form.permAllProjectSetting'><span class='slider round'></span></label>
                        <label class='switch'><input type='checkbox' ng-model='vm.form.permAllIssueAndProjectSetting'><span class='slider round'></span></label>
                    </td>
                </tr>
                <tr>