From 5117b2e64781161c9e06f57cbee217f174d5731e Mon Sep 17 00:00:00 2001 From: Shinryuken Date: Tue, 7 Nov 2017 19:12:37 +0100 Subject: User defaults when no User is available --- src/org/traccar/database/PermissionsManager.java | 13 +++++++++---- 1 file 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 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 { -- cgit v1.2.3