ONOS-1937, ONOS-1938 - CORD-GUI -- User view now can change the level of URL filtering per user. CSS WIP.
Change-Id: I65f494bca184a6337f703a0ecdb40ce09d166a42
diff --git a/apps/demo/cord-gui/src/main/webapp/app/view/user/user.js b/apps/demo/cord-gui/src/main/webapp/app/view/user/user.js
index f31e1d6..8e97c015b 100644
--- a/apps/demo/cord-gui/src/main/webapp/app/view/user/user.js
+++ b/apps/demo/cord-gui/src/main/webapp/app/view/user/user.js
@@ -25,11 +25,13 @@
angular.module('cordUser', [])
.controller('CordUserCtrl', ['$log', '$scope', '$resource',
function ($log, $scope, $resource) {
- var BundleData, bundleResource, UserData, userResource;
+ var BundleData, bundleResource;
$scope.page = 'user';
$scope.isFamily = false;
$scope.newLevels = {};
+ // === Get data functions ---
+
BundleData = $resource(bundleUrl);
bundleResource = BundleData.get({},
// success
@@ -52,26 +54,57 @@
}
);
- UserData = $resource(userUrl);
- userResource = UserData.get({},
- // success
- function () {
- $scope.users = userResource.users;
- },
- // error
- function () {
- $log.error('Problem with resource', userResource);
+ function getUsers(url) {
+ var UserData, userResource;
+ UserData = $resource(url);
+ userResource = UserData.get({},
+ // success
+ function () {
+ $scope.users = userResource.users;
+ },
+ // error
+ function () {
+ $log.error('Problem with resource', userResource);
+ }
+ );
+ }
+
+ getUsers(userUrl);
+
+ // === Form functions ---
+
+ function levelUrl(id, level) {
+ return userUrl + '/' + id + '/apply/url_filter/level/' + level;
+ }
+
+ $scope.applyChanges = function () {
+ var requests = [];
+
+ if ($scope.users) {
+ $.each($scope.users, function (index, user) {
+ var id = user.id,
+ level = user.profile.url_filter.level;
+ if ($scope.newLevels[id] !== level) {
+ requests.push(levelUrl(id, $scope.newLevels[id]));
+ }
+ });
+
+ $.each(requests, function (index, req) {
+ getUsers(req);
+ });
}
- );
+ };
+
+ $scope.cancelChanges = function (changeLevels) {
+ if ($scope.users) {
+ $.each($scope.users, function (index, user) {
+ $scope.newLevels[user.id] = user.profile.url_filter.level;
+ });
+ }
+ changeLevels.$setPristine();
+ };
$log.debug('Cord User Ctrl has been created.');
- }])
- .directive('editUser', [function () {
- return {
- link: function (scope, elem) {
-
- }
- };
}]);
}());