diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2016-06-18 11:56:59 +1200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-18 11:56:59 +1200 |
commit | b3b0cd9d6f2d26cef2e64ef38e23203f1f3fa51a (patch) | |
tree | 2e8deb61d372095aebb8270f740501c8124ea8c4 /src/org/traccar/database/PermissionsManager.java | |
parent | d801cba474cd05bb088348f04e8557ca638cd74f (diff) | |
parent | 82a78ff77a076231a8429f0dd84678d61c31d44a (diff) | |
download | trackermap-server-b3b0cd9d6f2d26cef2e64ef38e23203f1f3fa51a.tar.gz trackermap-server-b3b0cd9d6f2d26cef2e64ef38e23203f1f3fa51a.tar.bz2 trackermap-server-b3b0cd9d6f2d26cef2e64ef38e23203f1f3fa51a.zip |
Merge pull request #2012 from Abyss777/master
Implement Geofences on server side
Diffstat (limited to 'src/org/traccar/database/PermissionsManager.java')
-rw-r--r-- | src/org/traccar/database/PermissionsManager.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/org/traccar/database/PermissionsManager.java b/src/org/traccar/database/PermissionsManager.java index 08d44b382..b6dd2e2a9 100644 --- a/src/org/traccar/database/PermissionsManager.java +++ b/src/org/traccar/database/PermissionsManager.java @@ -15,6 +15,7 @@ */ package org.traccar.database; +import org.traccar.Context; import org.traccar.helper.Log; import org.traccar.model.Device; import org.traccar.model.DevicePermission; @@ -77,7 +78,7 @@ public class PermissionsManager { users.put(user.getId(), user); } - GroupTree groupTree = new GroupTree(dataManager.getAllGroups(), dataManager.getAllDevices()); + GroupTree groupTree = new GroupTree(dataManager.getAllGroups(), dataManager.getAllDevicesCached()); for (GroupPermission permission : dataManager.getGroupPermissions()) { Set<Long> userGroupPermissions = getGroupPermissions(permission.getUserId()); Set<Long> userDevicePermissions = getDevicePermissions(permission.getUserId()); @@ -145,4 +146,10 @@ public class PermissionsManager { } } + public void checkGeofence(long userId, long geofenceId) throws SecurityException { + if (!Context.getGeofenceManager().checkGeofence(userId, geofenceId) && !isAdmin(userId)) { + throw new SecurityException("Geofence access denied"); + } + } + } |