diff options
Diffstat (limited to 'src/org/traccar')
-rw-r--r-- | src/org/traccar/reports/ReportUtils.java | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/org/traccar/reports/ReportUtils.java b/src/org/traccar/reports/ReportUtils.java index 3699b1bea..9614ecf71 100644 --- a/src/org/traccar/reports/ReportUtils.java +++ b/src/org/traccar/reports/ReportUtils.java @@ -32,25 +32,37 @@ public final class ReportUtils { } public static String getDistanceUnit(long userId) { - String unit = Context.getPermissionsManager().getUser(userId).getDistanceUnit(); - if (unit == null || Context.getPermissionsManager().getServer().getForceSettings()) { - unit = Context.getPermissionsManager().getServer().getDistanceUnit(); + String unit; + String userUnit = Context.getPermissionsManager().getUser(userId).getDistanceUnit(); + String serverUnit = Context.getPermissionsManager().getServer().getDistanceUnit(); + if (Context.getPermissionsManager().getServer().getForceSettings()) { + unit = serverUnit != null ? serverUnit : userUnit; + } else { + unit = userUnit != null ? userUnit : serverUnit; } return unit != null ? unit : "km"; } public static String getSpeedUnit(long userId) { - String unit = Context.getPermissionsManager().getUser(userId).getSpeedUnit(); - if (unit == null || Context.getPermissionsManager().getServer().getForceSettings()) { - unit = Context.getPermissionsManager().getServer().getSpeedUnit(); + String unit; + String userUnit = Context.getPermissionsManager().getUser(userId).getSpeedUnit(); + String serverUnit = Context.getPermissionsManager().getServer().getSpeedUnit(); + if (Context.getPermissionsManager().getServer().getForceSettings()) { + unit = serverUnit != null ? serverUnit : userUnit; + } else { + unit = userUnit != null ? userUnit : serverUnit; } return unit != null ? unit : "kn"; } public static TimeZone getTimezone(long userId) { - String timezone = Context.getPermissionsManager().getUser(userId).getTimezone(); - if (timezone == null || Context.getPermissionsManager().getServer().getForceSettings()) { - timezone = Context.getPermissionsManager().getServer().getTimezone(); + String timezone; + String userTimezone = Context.getPermissionsManager().getUser(userId).getTimezone(); + String serverTimezone = Context.getPermissionsManager().getServer().getTimezone(); + if (Context.getPermissionsManager().getServer().getForceSettings()) { + timezone = serverTimezone != null ? serverTimezone : userTimezone; + } else { + timezone = userTimezone != null ? userTimezone : serverTimezone; } return timezone != null ? TimeZone.getTimeZone(timezone) : TimeZone.getDefault(); } |