aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/api/resource/DevicePermissionResource.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/DevicePermissionResource.java
parent92f9691c9817526bd025377cb44aa336e7625592 (diff)
downloadtraccar-server-483ed4418f53c5207d7150bf288ec6245d8f2cc3.tar.gz
traccar-server-483ed4418f53c5207d7150bf288ec6245d8f2cc3.tar.bz2
traccar-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/DevicePermissionResource.java')
-rw-r--r--src/org/traccar/api/resource/DevicePermissionResource.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/org/traccar/api/resource/DevicePermissionResource.java b/src/org/traccar/api/resource/DevicePermissionResource.java
index af38676b0..6e00dc47f 100644
--- a/src/org/traccar/api/resource/DevicePermissionResource.java
+++ b/src/org/traccar/api/resource/DevicePermissionResource.java
@@ -38,9 +38,6 @@ public class DevicePermissionResource extends BaseResource {
Context.getPermissionsManager().checkReadonly(getUserId());
Context.getPermissionsManager().checkUser(getUserId(), entity.getUserId());
Context.getPermissionsManager().checkDevice(getUserId(), entity.getDeviceId());
- if (!Context.getPermissionsManager().isAdmin(getUserId())) {
- Context.getPermissionsManager().checkDeviceLimit(entity.getUserId());
- }
Context.getDataManager().linkDevice(entity.getUserId(), entity.getDeviceId());
Context.getPermissionsManager().refreshPermissions();
if (Context.getGeofenceManager() != null) {
@@ -52,7 +49,11 @@ public class DevicePermissionResource extends BaseResource {
@DELETE
public Response remove(DevicePermission entity) throws SQLException {
Context.getPermissionsManager().checkReadonly(getUserId());
- Context.getPermissionsManager().checkUser(getUserId(), entity.getUserId());
+ if (getUserId() != entity.getUserId()) {
+ Context.getPermissionsManager().checkUser(getUserId(), entity.getUserId());
+ } else {
+ Context.getPermissionsManager().checkAdmin(getUserId());
+ }
Context.getPermissionsManager().checkDevice(getUserId(), entity.getDeviceId());
Context.getDataManager().unlinkDevice(entity.getUserId(), entity.getDeviceId());
Context.getPermissionsManager().refreshPermissions();