OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-01-13 4545664bbece1b1b185945376b344b1660669a53
src/main/webapp/scripts/config.js
@@ -35,7 +35,7 @@
                //  로그 제어
                $logProvider.debugEnabled(true);
            })
            .run(function ($rootScope, $state, $sce, $log, $injector, $translate, $tableProvider, Principal, Auth, Language, SweetAlert, $filter, Workspace, $resourceProvider, User, constants, Project) {
            .run(function ($rootScope, $state, $sce, $log, $injector, $translate, $tableProvider, $relProvider, $downProvider, Principal, Auth, Language, SweetAlert, $filter, Workspace, $resourceProvider, User, constants, Project) {
                $rootScope.$state = $state;
                //  html 태그 웹 보안 적용하여 바인딩.
@@ -113,8 +113,16 @@
                    file : 314572800    //  100MB
                };
                $rootScope.isMainSearch = false;   // 통합 검색 여부
                //  테이블 설정 및 기능을 관리하는 서비스
                $rootScope.$tableProvider = $tableProvider;
                //  연관테이블 설정 및 기능 관리하는 서비스
                $rootScope.$relProvider = $relProvider;
                //  하위테이블 설정 및 기능 관리하는 서비스
                $rootScope.$downProvider = $downProvider;
                //  html tag convert - 신뢰할 수 있는 입력 값일 때만 사용, 사용자가 등록하는 값에는 사용 금지
                $rootScope.trustAsHtml = function (string) {
@@ -129,7 +137,6 @@
                    return true;
                };
                //  이슈 생성, 수정에서 다중 선택, 단일 선택 옵션에 체크되게 해주는 기능
                $rootScope.selectOption = function (useValues, value) {
@@ -236,9 +243,10 @@
                //  권한 리스트
                $rootScope.mngPermission = {
                    "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" : 4096,
                    "USER_PERMISSION_MNG_PARTNER" : 2048,
                    "USER_PERMISSION_MNG_API" : 1024,
                    "USER_PERMISSION_MNG_ISSUE_STATUS" : 512,
                    "USER_PERMISSION_MNG_WORKFLOW" : 256,
@@ -250,6 +258,24 @@
                    "USER_PERMISSION_MNG_EVENT" : 4,
                    "USER_PERMISSION_MNG_GUIDE" : 2,
                };
                // 쿠키 저장
                $rootScope.setCookie = function (name, value, exp) {
                    var date = new Date();
                    date.setTime(date.getTime() + exp*24*60*60*1000);
                    document.cookie = name + '=' + value + ';expires=' + date.toUTCString() + ';path=/';
                };
                // 쿠키 가져오기
                $rootScope.getCookie = function (name) {
                    var value = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
                    return value? value[2] : null;
                }
                // 쿠키 삭제
                $rootScope.deleteCookie = function (name) {
                    document.cookie = name + '=; expires=Thu, 01 Jan 1999 00:00:10 GMT;';
                }
                // 현재 선택된 이슈 타입 아이디 가져오기
                $rootScope.getCurrentIssueTypeId = function () {
@@ -268,7 +294,6 @@
                    if (!$rootScope.isDefined($rootScope.user)) {
                        return false;
                    }
                    var permissionVal = $rootScope.mngPermission[userPermission];
                    if (($rootScope.user.permission & permissionVal) !== 0) {
@@ -278,10 +303,46 @@
                    return false;
                };
                // $rootScope.getMyInfo = function () {
                //
                //     User.findMyLevelAndDepartment($resourceProvider.getContent({},
                //         $resourceProvider.getPageContent(0, 0))).then(function (result) {
                //
                //         if (result.data.message.status === "success") {
                //             $rootScope.myLevel = result.data.data.levelName
                //             $rootScope.myDepartments = result.data.data.departmentName
                //         }
                //     });
                // }
                /*$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 () {
                    if (!$rootScope.isDefined($rootScope.user)) {
                        return false;
                    }
                    // 부서명 배열 합치기
                    if ($rootScope.user.departmentVos.length > 0) {
                        $rootScope.departments = '';
                        let separator = ',';
                        for (let i = 0; i < $rootScope.user.departmentVos.length; i++) {
                            $rootScope.departments += $rootScope.user.departmentVos[i].departmentName +
                                (i === $rootScope.user.departmentVos.length - 1 ? '': separator);
                        }
                    }
                    var permissionVal = $rootScope.mngPermission['USER_PERMISSION_MNG_ISSUE_STATUS'];
@@ -317,28 +378,33 @@
                    return false;
                };
                $rootScope.changeLastProject = function (projectId, reload = true) {
                    if (User != null) {
                        User.updateLastProject($resourceProvider.getContent(
                            {lastProjectId: projectId},
                            $resourceProvider.getPageContent(0, 0))).then(function (result) {
                $rootScope.changeLastProject = function (projectId, reload = true, onEvent = true) {
                    if ($rootScope.workProject == null || $rootScope.workProject.id !== projectId ) {
                        if (User != null) {
                            User.updateLastProject($resourceProvider.getContent(
                                {lastProjectId: projectId},
                                $resourceProvider.getPageContent(0, 0))).then(function (result) {
                            if (result.data.message.status === "success") {
                                $rootScope.user = result.data.data;
                                $rootScope.projects.forEach(function (el) {
                                    if (el.id == projectId) {
                                        $rootScope.workProject = el;
                                        $rootScope.$broadcast("changeLastProject", { id : el.id });
                                    }
                                });
                                $state.go($state.current, {}, {reload: reload});
                            }
                        });
                                if (result.data.message.status === "success") {
                                    $rootScope.user = result.data.data;
                                    $rootScope.projects.forEach(function (el) {
                                        if (el.id == projectId) {
                                            $rootScope.workProject = el;
                                            if (onEvent) {
                                                $rootScope.$broadcast("changedLastProject", {id: el.id});
                                                $state.go("issues.list");
                                            }
                                            if (reload) {
                                                $state.go('dashboards.dashboard');
                                            }
                                        }
                                    });
                                   // $state.go($state.current, {}, {reload: reload});
                                }
                            });
                        }
                    }
                };
                //  프로젝트 관리 권한이 있는지 확인한다
                $rootScope.checkMngPermissionProject = function () {
@@ -508,9 +574,13 @@
                    //  table orderBy column init setting
                    $tableProvider.setOrderByColumn();
                    $tableProvider.reverse = false;
                    $relProvider.setOrderByColumn();
                    $relProvider.reverse = false;
                    //  이슈 목록->상세화면에서 마지막으로 접근한 이슈 아이디 - 라우트 탈때마다 초기화
                    $rootScope.currentDetailIssueId = null;
                    // 사용자 정보를 가져온다.
                    // $rootScope.getMyInfo();
                    $log.debug("toState.name : ", toState.name);
                    $log.debug("$rootScope.previousStateName 확인 : ", $rootScope.previousStateName);
@@ -527,6 +597,7 @@
                            $rootScope.checkPrimaryWorkspace();
                        }
                    }
                });
                //  if ui-router $http occur error, trigger this event
@@ -563,4 +634,5 @@
                return ctxPath;
            })());
    });