From 4d06a7593fba3df556fc3728c142554907c6b157 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 15 12월 2021 10:46:45 +0900
Subject: [PATCH] '전체 이슈 프로젝트 보기' 권한 '이슈 관리' 권한으로 변경 - 이슈관리: 모든 이슈 수정 가능

---
 src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js |  225 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 186 insertions(+), 39 deletions(-)

diff --git a/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js b/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js
index 4a8a351..1d4158b 100644
--- a/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js
+++ b/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js
@@ -9,15 +9,19 @@
     ],
     function (app, angular) {
         app.controller('workspaceUserLevelController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$q', '$state', '$tableProvider', 'Payment', 'Workspace',
-            'UserWorkspace', 'Workspace', '$filter',
-            function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $q, $state, $tableProvider, Payment, Workspace, UserWorkspace, $filter) {
+            'UserWorkspace', '$filter','$timeout',
+            function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $q, $state, $tableProvider, Payment, Workspace, UserWorkspace, $filter, $timeout) {
 
 
                 /*  $scope.fn �긽�냽 以�  */
                 $scope.fn.getUserLevelList = getUserLevelList;  //  �궗�슜�옄 �벑湲� 愿�由� 由ъ뒪�듃
                 $scope.fn.makeTableConfigs = makeTableConfigs;  //  �궗�슜�옄 �벑湲� 愿�由� 紐⑸줉 �뀒�씠釉� �꽕�젙
-                $scope.fn.initSearch = initSearch;  //  寃��깋 議곌굔 珥덇린�솕
+                $scope.fn.initSearchUserLevel = initSearchUserLevel;  //  寃��깋 議곌굔 珥덇린�솕
+                $scope.fn.changePageRowCount = changePageRowCount;  //  �뾽臾� 怨듦컙 李몄뿬 �궗�슜�옄 紐⑸줉 蹂닿린 媛쒖닔 蹂�寃�
                 $scope.fn.levelAdd = levelAdd;    //  �벑湲� 異붽�
+                $scope.fn.removeLevels = removeLevels;    // �궗�슜�옄 �벑湲� �궘�젣
+                $scope.fn.makeSearchConditions = makeSearchConditions;
+
 
                 /*  $scope.vm �긽�냽 以�  */
                 $scope.vm.search = {
@@ -30,88 +34,230 @@
                     selectedPageRowCount : String(10)
                 };
 
-                $scope.vm.tableConfigs = [];
+                $scope.vm.tableConfigs1 = [];
                 $scope.vm.responseData = {
                     data : []
                 };
 
                 //  �뀒�씠釉� �씠踰ㅽ듃
-                $scope.vm.tableEvent = {
-                    // modifyUserWorkspace : modifyUserWorkspace   //  �뾽臾� 怨듦컙 李몄뿬�븯�뒗 �궗�슜�옄�쓽 李몄뿬 �긽�깭 蹂�寃�
+                $scope.tableEvent1 = {
+                    modifyLevelPermission : modifyLevelPermission,   //  沅뚰븳 蹂�寃�
+                    modifyLevel : modifyLevel   //  �궗�슜�옄 �벑湲됰챸 蹂�寃�
                 };
+
+                function modifyLevelPermission(userPermission) {
+                    UserWorkspace.modifyLevelPermission($resourceProvider.getContent(
+                        userPermission,
+                        $resourceProvider.getPageContent(0, 0))).then(function (result) {
+                        if (result.data.message.status === "success") {
+
+                        }
+                        else {
+                            SweetAlert.error($filter("translate")("managementWorkspace.failedToParticipationStatusChange"), result.data.message.message); // "沅뚰븳 蹂�寃� �떎�뙣"
+                        }
+                    });
+                }
 
                 //  �궗�슜�옄 �벑湲� 由ъ뒪�듃 遺덈윭�삤湲�
                 $scope.$on("getUserLevelList", function () {
                     $scope.fn.getUserLevelList(0);
                 });
 
+                function makeSearchConditions() {
+                    var conditions = {
+                        levelName: $scope.vm.search.levelName
+                    }
+                    return conditions;
+                }
+
+                //  �궗�슜�옄 �벑湲� �닔�젙
+                function modifyLevel(id) {
+                    $uibModal.open({
+                        templateUrl : 'views/workspace/workspaceLevelModify.html',
+                        size : "md",
+                        controller : 'workspaceLevelModifyController',
+                        backdrop : 'static',
+                        resolve : {
+                            parameter : function () {
+                                return {
+                                    id : id
+                                };
+                            }
+                        }
+                    });
+                }
+
+                // �궗�슜�옄 �벑湲� �궘�젣
+                function removeLevels() {
+                    var removeIds = [];
+                    var removePermission = true;
+
+                    angular.forEach($scope.vm.responseData.data, function (data) {
+                        if (data.checked && data.modifyPermissionCheck) {
+                            removeIds.push(data.id);
+                        }
+
+                        if (data.checked && !data.modifyPermissionCheck) {
+                            removePermission = false;
+                        }
+                    });
+
+                    if (!removePermission) {
+                        SweetAlert.swal({
+                            html : true,
+                            title : $filter("translate")("common.deleteFailed"), // �궘�젣 �떎�뙣
+                            text : $filter("translate")("managementWorkspace.notHaveDeletePermissionExistsAnLevel"), // �궘�젣 沅뚰븳�씠 �뾾�뒗 �벑湲됱씠 議댁옱 �빀�땲�떎.
+                            type : "error"
+                        });
+                        return;
+                    }
+
+                    if (removeIds.length < 1) {
+                        SweetAlert.swal({
+                            title : $filter("translate")("common.checkPurgingTargets"), // �궘�젣 ���긽 �솗�씤
+                            text : $filter("translate")("common.selectDestinationDeletion"), // �궘�젣 ���긽�쓣 �꽑�깮�븯�꽭�슂.
+                            type : "warning"
+                        });
+                        return;
+                    }
+
+                    //  �궘�젣 �븣由�
+                    SweetAlert.swal({
+                            title : $filter("translate")("managementWorkspace.deleteLevel"), // �벑湲� �궘�젣
+                            text : $filter("translate")("managementWorkspace.wantToDeleteSelectLevel"), // �꽑�깮�븳 �벑湲됱쓣 �궘�젣�븯寃좎뒿�땲源�? �궗�슜�옄媛� 吏곸젒 �궘�젣�븳 �벑湲됱� �뼱�뼚�븳 寃쎌슦�뿉�룄 蹂듦뎄媛� 遺덇��뒫�빀�땲�떎.
+                            type : "warning",
+                            showCancelButton : true,
+                            confirmButtonColor : "#DD6B55",
+                            confirmButtonText : $filter("translate")("common.delete"), // �궘�젣
+                            cancelButtonText : $filter("translate")("common.cancel"), // 痍⑥냼
+                            closeOnConfirm : false,
+                            closeOnCancel : true
+                        },
+                        function (isConfirm) {
+                            SweetAlert.close();
+
+                            if (isConfirm) {
+                                $rootScope.spinner = true;
+
+                                UserWorkspace.levelRemove($resourceProvider.getContent(
+                                    { removeIds : removeIds },
+                                    $resourceProvider.getPageContent(0, 0))).then(function (result) {
+
+                                    if (result.data.message.status === "success") {
+                                        $timeout(function () {
+                                            SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // �궘�젣 �꽦怨�
+                                        }, 100);
+
+                                        $scope.fn.getUserLevelList(0);
+                                    }
+                                    else {
+                                        $timeout(function () {
+                                            SweetAlert.error($filter("translate")("common.deleteFailed"), result.data.message.message); // �궘�젣 �떎�뙣
+                                        }, 100);
+                                    }
+
+                                    $rootScope.spinner = false;
+                                });
+                            }
+                        });
+                }
+
+
                 //  寃��깋 議곌굔 珥덇린�솕
-                function initSearch() {
-                    //$scope.vm.search.name = "";
-                    //$scope.vm.search.account = "";
-                    //$scope.vm.search.statuses = [];
-                    $scope.fn.getUserWorkspaceList(0);
+                function initSearchUserLevel() {
+                    $scope.vm.search.levelName = "";
+                    $scope.fn.getUserLevelList(0);
+                }
+
+                //  �벑湲� 紐⑸줉 蹂닿린 媛쒖닔 蹂�寃�
+                function changePageRowCount() {
+                    $scope.fn.getUserLevelList(0);
                 }
 
                 //  �궗�슜�옄 �벑湲� 愿�由� �뀒�씠釉� �꽕�젙
                 function makeTableConfigs() {
-                    $scope.vm.tableConfigs = [];
+                    $scope.vm.tableConfigs1 = [];
 
-                    $scope.vm.tableConfigs.push($tableProvider.config()
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
                         .setDType("checkbox")
                         .setHWidth("width-20-p")
                         .setDAlign("text-center"));
-                    $scope.vm.tableConfigs.push($tableProvider.config()
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
                         .setHName("managementWorkspace.levelName")
                         .setHWidth("width-120-p")
                         .setDAlign("text-center")
-                        .setDName("levelName"));
-                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setDType("renderer")
+                        .setDRenderer("USER_LEVEL_MODIFY"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
                         .setHName("manageUser.manageProjectPerm")
                         .setHWidth("width-120-p")
+                        .setDType("renderer")
                         .setDAlign("text-center")
                         .setDName("manageProject")
-                        .setDRenderer("WORKSPACE_USE_YN"));
-                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setDRenderer("PROJECT_SETTING_PERM_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
+                        .setHName("manageUser.manageIssuePerm")
+                        .setHWidth("width-120-p")
+                        .setDType("renderer")
+                        .setDAlign("text-center")
+                        .setDName("ViewAllIssueAndProject")
+                        .setDRenderer("ISSUE_SETTING_PERM_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
+                        .setHName("manageUser.manageWorkspacePerm")
+                        .setHWidth("width-120-p")
+                        .setDType("renderer")
+                        .setDAlign("text-center")
+                        .setDName("manageWorkspace")
+                        .setDRenderer("WORKSPACE_SETTING_PERM_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
                         .setHName("manageUser.manageIssueSystemPerm")
                         .setHWidth("width-120-p")
+                        .setDType("renderer")
                         .setDAlign("text-center")
                         .setDName("IssueSystem")
-                        .setDRenderer("WORKSPACE_USE_YN"));
-                    $scope.vm.tableConfigs.push($tableProvider.config()
-                        .setHName("manageUser.manageUserPerm")
+                        .setDRenderer("ISSUE_SYSTEM_SETTING_PERM_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
+                        .setHName("manageUser.managePartnerPerm")
                         .setHWidth("width-120-p")
+                        .setDType("renderer")
+                        .setDAlign("text-center")
+                        .setDName("managePartner")
+                        .setDRenderer("PARTNER_SETTING_PERM_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
+                        .setHName("manageUser.manageApiPerm")
+                        .setHWidth("width-120-p")
+                        .setDType("renderer")
                         .setDAlign("text-center")
                         .setDName("User")
-                        .setDRenderer("WORKSPACE_USE_YN"));
-                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setDRenderer("API_PERM_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
                         .setHName("manageUser.manageNoticePerm")
-                        .setHWidth("width-140-p")
-                         .setDType("renderer")
+                        .setHWidth("width-120-p")
+                        .setDType("renderer")
                         .setDAlign("text-center pdr0 pdt0 pdl0 pdb0")
                         .setDName("Notice")
-                        .setDRenderer("WORKSPACE_USE_YN"));
-                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setDRenderer("NOTICE_PERM_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
                         .setHName("manageUser.manageFAQPerm")
-                        .setHWidth("width-140-p")
+                        .setHWidth("width-120-p")
                         .setDType("renderer")
                         .setDAlign("text-center pdr0 pdt0 pdl0 pdb0")
                         .setDName("FAQ")
-                        .setDRenderer("WORKSPACE_USE_YN"));
-                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setDRenderer("FAQ_PERM_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
                         .setHName("manageUser.manageQnAPerm")
-                        .setHWidth("width-140-p")
+                        .setHWidth("width-120-p")
                         .setDType("renderer")
                         .setDAlign("text-center pdr0 pdt0 pdl0 pdb0")
                         .setDName("QnA")
-                        .setDRenderer("WORKSPACE_USE_YN"));
-                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setDRenderer("QNA_PERM_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
                         .setHName("manageUser.manageGuidePerm")
-                        .setHWidth("width-140-p")
+                        .setHWidth("width-120-p")
                         .setDType("renderer")
                         .setDAlign("text-center pdr0 pdt0 pdl0 pdb0")
                         .setDName("Guide")
-                        .setDRenderer("WORKSPACE_USE_YN"));
+                        .setDRenderer("GUIDE_PERM_YN"));
                 }
 
                 //  �궗�슜�옄 �벑湲� 愿�由� 紐⑸줉 議고쉶
@@ -130,10 +276,10 @@
                         currentPage = selectedPage;
                     }
 
-                    var conditions = {                        
-                        name : $scope.vm.search.levelName //�벑湲됰챸
+                    var conditions = {
+                        levelName : $scope.vm.search.levelName //�벑湲됰챸
                     };
-                    
+
                     //�뀒�씠釉� 由ъ뒪�듃 �뜲�씠�꽣 而⑦듃濡ㅻ윭 �슂泥�
                     UserWorkspace.levelFind($resourceProvider.getContent(conditions,
                         $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) {
@@ -143,10 +289,11 @@
                             $scope.vm.responseData = result.data;
                         }
                         else {
-                            SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message); // "�궗�슜�옄 �벑湲� 紐⑸줉 議고쉶 �떎�뙣"
+                            SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullLevelList"), result.data.message.message); // "�궗�슜�옄 �벑湲� 紐⑸줉 議고쉶 �떎�뙣"
                         }
                     });
                 }
+
                 //  �벑湲� 異붽�
                 function levelAdd() {
                     $uibModal.open({

--
Gitblit v1.8.0