aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar')
-rw-r--r--src/org/traccar/api/resource/UserResource.java4
-rw-r--r--src/org/traccar/database/PermissionsManager.java2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/org/traccar/api/resource/UserResource.java b/src/org/traccar/api/resource/UserResource.java
index 4d57d5b0c..9eb0d9597 100644
--- a/src/org/traccar/api/resource/UserResource.java
+++ b/src/org/traccar/api/resource/UserResource.java
@@ -47,7 +47,9 @@ public class UserResource extends BaseResource {
@PermitAll
@POST
public Response add(User entity) throws SQLException {
- Context.getPermissionsManager().checkRegistration(getUserId());
+ if (!Context.getPermissionsManager().isAdmin(getUserId())) {
+ Context.getPermissionsManager().checkRegistration(getUserId());
+ }
Context.getDataManager().addUser(entity);
Context.getPermissionsManager().refresh();
return Response.ok(entity).build();
diff --git a/src/org/traccar/database/PermissionsManager.java b/src/org/traccar/database/PermissionsManager.java
index b0f544a42..5557f37e5 100644
--- a/src/org/traccar/database/PermissionsManager.java
+++ b/src/org/traccar/database/PermissionsManager.java
@@ -64,7 +64,7 @@ public class PermissionsManager {
}
}
- private boolean isAdmin(long userId) {
+ public boolean isAdmin(long userId) {
return users.containsKey(userId) && users.get(userId).getAdmin();
}