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 | 305 ++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 228 insertions(+), 77 deletions(-) diff --git a/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js b/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js index 9245cbf..1d4158b 100644 --- a/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js +++ b/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js @@ -8,120 +8,260 @@ 'angular' ], function (app, angular) { - app.controller('workspaceUserConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$q', '$state', '$tableProvider', 'Payment', 'Workspace', - 'UserWorkspace', '$filter', - function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $q, $state, $tableProvider, Payment, Workspace, UserWorkspace, $filter) { + app.controller('workspaceUserLevelController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$q', '$state', '$tableProvider', 'Payment', 'Workspace', + 'UserWorkspace', '$filter','$timeout', + function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $q, $state, $tableProvider, Payment, Workspace, UserWorkspace, $filter, $timeout) { /* $scope.fn �긽�냽 以� */ - $scope.fn.getUserWorkspaceList = getUserWorkspaceList; // �뾽臾� 怨듦컙 �쟾泥� �궗�슜�옄 �젙蹂� - $scope.fn.makeTableConfigs = makeTableConfigs; // �뾽臾� 怨듦컙�뿉 李몄뿬�븯�뒗 �쟾泥� �궗�슜�옄 紐⑸줉 �뀒�씠釉� �꽕�젙 - $scope.fn.initSearch = initSearch; // 寃��깋 議곌굔 珥덇린�솕 + $scope.fn.getUserLevelList = getUserLevelList; // �궗�슜�옄 �벑湲� 愿�由� 由ъ뒪�듃 + $scope.fn.makeTableConfigs = makeTableConfigs; // �궗�슜�옄 �벑湲� 愿�由� 紐⑸줉 �뀒�씠釉� �꽕�젙 + $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 = { - name : "", // �씠由� - account : "", // �씠硫붿씪 - statuses : [] // �긽�깭 - Y, N + levelName : "", // �벑湲됰챸 }; - $scope.vm.options = { - statuses : [{ - fieldKey : "Y", - fieldValue : $filter("translate")("managementWorkspace.participation") // "李몄뿬" - }, { - fieldKey : "N", - //fieldValue : $filter("translate")("managementWorkspace.waitForParticipation") // "李몄뿬��湲�" - fieldValue : $filter("translate")("managementWorkspace.withdrawal") // "�깉�눜" - }] - }; $scope.vm.page = { selectedPage : 0, selectedPageRowCount : String(10) }; - $scope.vm.tableConfigs = []; + $scope.vm.tableConfigs1 = []; $scope.vm.responseData = { data : [] }; // �뀒�씠釉� �씠踰ㅽ듃 - $scope.vm.tableEvent = { - modifyUserWorkspace : modifyUserWorkspace // �뾽臾� 怨듦컙 李몄뿬�븯�뒗 �궗�슜�옄�쓽 李몄뿬 �긽�깭 蹂�寃� + $scope.tableEvent1 = { + modifyLevelPermission : modifyLevelPermission, // 沅뚰븳 蹂�寃� + modifyLevel : modifyLevel // �궗�슜�옄 �벑湲됰챸 蹂�寃� }; - // 寃곗젣 �긽�꽭 �젙蹂� - $scope.$on("getUserWorkspaceList", function () { - $scope.fn.getUserWorkspaceList(0); - }); - - // �뾽臾� 怨듦컙 李몄뿬�븯�뒗 �궗�슜�옄�쓽 李몄뿬 �긽�깭 蹂�寃� - function modifyUserWorkspace(userWorkspace) { - UserWorkspace.modify($resourceProvider.getContent( - userWorkspace, + function modifyLevelPermission(userPermission) { + UserWorkspace.modifyLevelPermission($resourceProvider.getContent( + userPermission, $resourceProvider.getPageContent(0, 0))).then(function (result) { if (result.data.message.status === "success") { - // �궡媛� 愿�由ы븯�뒗 �뾽臾� 怨듦컙 �젙蹂대�� 議고쉶�븳�떎. - $scope.fn.findMyWorkspace(); + } else { - userWorkspace.useYn = false; - SweetAlert.error($filter("translate")("managementWorkspace.failedToParticipationStatusChange"), result.data.message.message); // "李몄뿬 �긽�깭 蹂�寃� �떎�뙣" + 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.getUserWorkspaceList(0); + $scope.fn.getUserLevelList(0); } - // �뾽臾닿났媛� �쟾泥� �궗�슜�옄 紐⑸줉 �뀒�씠釉� �꽕�젙 + // �궗�슜�옄 �벑湲� 愿�由� �뀒�씠釉� �꽕�젙 function makeTableConfigs() { - $scope.vm.tableConfigs = []; + $scope.vm.tableConfigs1 = []; - $scope.vm.tableConfigs.push($tableProvider.config() - .setHName("common.name") + $scope.vm.tableConfigs1.push($tableProvider.config() + .setDType("checkbox") + .setHWidth("width-20-p") + .setDAlign("text-center")); + $scope.vm.tableConfigs1.push($tableProvider.config() + .setHName("managementWorkspace.levelName") .setHWidth("width-120-p") .setDAlign("text-center") - .setDName("userName")); - $scope.vm.tableConfigs.push($tableProvider.config() - .setHName("common.email") + .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("account")); - $scope.vm.tableConfigs.push($tableProvider.config() - .setHName("common.department") + .setDName("manageProject") + .setDRenderer("PROJECT_SETTING_PERM_YN")); + $scope.vm.tableConfigs1.push($tableProvider.config() + .setHName("manageUser.manageIssuePerm") .setHWidth("width-120-p") + .setDType("renderer") .setDAlign("text-center") - .setDName("department")); - $scope.vm.tableConfigs.push($tableProvider.config() - .setHName("common.level") + .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("level")); - $scope.vm.tableConfigs.push($tableProvider.config() - .setHName("managementWorkspace.joinStatus") - .setHWidth("width-140-p") - .setDType("renderer") + .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("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("API_PERM_YN")); + $scope.vm.tableConfigs1.push($tableProvider.config() + .setHName("manageUser.manageNoticePerm") + .setHWidth("width-120-p") + .setDType("renderer") .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") - .setDName("userYn") - .setDRenderer("WORKSPACE_USE_YN")); + .setDName("Notice") + .setDRenderer("NOTICE_PERM_YN")); + $scope.vm.tableConfigs1.push($tableProvider.config() + .setHName("manageUser.manageFAQPerm") + .setHWidth("width-120-p") + .setDType("renderer") + .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") + .setDName("FAQ") + .setDRenderer("FAQ_PERM_YN")); + $scope.vm.tableConfigs1.push($tableProvider.config() + .setHName("manageUser.manageQnAPerm") + .setHWidth("width-120-p") + .setDType("renderer") + .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") + .setDName("QnA") + .setDRenderer("QNA_PERM_YN")); + $scope.vm.tableConfigs1.push($tableProvider.config() + .setHName("manageUser.manageGuidePerm") + .setHWidth("width-120-p") + .setDType("renderer") + .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") + .setDName("Guide") + .setDRenderer("GUIDE_PERM_YN")); } - // �뾽臾� 怨듦컙 �쟾泥� �궗�슜�옄 紐⑸줉 議고쉶 - function getUserWorkspaceList(selectedPage) { + // �궗�슜�옄 �벑湲� 愿�由� 紐⑸줉 議고쉶 + function getUserLevelList(selectedPage) { if (selectedPage < 0) { selectedPage = 0; } @@ -137,20 +277,11 @@ } var conditions = { - name : $scope.vm.search.name, - account : $scope.vm.search.account, - statuses : (function () { - var statuses = []; - - angular.forEach($scope.vm.search.statuses, function (status) { - statuses.push(status.fieldKey); - }); - - return statuses; - })(), + levelName : $scope.vm.search.levelName //�벑湲됰챸 }; - UserWorkspace.find($resourceProvider.getContent(conditions, + //�뀒�씠釉� 由ъ뒪�듃 �뜲�씠�꽣 而⑦듃濡ㅻ윭 �슂泥� + UserWorkspace.levelFind($resourceProvider.getContent(conditions, $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { if (result.data.message.status === "success") { @@ -158,12 +289,32 @@ $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({ + templateUrl : 'views/workspace/workspaceLevelAdd.html', + size : "md", + controller : 'workspaceLevelAddController', + backdrop : 'static', + resolve : { + parameter : function () { + return { + // workspaceId : $scope.vm.workspaceVo.id, + // usdKrw : $scope.vm.workspaceVo.usdKrw, + // maxUser : $scope.vm.workspaceVo.maxUser + }; + } } }); } $scope.fn.makeTableConfigs(); + $scope.fn.getUserLevelList(); } ]); } -- Gitblit v1.8.0