From 5df33661fc5d9366bd25e769e90caf0255edc95c Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 수, 03 11월 2021 14:33:58 +0900
Subject: [PATCH] - 사용자 등급관리 findByLevelId 파라미터 Name 변경 - 사용자 삭제 알림 명칭 지정 추가

---
 src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js |  316 +++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 235 insertions(+), 81 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..fb39d05 100644
--- a/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js
+++ b/src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js
@@ -8,120 +8,264 @@
         '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.getUserLevelList = getUserLevelList;  //  �궗�슜�옄 �벑湲� 愿�由� 由ъ뒪�듃
+                $scope.fn.makeTableConfigs = makeTableConfigs;  //  �궗�슜�옄 �벑湲� 愿�由� 紐⑸줉 �뀒�씠釉� �꽕�젙
                 $scope.fn.initSearch = initSearch;  //  寃��깋 議곌굔 珥덇린�솕
-                $scope.fn.changePageRowCount = changePageRowCount;  //  �뾽臾� 怨듦컙 李몄뿬 �궗�슜�옄 紐⑸줉 蹂닿린 媛쒖닔 蹂�寃�
-
+                $scope.fn.levelAdd = levelAdd;    //  �벑湲� 異붽�
+                $scope.fn.removes = removes;    // �궗�슜�옄 �벑湲� �궘�젣
+                $scope.fn.getPageList = getPageList;  //  紐⑸줉 議고쉶
+                $scope.fn.listView = listView;    //  紐⑸줉 �솕硫댁쑝濡� 蹂�寃�
 
                 /*  $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   //  �뾽臾� 怨듦컙 李몄뿬�븯�뒗 �궗�슜�옄�쓽 李몄뿬 �긽�깭 蹂�寃�
+                    // modifyUserWorkspace : modifyUserWorkspace   //  �뾽臾� 怨듦컙 李몄뿬�븯�뒗 �궗�슜�옄�쓽 李몄뿬 �긽�깭 蹂�寃�
                 };
 
-                //  寃곗젣 �긽�꽭 �젙蹂�
-                $scope.$on("getUserWorkspaceList", function () {
-                    $scope.fn.getUserWorkspaceList(0);
+                //  �궗�슜�옄 �벑湲� 由ъ뒪�듃 遺덈윭�삤湲�
+                $scope.$on("getUserLevelList", function () {
+                    $scope.fn.getUserLevelList(0);
                 });
 
-                //  �뾽臾� 怨듦컙 李몄뿬�븯�뒗 �궗�슜�옄�쓽 李몄뿬 �긽�깭 蹂�寃�
-                function modifyUserWorkspace(userWorkspace) {
-                    UserWorkspace.modify($resourceProvider.getContent(
-                        userWorkspace,
-                        $resourceProvider.getPageContent(0, 0))).then(function (result) {
+                //  �씠�뒋 紐⑸줉�쓣 議고쉶�븳�떎.
+                function getPageList(selectedPage, detail = false) {
+                    if (selectedPage < 0) {
+                        selectedPage = 0;
+                    }
+                    //  �쁽�옱 �럹�씠吏� �젙蹂�
+                    var currentPage = 0;
+
+                    //  荑좏궎�뿉 �꽑�깮�븳 �럹�씠吏� �젙蹂닿� �뾾�쑝硫� 湲곕낯 �럹�씠吏� �젙蹂� 0 �쓣 ���옣
+                    if (angular.isUndefined(selectedPage) || selectedPage === "") {
+                        currentPage = $scope.vm.page.selectedPage;
+                    }
+                    else {
+                        currentPage = selectedPage;
+                    }
+
+
+                    //  寃��깋 議곌굔�쓣 ���옣�븳�떎.
+                    //$scope.fn.makeVmSearchObject();
+
+
+                    // �쁽�옱 �꽑�깮�맂 �봽濡쒖젥�듃瑜� 寃��깋 湲곕낯�쑝濡� 異붽�
+                    if ($rootScope.workProject != null && $rootScope.workProject.id > -1) {
+                        var find = findProjectSearch($rootScope.workProject.id);
+                        if (!find) {
+                            $scope.vm.projects.push($rootScope.workProject);
+                        }
+                    }
+
+                    //  �씠�뒋 寃��깋 議곌굔�쓣 留뚮뱺�떎.
+                    var conditions = $scope.fn.makeSearchConditions();
+
+                    Issue.find($resourceProvider.getContent(conditions,
+                        $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) {
+
                         if (result.data.message.status === "success") {
-                            //  �궡媛� 愿�由ы븯�뒗 �뾽臾� 怨듦컙 �젙蹂대�� 議고쉶�븳�떎.
-                            $scope.fn.findMyWorkspace();
+                            $scope.vm.page.selectedPage = currentPage + 1;
+                            $scope.vm.responseData = result.data;
+                            if (detail) {
+                                changeDetailView(result.data.data[0].id);
+                            }
                         }
                         else {
-                            userWorkspace.useYn = false;
-                            SweetAlert.error($filter("translate")("managementWorkspace.failedToParticipationStatusChange"), result.data.message.message); // "李몄뿬 �긽�깭 蹂�寃� �떎�뙣"
+                            SweetAlert.error($filter("translate")("issue.failedIssueLookup"), result.data.message.message); // �씠�뒋 議고쉶 �떎�뙣
                         }
                     });
                 }
 
+                //  紐⑸줉 �솕硫댁쑝濡� 蹂�寃쏀븳�떎.
+                function listView() {
+                    $scope.vm.detailView = false;
+                    //  �씠�뒋 �뀒�씠釉� �꽕�젙
+                    $scope.fn.makeTableConfigs();
+                    var temp = angular.copy($scope.vm.responseData.data);
+                    $scope.vm.responseData.data = angular.copy(temp);
+                    //  留덉�留됱쑝濡� 蹂닿퀬�엳�뜕 �씠�뒋 id瑜� 珥덇린�솕�븳�떎.
+                    $rootScope.currentDetailIssueId = null;
+                }
+
+                // �궗�슜�옄 �벑湲� �궘�젣
+                function removes() {
+                    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")("issue.notHaveDeletePermissionExistsAnIssue"), // �궘�젣 沅뚰븳�씠 �뾾�뒗 �씠�뒋媛� 議댁옱�빀�땲�떎.
+                            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")("issue.deleteIssue"), // �씠�뒋 �궘�젣
+                            text : $filter("translate")("issue.wantToDeleteSelectIssue"), // �꽑�깮�븳 �씠�뒋�쓣 �궘�젣�븯寃좎뒿�땲源�? �궘�젣�맂 �씠�뒋�� 蹂듦뎄�븷 �닔 �뾾�뒿�땲�떎.
+                            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.listView();
+
+                                        $scope.fn.getPageList(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.vm.search.name = "";
+                    //$scope.vm.search.account = "";
+                    //$scope.vm.search.statuses = [];
                     $scope.fn.getUserWorkspaceList(0);
                 }
 
-                //  �뾽臾� 怨듦컙 李몄뿬 �궗�슜�옄 紐⑸줉 蹂닿린 媛쒖닔 蹂�寃�
-                function changePageRowCount() {
-                    $scope.fn.getUserWorkspaceList(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")
+                        .setDName("levelName"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
+                        .setHName("manageUser.manageWorkspacePerm")
                         .setHWidth("width-120-p")
+                        .setDType("renderer")
                         .setDAlign("text-center")
-                        .setDName("account"));
-                    $scope.vm.tableConfigs.push($tableProvider.config()
-                        .setHName("common.department")
-                        .setHWidth("width-120-p")
-                        .setDAlign("text-center")
-                        .setDName("department"));
-                    $scope.vm.tableConfigs.push($tableProvider.config()
-                        .setHName("common.level")
-                        .setHWidth("width-120-p")
-                        .setDAlign("text-center")
-                        .setDName("level"));
-                    $scope.vm.tableConfigs.push($tableProvider.config()
-                        .setHName("managementWorkspace.joinStatus")
-                        .setHWidth("width-140-p")
-                         .setDType("renderer")
-                        .setDAlign("text-center pdr0 pdt0 pdl0 pdb0")
-                        .setDName("userYn")
+                        .setDName("manageProject")
                         .setDRenderer("WORKSPACE_USE_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
+                        .setHName("manageUser.manageProjectPerm")
+                        .setHWidth("width-120-p")
+                        .setDType("renderer")
+                        .setDAlign("text-center")
+                        .setDName("manageProject")
+                        .setDRenderer("PROJECT_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_SETTING_PERM_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
+                        .setHName("manageUser.manageUserPerm")
+                        .setHWidth("width-120-p")
+                        .setDType("renderer")
+                        .setDAlign("text-center")
+                        .setDName("User")
+                        .setDRenderer("USER_PERM_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
+                        .setHName("manageUser.manageNoticePerm")
+                        .setHWidth("width-140-p")
+                        .setDType("renderer")
+                        .setDAlign("text-center pdr0 pdt0 pdl0 pdb0")
+                        .setDName("Notice")
+                        .setDRenderer("NOTICE_PERM_YN"));
+                    $scope.vm.tableConfigs1.push($tableProvider.config()
+                        .setHName("manageUser.manageFAQPerm")
+                        .setHWidth("width-140-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-140-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-140-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 +281,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;
-                        })(),
+                        name : $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 +293,31 @@
                             $scope.vm.responseData = result.data;
                         }
                         else {
-                            SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message); // "�뾽臾� 怨듦컙 �쟾泥� �궗�슜�옄 紐⑸줉 議고쉶 �떎�뙣"
+                            SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), 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