UNPKG

zettapi_client

Version:

Client side CRUD operations in angular to use with zettapi_server rest api to get started quickly in any CMS project

65 lines (57 loc) 1.72 kB
app.controller('roleCtrl', function (ErrorSvc, $scope, $role) { $scope.permissions = {}; $role.getPermissions().then(function (response) { $scope.permissions = response.data; }); $scope.togglePermissions = function (value) { if (!$scope.item.permissions) { $scope.item.permissions = {}; } for (var entity in $scope.permissions) { if (!$scope.item.permissions[entity]) { $scope.item.permissions[entity] = {}; } for (var action in $scope.permissions[entity]) { if (action === 'label') { continue; } $scope.item.permissions[entity][action] = value; } } }; $scope.getError = function (role, roles) { if (!role) { return ErrorSvc.validationArgs(true); } if (!role.name) { return ErrorSvc.validationArgs(true, "Introduza um nome para o perfil de utilizador"); } if (role.name.trim() === "") { return ErrorSvc.validationArgs(true, "Introduza um nome para o perfil de utilizador"); } for (var i = 0; i < roles.length; i++) { if (roles[i].name == role.name && roles[i]._id != role._id) { return ErrorSvc.validationArgs(true, "Perfil de utilizador já existente"); } } return ErrorSvc.validationArgs(false); }; $scope.blank = function () { var permissions = {}; for (var entity in $scope.permissions) { permissions[entity] = {}; for (var action in $scope.permissions[entity]) { if (action === 'label') { continue; } permissions[entity][action] = true; } } return { name: "", approvalLevel: 0, admin: false, permissions: permissions }; }; });