Project

General

Profile

1
var module = angular.module('usersUI', []);
2

    
3
function usersCtrl($scope, $http) {
4
		
5
	$scope.users = [];
6
	
7
	$scope.listUsers = function() {
8
		showSpinner();
9
		$http.get('users.get')
10
        .success(
11
            function(data) {
12
            	$scope.users = data;
13
            	hideSpinner();
14
            }
15
        ).error(
16
            function() {
17
            	show_notification("error", "Error accessing user permission levels");
18
            	hideSpinner();
19
            }
20
        );
21
	}
22
	
23
	$scope.addUser = function(user) {
24
		if (user) {
25
			user = user.trim();
26
			if (user) {
27
				var lngt = $scope.users.length;
28
				for(i=0; i < lngt; i++) {
29
					if ($scope.users[i].id == user) {
30
						show_notification("error", "User " + user +  " is already present");
31
						return;
32
					}
33
				}
34
				$scope.users.push( {'id' : user, 'permissionLevels': [] });
35
				show_notification("info", "Added user: " + user);
36
			}
37
		}
38
	}
39
	
40
	$scope.dropUser = function(i) {
41
		user = $scope.users[i].id;
42
		$scope.users.splice(i, 1);
43
		show_notification("info", "User " + user + " deleted");
44
	}
45
	
46
	$scope.updateUser = function(i, level, b) {
47
		user = $scope.users[i];
48
		pos = user.permissionLevels.indexOf(level);
49
		if (b) {
50
			if (pos < 0) user.permissionLevels.push(level);
51
		} else {
52
			if (pos >= 0) user.permissionLevels.splice(pos, 1); 
53
		}
54
		//show_notification("info", "User " + user.id + " updated");
55
	}
56
	
57
	$scope.saveUsers = function() {
58
		showSpinner();
59
		
60
        $http.defaults.headers.post["Content-Type"] = "application/json";
61
        
62
		$http.post('saveusers.do', $scope.users )
63
		.success(
64
				function(data) {
65
					show_notification("info", "Users saved correctly");
66
					hideSpinner();
67
				}
68
		).error(
69
			function() {
70
				show_notification("error", "Error saving users");
71
				hideSpinner();
72
			}
73
		);
74
	}
75
	
76
	initSpinner();
77
	
78
	$scope.listUsers();
79
	
80
}
(33-33/34)