%PDF- %PDF-
Direktori : /var/www/html/news/public/scripts/controllers/users/ |
Current File : /var/www/html/news/public/scripts/controllers/users/user.controller.js |
'use strict'; angular.module('controllers').controller('userController', function ($scope, user, resource, notification, roles) { $scope.isNew = !user; $scope.roles = roles; $scope.availableRoles = []; if ($scope.isNew) { $scope.user = { roles: [] }; } else { $scope.user = angular.extend(user); $scope.user.birthdate = moment($scope.user.birthdate).toDate(); } var filterRoles = function () { angular.forEach($scope.roles, function (value) { var hasRole = false; for (var i = 0; i < $scope.user.roles.length; i++) { if (value.id === $scope.user.roles[i].id) { hasRole = true; break; } } if (!hasRole) { $scope.availableRoles.push(value); } }); }; filterRoles(); $scope.save = function () { if ($scope.isNew) { resource.forResource('users').save($scope.user).then(function (res) { notification.success('User created successfully'); $scope.back(); }, function (error) { notification.error(error); }); } else { delete $scope.user.roles; resource.forResource('users').update($scope.user.id, $scope.user).then(function (res) { notification.success('User updated successfully'); $scope.back(); }, function (error) { notification.error(error); }); } }; $scope.attachRole = function (role) { var req = { roleId: role.id, userId: $scope.user.id }; resource.forResource('users/attachRole').save(req).then(function (response) { notification.success(response.message); $scope.user.roles.push(role); $scope.availableRoles.splice($scope.availableRoles.indexOf(role), 1); }, function (error) { notification.error(error); }) }; $scope.detachRole = function (role) { var req = { roleId: role.id, userId: $scope.user.id }; resource.forResource('users/detachRole').save(req).then(function (res) { notification.success(res.message); $scope.availableRoles.push(role); $scope.user.roles.splice($scope.user.roles.indexOf(role), 1); }, function (error) { notification.error(error); }) }; $scope.back = function () { history.back(); }; $scope.toggleDatepicker = function () { $scope.birthdatePicker = !$scope.birthdatePicker; }; });