Skip to content

Commit a4e15c9

Browse files
committed
Add role to a user
1 parent b43fa0e commit a4e15c9

File tree

3 files changed

+70
-62
lines changed

3 files changed

+70
-62
lines changed

Diff for: Zenergy/Zenergy/Pages/users.html

+17-18
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
<div ng-controller="usersPageController" class="container ">
1+
<div class="container ">
22
<div class="row">
33
<div class="col-md-12">
4-
<h2>Users managment{{checkBoxModel}}</h2>
4+
<h2>Users managment</h2>
55
<form>
66
<div class="form-group">
77
<div class="input-group">
@@ -12,17 +12,15 @@ <h2>Users managment{{checkBoxModel}}</h2>
1212
</div>
1313
</div>
1414
</form>
15-
<script type="text/ng-template" id="myModalContent.html">
16-
<div class="modal-header">
17-
<h3 class="modal-title">{{modifiedUser.firstname}}</h3>
18-
</div>
19-
<div class="modal-body">
20-
</div>
21-
<div class="modal-footer">
22-
<button class="btn btn-primary" type="button" ng-click="ok()">OK</button>
23-
<button class="btn btn-warning" type="button" ng-click="cancel()">Cancel</button>
24-
</div>
25-
</script>
15+
<script type="text/ng-template" id="myModalContent.html">
16+
<div class="modal-header">
17+
<h3 class="modal-title">Are you sur you want to delete {{userTodelete.firstname}} ?</h3>
18+
</div>
19+
<div class="modal-footer">
20+
<button class="btn btn-warning" type="button" ng-click="cancel()">Cancel</button>
21+
<button class="btn btn-primary" type="button" ng-click="ok()">OK</button>
22+
</div>
23+
</script>
2624

2725

2826
<table class="table table-striped">
@@ -63,15 +61,16 @@ <h3 class="modal-title">{{modifiedUser.firstname}}</h3>
6361
</tr>
6462
</thead>
6563
<tbody>
66-
<tr ng-repeat="u in users | orderBy:sortType:sortReverse| filter:searchUser" ng-init="u.adminChecked=(u.admin!=undefined); u.managerChecked=(u.manager!=undefined); u.contributorChecked=(u.contributor!=undefined); u.memberChecked=(u.member!=undefined)">
64+
<tr ng-repeat="u in users | orderBy:sortType:sortReverse| filter:searchUser" id="tr{{u.userId}}" ng-init="u.adminChecked=(u.admin!=undefined); u.managerChecked=(u.manager!=undefined); u.contributorChecked=(u.contributor!=undefined); u.memberChecked=(u.member!=undefined)">
6765
<td>{{u.userId}}</td>
6866
<td>{{u.firstname}}</td>
6967
<td>{{u.lastname}}</td>
7068
<td>{{u.mail}}</td>
71-
<td><label><input type="checkbox" ng-checked="u.admin" ng-model="u.adminChecked"></label></td>
72-
<td><label><input type="checkbox" ng-checked="u.manager" ng-model="u.managerChecked"></label></td>
73-
<td><label><input type="checkbox" ng-checked="u.contributor" ng-model="u.contributorChecked"></label></td>
74-
<td><label><input type="checkbox" ng-checked="u.member" ng-model="u.memberChecked"></label></td>
69+
<td><label><input type="checkbox" ng-checked="u.admin" ng-model="u.adminChecked"/></label></td>
70+
<td><label><input type="checkbox" ng-checked="u.manager" ng-model="u.managerChecked"/></label></td>
71+
<td><label><input type="checkbox" ng-checked="u.contributor" ng-model="u.contributorChecked"/></label></td>
72+
<td><label><input type="checkbox" ng-checked="u.member" ng-model="u.memberChecked"/></label></td>
73+
<td><input class="btn btn-danger btn-sm" value="delete" ng-click="open(u)"/></td>
7574
</tr>
7675
</tbody>
7776
</table>

Diff for: Zenergy/Zenergy/Scripts/Controllers/usersPageController.js

+51-43
Original file line numberDiff line numberDiff line change
@@ -6,87 +6,95 @@
66
$scope.sortReverse = false; // set the default sort order
77
$scope.searchFish = ''; // set the default search/filter term
88

9-
$scope.users = [
10-
{ userId: 1, firstname: 'Crab', lastname: 'Cali', mail: 'Cali@roll.fr', administrator:false },
11-
{ userId: 3, firstname: 'Bob', lastname: 'Paul', mail: 'Bob@aaa@roll.fr', administrator: true },
12-
{ userId: 2, firstname: 'Ami', lastname: 'Pierre', mail: 'Pierre@roll.fr', administrator: true },
13-
{ userId: 4, firstname: 'Dude', lastname: 'Jacques', mail: 'Jacques@roll.fr', administrator: false },
14-
];
159

