diff options
author | Abyss777 <abyss@fox5.ru> | 2017-01-25 12:39:13 +0500 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2017-01-25 12:39:13 +0500 |
commit | 483ed4418f53c5207d7150bf288ec6245d8f2cc3 (patch) | |
tree | dcfa32f533fe1a6e1d508ccbfddfa77139831f7b /src/org/traccar/api/resource/UserResource.java | |
parent | 92f9691c9817526bd025377cb44aa336e7625592 (diff) | |
download | trackermap-server-483ed4418f53c5207d7150bf288ec6245d8f2cc3.tar.gz trackermap-server-483ed4418f53c5207d7150bf288ec6245d8f2cc3.tar.bz2 trackermap-server-483ed4418f53c5207d7150bf288ec6245d8f2cc3.zip |
- Add "deviceReadonly" user field
- Allow users edit tokens
- Managers can create users with deviceLimit = 0 only
- Manager can't create users with expirationTime later then their
- Other permissions improvements
Diffstat (limited to 'src/org/traccar/api/resource/UserResource.java')
-rw-r--r-- | src/org/traccar/api/resource/UserResource.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/org/traccar/api/resource/UserResource.java b/src/org/traccar/api/resource/UserResource.java index dd59a11ee..4d8a8b3a4 100644 --- a/src/org/traccar/api/resource/UserResource.java +++ b/src/org/traccar/api/resource/UserResource.java @@ -64,7 +64,7 @@ public class UserResource extends BaseResource { Context.getPermissionsManager().checkUserLimit(getUserId()); } else { Context.getPermissionsManager().checkRegistration(getUserId()); - entity.setDeviceLimit(Context.getConfig().getInteger("users.defaultDeviceLimit")); + entity.setDeviceLimit(Context.getConfig().getInteger("users.defaultDeviceLimit", -1)); int expirationDays = Context.getConfig().getInteger("users.defaultExpirationDays"); if (expirationDays > 0) { entity.setExpirationTime( @@ -86,6 +86,7 @@ public class UserResource extends BaseResource { @Path("{id}") @PUT public Response update(User entity) throws SQLException { + Context.getPermissionsManager().checkReadonly(getUserId()); User before = Context.getPermissionsManager().getUser(entity.getId()); Context.getPermissionsManager().checkUser(getUserId(), entity.getId()); Context.getPermissionsManager().checkUserUpdate(getUserId(), before, entity); @@ -99,6 +100,7 @@ public class UserResource extends BaseResource { @Path("{id}") @DELETE public Response remove(@PathParam("id") long id) throws SQLException { + Context.getPermissionsManager().checkReadonly(getUserId()); Context.getPermissionsManager().checkUser(getUserId(), id); Context.getPermissionsManager().removeUser(id); if (Context.getGeofenceManager() != null) { |