aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/api/resource/UserResource.java
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2017-01-25 12:39:13 +0500
committerAbyss777 <abyss@fox5.ru>2017-01-25 12:39:13 +0500
commit483ed4418f53c5207d7150bf288ec6245d8f2cc3 (patch)
treedcfa32f533fe1a6e1d508ccbfddfa77139831f7b /src/org/traccar/api/resource/UserResource.java
parent92f9691c9817526bd025377cb44aa336e7625592 (diff)
downloadtrackermap-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.java4
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) {