1610
var User = $resource('api/users/:userId', { userId: '@id' }, {
1711
update: {
1812
method: 'PUT' // this method issues a PUT request
1913
}
2014
});
15+
var Admin = $resource('api/admins/:userId', { userId: '@id' }, {
16+
});
17+
var Manager = $resource('api/managers/:userId', { userId: '@id' }, {
18+
});
19+
var Contributor = $resource('api/contributors/:userId', { userId: '@id' }, {
20+
});
21+
var Member = $resource('api/members/:userId', { userId: '@id' }, {
22+
});
23+
2124

2225
$scope.users = User.query(function () {
23-
console.log($scope.users);
2426
});
25-
/* $scope.checkboxModel = {
26-
admins: [true,true,false,true],
27-
managers: [true, true, false, true],
28-
contributors: [true, true, false, true],
29-
members: [true, true, false, true]
30-
};
31-
/*}
32-
else
33-
window.location.replace("/Home");*/
3427

3528
$scope.validate = function()
3629
{
3730
angular.forEach($scope.users, function (u, key) {
3831

39-
if (!u.admin && u.adminChecked)
40-
u.admin = { UserId: u.userId }; //admin role added
41-
else if (u.admin && !u.adminChecked)
42-
u.admin = null; //admin role removed
32+
if (u.adminChecked)
33+
Admin.save({userId : u.userId}) //admin role added
34+
else
35+
Admin.delete({ userId: u.userId }); //admin role removed
4336

44-
if (!u.manager && u.managerChecked)
45-
u.manager = { UserId: u.userId };//manager role added
46-
else if (u.manager && !u.managerChecked)
47-
u.manager = null; //manager role removed
37+
if (u.managerChecked)
38+
Manager.save({ userId: u.userId });//manager role added
39+
else
40+
Manager.delete({ userId: u.userId }); //manager role removed
4841

49-
if (!u.contributor && u.contributorChecked)
50-
u.contributor = { UserId: u.userId };//contributor role added
51-
else if (u.contributor && !u.contributorChecked)
52-
u.contributor = null; //contributor role removed
42+
if (u.contributorChecked)
43+
Contributor.save({ userId: u.userId });//contributor role added
44+
else
45+
Contributor.delete({ userId: u.userId }); //contributor role removed
5346

54-
if (!u.member && u.memberChecked)
55-
u.member = { UserId: u.userId, dateMembership: new Date() };//member role added
56-
else if (u.member && !u.memberChecked)
57-
u.member = null; //member role removed
47+
if (u.memberChecked)
48+
Member.save({ userId: u.userId });//member role added
49+
else if (u.memberChecked)
50+
Member.delete({ userId: u.userId });//member role removed
5851

59-
u.$update({ userId: u.userId });
6052
});
61-
console.log($scope.users);
6253
}
6354

55+
56+
57+
6458
$scope.open = function (u) {
6559

66-
$scope.modifiedUser = u;
60+
$scope.userTodelete = u;
6761

6862
var modalInstance = $uibModal.open({
6963
animation: true,
7064
templateUrl: 'myModalContent.html',
7165
controller: 'ModalInstanceCtrl',
72-
size: 'lg',
73-
/*resolve: {
74-
items: function () {
75-
return $scope.items;
66+
size: 'sm',
67+
resolve: {
68+
userTodelete: function () {
69+
return $scope.userTodelete;
7670
}
77-
}*/
71+
}
72+
});
73+
74+
modalInstance.result.then(function () {
75+
//Suppression de l'utilisateur.
76+
User.delete({ userId: $scope.userTodelete.userId });
77+
$('#tr' + $scope.userTodelete.userId).fadeOut('slow', function () {
78+
var index = $scope.users.indexOf($scope.userTodelete);
79+
$scope.users.splice(index, 1);
80+
});
81+
82+
}, function () {
7883
});
7984
};
8085

8186
}]);
8287

83-
/*zenergyApp.controller('ModalInstanceCtrl', function ($scope, $uibModalInstance) {
84-
console.log($scope.modifiedUser);
88+
zenergyApp.controller('ModalInstanceCtrl', function ($scope, $uibModalInstance, userTodelete) {
89+
90+
console.log(userTodelete);
91+
$scope.userTodelete = userTodelete;
92+
8593
$scope.ok = function () {
8694
$uibModalInstance.close();
8795
};
8896

8997
$scope.cancel = function () {
9098
$uibModalInstance.dismiss('cancel');
9199
};
92-
});*/
100+
});

Diff for: Zenergy/Zenergy/Scripts/Tools/facebookApiTools.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,10 @@
3232

3333
};
3434

35+
FB = null;
3536
(function (d, s, id) {
3637
var js, fjs = d.getElementsByTagName(s)[0];
37-
if (d.getElementById(id)) return;
38+
//if (d.getElementById(id)) return;
3839
js = d.createElement(s); js.id = id;
3940
js.src = "//connect.facebook.net/en_US/sdk.js";
4041
fjs.parentNode.insertBefore(js, fjs);

0 commit comments

Comments
 (0)