aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/database/PermissionsManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/database/PermissionsManager.java')
-rw-r--r--src/org/traccar/database/PermissionsManager.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/org/traccar/database/PermissionsManager.java b/src/org/traccar/database/PermissionsManager.java
index 07b60ba58..203f25a3d 100644
--- a/src/org/traccar/database/PermissionsManager.java
+++ b/src/org/traccar/database/PermissionsManager.java
@@ -56,8 +56,8 @@ public class PermissionsManager {
refreshDeviceAndGroupPermissions();
}
- public User getUser(long userId) {
- return (User) usersManager.getById(userId);
+ public User getUser(Long userId) {
+ return userId != null ? (User) usersManager.getById(userId) : null;
}
public Set<Long> getGroupPermissions(long userId) {
@@ -416,10 +416,15 @@ public class PermissionsManager {
return null;
}
- public Object lookupAttribute(long userId, String key, Object defaultValue) {
+ public Object lookupAttribute(Long userId, String key, Object defaultValue) {
Object preference;
+ Object userPreference = null;
Object serverPreference = server.getAttributes().get(key);
- Object userPreference = getUser(userId).getAttributes().get(key);
+
+ if (userId != null) {
+ userPreference = getUser(userId).getAttributes().get(key);
+ }
+
if (server.getForceSettings()) {
preference = serverPreference != null ? serverPreference : userPreference;
} else {