forked from Archives/Athou_commafeed
protect the admin user
This commit is contained in:
@@ -50,6 +50,11 @@ public class AdminUsersREST extends AbstractREST {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
User user = userService.findById(id);
|
User user = userService.findById(id);
|
||||||
|
if (StartupBean.ADMIN_NAME.equals(user.getName())
|
||||||
|
&& !userModel.isEnabled()) {
|
||||||
|
return Response.status(Status.FORBIDDEN)
|
||||||
|
.entity("You cannot disable the admin user.").build();
|
||||||
|
}
|
||||||
user.setName(userModel.getName());
|
user.setName(userModel.getName());
|
||||||
if (StringUtils.isNotBlank(userModel.getPassword())) {
|
if (StringUtils.isNotBlank(userModel.getPassword())) {
|
||||||
user.setPassword(encryptionService.getEncryptedPassword(
|
user.setPassword(encryptionService.getEncryptedPassword(
|
||||||
@@ -120,7 +125,8 @@ public class AdminUsersREST extends AbstractREST {
|
|||||||
return Response.status(Status.NOT_FOUND).build();
|
return Response.status(Status.NOT_FOUND).build();
|
||||||
}
|
}
|
||||||
if (StartupBean.ADMIN_NAME.equals(user.getName())) {
|
if (StartupBean.ADMIN_NAME.equals(user.getName())) {
|
||||||
return Response.status(Status.FORBIDDEN).build();
|
return Response.status(Status.FORBIDDEN)
|
||||||
|
.entity("You cannot delete the admin user.").build();
|
||||||
}
|
}
|
||||||
feedEntryStatusService.delete(feedEntryStatusService.findAll(user));
|
feedEntryStatusService.delete(feedEntryStatusService.findAll(user));
|
||||||
feedSubscriptionService.delete(feedSubscriptionService.findAll(user));
|
feedSubscriptionService.delete(feedSubscriptionService.findAll(user));
|
||||||
|
|||||||
@@ -251,7 +251,7 @@ module.controller('FeedListCtrl', function($scope, $stateParams, $http, $route,
|
|||||||
});
|
});
|
||||||
|
|
||||||
module.controller('ManageUsersCtrl',
|
module.controller('ManageUsersCtrl',
|
||||||
function($scope, $state, AdminUsersService) {
|
function($scope, $state, $location, AdminUsersService) {
|
||||||
$scope.users = AdminUsersService.getAll();
|
$scope.users = AdminUsersService.getAll();
|
||||||
$scope.selection = [];
|
$scope.selection = [];
|
||||||
$scope.gridOptions = {
|
$scope.gridOptions = {
|
||||||
@@ -268,6 +268,9 @@ module.controller('ManageUsersCtrl',
|
|||||||
$scope.addUser = function() {
|
$scope.addUser = function() {
|
||||||
$state.transitionTo('admin.useradd');
|
$state.transitionTo('admin.useradd');
|
||||||
};
|
};
|
||||||
|
$scope.back = function() {
|
||||||
|
$location.path('/');
|
||||||
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
module.controller('ManageUserCtrl', function($scope, $state, $stateParams,
|
module.controller('ManageUserCtrl', function($scope, $state, $stateParams,
|
||||||
@@ -279,6 +282,12 @@ module.controller('ManageUserCtrl', function($scope, $state, $stateParams,
|
|||||||
$scope.closeAlert = function(index) {
|
$scope.closeAlert = function(index) {
|
||||||
$scope.alerts.splice(index, 1);
|
$scope.alerts.splice(index, 1);
|
||||||
};
|
};
|
||||||
|
var alertFunction = function(data) {
|
||||||
|
$scope.alerts.push({
|
||||||
|
msg : data.data,
|
||||||
|
type: 'error'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
$scope.cancel = function(){
|
$scope.cancel = function(){
|
||||||
$state.transitionTo('admin.userlist');
|
$state.transitionTo('admin.userlist');
|
||||||
@@ -286,15 +295,11 @@ module.controller('ManageUserCtrl', function($scope, $state, $stateParams,
|
|||||||
$scope.save = function() {
|
$scope.save = function() {
|
||||||
AdminUsersService.save($scope.user, function() {
|
AdminUsersService.save($scope.user, function() {
|
||||||
$state.transitionTo('admin.userlist');
|
$state.transitionTo('admin.userlist');
|
||||||
}, function(data) {
|
}, alertFunction);
|
||||||
$scope.alerts.push({
|
|
||||||
msg : data.data
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
$scope.delete = function() {
|
$scope.delete = function() {
|
||||||
AdminUsersService.delete({id: $scope.user.id}, function() {
|
AdminUsersService.delete({id: $scope.user.id}, function() {
|
||||||
$state.transitionTo('admin.userlist');
|
$state.transitionTo('admin.userlist');
|
||||||
});
|
},alertFunction);
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="button-bar">
|
<div class="button-bar">
|
||||||
<button class="btn" ng-click="addUser()">Add user</button>
|
<button class="btn" ng-click="addUser()">Add user</button>
|
||||||
|
<button class="btn" ng-click="back()">Back</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="users-table" ng-grid="gridOptions"></div>
|
<div class="users-table" ng-grid="gridOptions"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user