NamespaceRoleController.js 7.51 KB
Newer Older
lepdou committed
1
role_module.controller('NamespaceRoleController',
2 3 4 5
                       ['$scope', '$location', '$window', 'toastr', 'AppService', 'UserService', 'AppUtil',
                        'PermissionService',
                        function ($scope, $location, $window, toastr, AppService, UserService, AppUtil,
                                  PermissionService) {
lepdou committed
6

lepdou committed
7 8 9 10 11
                            var params = AppUtil.parseParams($location.$$url);
                            $scope.pageContext = {
                                appId: params.appid,
                                namespaceName: params.namespaceName
                            };
12

13 14 15
                            $scope.modifyRoleSubmitBtnDisabled = false;
                            $scope.ReleaseRoleSubmitBtnDisabled = false;

16 17
                            $scope.releaseRoleWidgetId = 'releaseRoleWidgetId';
                            $scope.modifyRoleWidgetId = 'modifyRoleWidgetId';
lepdou committed
18

lepdou committed
19 20 21 22
                            PermissionService.has_assign_user_permission($scope.pageContext.appId)
                                .then(function (result) {
                                    $scope.hasAssignUserPermission = result.hasPermission;
                                }, function (reslt) {
lepdou committed
23

lepdou committed
24
                                });
lepdou committed
25

lepdou committed
26 27 28 29 30 31 32
                            PermissionService.get_namespace_role_users($scope.pageContext.appId,
                                                                       $scope.pageContext.namespaceName)
                                .then(function (result) {
                                    $scope.rolesAssignedUsers = result;
                                }, function (result) {
                                    toastr.error(AppUtil.errorMsg(result), "加载授权用户出错");
                                });
lepdou committed
33

lepdou committed
34 35
                            $scope.assignRoleToUser = function (roleType) {
                                if ('ReleaseNamespace' == roleType) {
lepdou committed
36
                                    var user = $('.' + $scope.releaseRoleWidgetId).select2('data')[0];
37
                                    if (!user) {
lepdou committed
38 39 40
                                        toastr.warning("请选择用户");
                                        return;
                                    }
41
                                    $scope.ReleaseRoleSubmitBtnDisabled = true;
lepdou committed
42
                                    var toAssignReleaseNamespaceRoleUser = user.id;
lepdou committed
43 44
                                    PermissionService.assign_release_namespace_role($scope.pageContext.appId,
                                                                                    $scope.pageContext.namespaceName,
45
                                                                                    toAssignReleaseNamespaceRoleUser)
lepdou committed
46 47
                                        .then(function (result) {
                                            toastr.success("添加成功");
48
                                            $scope.ReleaseRoleSubmitBtnDisabled = false;
49 50
                                            $scope.rolesAssignedUsers.releaseRoleUsers.push(
                                                {userId: toAssignReleaseNamespaceRoleUser});
51
                                            $('.' + $scope.releaseRoleWidgetId).select2("val", "");
lepdou committed
52
                                        }, function (result) {
53
                                            $scope.ReleaseRoleSubmitBtnDisabled = false;
lepdou committed
54 55 56
                                            toastr.error(AppUtil.errorMsg(result), "添加失败");
                                        });
                                } else {
lepdou committed
57
                                    var user = $('.' + $scope.modifyRoleWidgetId).select2('data')[0];
58
                                    if (!user) {
lepdou committed
59 60 61
                                        toastr.warning("请选择用户");
                                        return;
                                    }
62
                                    $scope.modifyRoleSubmitBtnDisabled = true;
lepdou committed
63
                                    var toAssignModifyNamespaceRoleUser = user.id;
lepdou committed
64 65
                                    PermissionService.assign_modify_namespace_role($scope.pageContext.appId,
                                                                                   $scope.pageContext.namespaceName,
66
                                                                                   toAssignModifyNamespaceRoleUser)
lepdou committed
67 68
                                        .then(function (result) {
                                            toastr.success("添加成功");
69
                                            $scope.modifyRoleSubmitBtnDisabled = false;
70 71
                                            $scope.rolesAssignedUsers.modifyRoleUsers.push(
                                                {userId: toAssignModifyNamespaceRoleUser});
72
                                            $('.' + $scope.modifyRoleWidgetId).select2("val", "");
lepdou committed
73
                                        }, function (result) {
74
                                            $scope.modifyRoleSubmitBtnDisabled = false;
lepdou committed
75 76 77 78
                                            toastr.error(AppUtil.errorMsg(result), "添加失败");
                                        });
                                }
                            };
lepdou committed
79

lepdou committed
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
                            $scope.removeUserRole = function (roleType, user) {
                                if ('ReleaseNamespace' == roleType) {
                                    PermissionService.remove_release_namespace_role($scope.pageContext.appId,
                                                                                    $scope.pageContext.namespaceName,
                                                                                    user)
                                        .then(function (result) {
                                            toastr.success("删除成功");
                                            removeUserFromList($scope.rolesAssignedUsers.releaseRoleUsers, user);
                                        }, function (result) {
                                            toastr.error(AppUtil.errorMsg(result), "删除失败");
                                        });
                                } else {
                                    PermissionService.remove_modify_namespace_role($scope.pageContext.appId,
                                                                                   $scope.pageContext.namespaceName,
                                                                                   user)
                                        .then(function (result) {
                                            toastr.success("删除成功");
                                            removeUserFromList($scope.rolesAssignedUsers.modifyRoleUsers, user);
                                        }, function (result) {
                                            toastr.error(AppUtil.errorMsg(result), "删除失败");
                                        });
                                }
                            };

                            function removeUserFromList(list, user) {
                                var index = 0;
                                for (var i = 0; i < list.length; i++) {
                                    if (list[i].userId == user) {
                                        index = i;
                                        break;
                                    }
                                }
                                list.splice(index, 1);
                            }
114

lepdou committed
115
                        }]);