diff --git a/src/app/users/status-update-dialog.html b/src/app/users/status-update-dialog.html new file mode 100644 index 0000000..f2ae500 --- /dev/null +++ b/src/app/users/status-update-dialog.html @@ -0,0 +1,35 @@ +
+ | User ID | +User ID | Handle | Registred at | -Activation Code | +Name | +Status | +Created at | +Modified at | +Activation Code | Active | Action | {{user.id}} | {{user.handle}} | {{user.email}} | +{{user.firstName}} {{user.lastName}} | +{{statusLabel(user.status)}} | {{format(user.createdAt)}} | +{{format(user.modifiedAt)}} | {{user.credential.activationCode}} | - + EDIT Activate - + Deactivate | diff --git a/src/app/users/users.service.js b/src/app/users/users.service.js index 6f5eb0d..6aff1fd 100644 --- a/src/app/users/users.service.js +++ b/src/app/users/users.service.js @@ -4,6 +4,7 @@ angular.module('supportAdminApp') .factory('UserService', ['$q','$http', 'API_URL', function ($q, $http, API_URL) { // local dev + //var API_URL = 'http://local.topcoder-dev.com:8080'; return ({ /** find user by ID */ @@ -51,7 +52,7 @@ angular.module('supportAdminApp') var opts = options || {}; var query = ""; angular.forEach({ - "fields": opts.fields || "id,handle,email,active,credential,firstName,lastName,createdAt,modifiedAt", + "fields": opts.fields || "id,handle,email,active,status,credential,firstName,lastName,createdAt,modifiedAt", "filter": opts.filter //"limit" : null, //"offset": null, @@ -127,6 +128,43 @@ angular.module('supportAdminApp') return $q.reject(err); } ); - } // activate() + }, // activate() + + updateStatus: function(userId, status, comment) { + + var param = comment ? '?comment=' + encodeURIComponent(comment) : ''; + var request = $http({ + method: 'PATCH', + url: API_URL + '/v3/users/'+userId+'/status/'+status+param, + headers: { + "Content-Type":"application/json" + }, + data: {} + }); + + return request.then( + function(response) { + console.log(response); + return response.data.result.content; + }, + function(error) { + console.log(error); + var err; + if(error && error.data && error.data.result) { + err = { + status: error.status, + error : error.data.result.content + }; + } + if(!err) { + err = { + status: error.status, + error : error.statusText + }; + } + return $q.reject(err); + } + ); + } // updateStatus() }); }]); diff --git a/src/components/alert/alert.controller.js b/src/components/alert/alert.controller.js index 57a0e55..7a4a5d6 100644 --- a/src/components/alert/alert.controller.js +++ b/src/components/alert/alert.controller.js @@ -7,14 +7,18 @@ module.controller('AlertController', ['$scope', '$rootScope', $scope.closeAlert = function(index) { $scope.alerts.splice(index, 1); - } + }; $scope.addAlert = function(alert) { $scope.alerts.push(alert); - } + }; - $scope.$on('AlertIssued', function(event, alert){ + $scope.$on('alert.AlertIssued', function(event, alert){ $scope.addAlert(alert); }); + + $scope.$on('alert.ClearAll', function(event, alert){ + $scope.alerts.length = 0; + }); } ]);
|---|