aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/api/resource/UserResource.java
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2016-11-23 09:17:07 +0500
committerAbyss777 <abyss@fox5.ru>2016-11-23 09:17:07 +0500
commit685fd3826b64b14106aeace0a647e71a4cc4fe81 (patch)
tree0a66b3ce6ce21964c539c4627e04640738f04c2b /src/org/traccar/api/resource/UserResource.java
parent2e2ec32b732f27df9c73f83a1982944cae45bf70 (diff)
parent5f867c6077f79a2a1d3b8ec18f78c3a2657ba698 (diff)
downloadtraccar-server-685fd3826b64b14106aeace0a647e71a4cc4fe81.tar.gz
traccar-server-685fd3826b64b14106aeace0a647e71a4cc4fe81.tar.bz2
traccar-server-685fd3826b64b14106aeace0a647e71a4cc4fe81.zip
Merge remote-tracking branch 'upstream/master' into maintenanceevents
Diffstat (limited to 'src/org/traccar/api/resource/UserResource.java')
-rw-r--r--src/org/traccar/api/resource/UserResource.java17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/org/traccar/api/resource/UserResource.java b/src/org/traccar/api/resource/UserResource.java
index a9edced25..ddbca6b0f 100644
--- a/src/org/traccar/api/resource/UserResource.java
+++ b/src/org/traccar/api/resource/UserResource.java
@@ -49,6 +49,7 @@ public class UserResource extends BaseResource {
public Response add(User entity) throws SQLException {
if (!Context.getPermissionsManager().isAdmin(getUserId())) {
Context.getPermissionsManager().checkRegistration(getUserId());
+ Context.getPermissionsManager().checkUserUpdate(getUserId(), new User(), entity);
}
Context.getPermissionsManager().addUser(entity);
if (Context.getNotificationManager() != null) {
@@ -60,19 +61,9 @@ public class UserResource extends BaseResource {
@Path("{id}")
@PUT
public Response update(User entity) throws SQLException {
- User old = Context.getPermissionsManager().getUser(entity.getId());
- if (old.getExpirationTime() == null && entity.getExpirationTime() != null
- || old.getExpirationTime() != null && !old.getExpirationTime().equals(entity.getExpirationTime())
- || old.getAdmin() != entity.getAdmin()
- || old.getReadonly() != entity.getReadonly()
- || old.getDisabled() != entity.getDisabled()
- || old.getDeviceLimit() != entity.getDeviceLimit()
- || old.getToken() == null && entity.getToken() != null
- || old.getToken() != null && !old.getToken().equals(entity.getToken())) {
- Context.getPermissionsManager().checkAdmin(getUserId());
- } else {
- Context.getPermissionsManager().checkUser(getUserId(), entity.getId());
- }
+ User before = Context.getPermissionsManager().getUser(entity.getId());
+ Context.getPermissionsManager().checkUser(getUserId(), entity.getId());
+ Context.getPermissionsManager().checkUserUpdate(getUserId(), before, entity);
Context.getPermissionsManager().updateUser(entity);
if (Context.getNotificationManager() != null) {
Context.getNotificationManager().refresh();