aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2017-07-14 11:59:31 +0500
committerAbyss777 <abyss@fox5.ru>2017-07-14 11:59:31 +0500
commitc0cbde51aa75a5b2df58b11e76527ee703289541 (patch)
tree394e18d9e36c1423843de01a88e290a4d25e099c
parent9949cadcdf3f07a4590742e2f0303d82efb653f9 (diff)
downloadtraccar-server-c0cbde51aa75a5b2df58b11e76527ee703289541.tar.gz
traccar-server-c0cbde51aa75a5b2df58b11e76527ee703289541.tar.bz2
traccar-server-c0cbde51aa75a5b2df58b11e76527ee703289541.zip
Implement driverChanged event instead of driverUnauthorized
-rw-r--r--setup/default.xml2
-rw-r--r--src/org/traccar/database/DriversManager.java16
-rw-r--r--src/org/traccar/events/DriverEventHandler.java19
-rw-r--r--src/org/traccar/model/Event.java2
-rw-r--r--templates/mail/driverChanged.vm (renamed from templates/mail/driverUnauthorized.vm)2
-rw-r--r--templates/sms/driverChanged.vm6
-rw-r--r--templates/sms/driverUnauthorized.vm6
7 files changed, 14 insertions, 39 deletions
diff --git a/setup/default.xml b/setup/default.xml
index 4a408bf30..04530104a 100644
--- a/setup/default.xml
+++ b/setup/default.xml
@@ -452,7 +452,7 @@
DELETE FROM drivers WHERE id = :id
</entry>
- <entry key='database.selectDriverPermissions'>
+ <entry key='database.selectDriverPermissions'>
SELECT userId, driverId FROM user_driver
</entry>
diff --git a/src/org/traccar/database/DriversManager.java b/src/org/traccar/database/DriversManager.java
index cba2e14c1..e89d59311 100644
--- a/src/org/traccar/database/DriversManager.java
+++ b/src/org/traccar/database/DriversManager.java
@@ -210,20 +210,4 @@ public class DriversManager {
}
return drivers;
}
-
- public final boolean authorizeDriverByUniqueId(String driverUniqueId, long deviceId) {
- if (driversByUniqueId.containsKey(driverUniqueId)) {
- long chekingDriverId = getDriverByUniqueId(driverUniqueId).getId();
- Set<Long> deviceDrivers = getAllDeviceDrivers(deviceId);
- if (deviceDrivers.isEmpty()) {
- return true;
- }
- for (long driverId : deviceDrivers) {
- if (chekingDriverId == driverId) {
- return true;
- }
- }
- }
- return false;
- }
}
diff --git a/src/org/traccar/events/DriverEventHandler.java b/src/org/traccar/events/DriverEventHandler.java
index 9109373c7..eb5f2a301 100644
--- a/src/org/traccar/events/DriverEventHandler.java
+++ b/src/org/traccar/events/DriverEventHandler.java
@@ -26,12 +26,6 @@ import org.traccar.model.Position;
public class DriverEventHandler extends BaseEventHandler {
- private boolean notRepeat;
-
- public DriverEventHandler() {
- notRepeat = Context.getConfig().getBoolean("event.driver.notRepeat");
- }
-
@Override
protected Collection<Event> analyzePosition(Position position) {
if (!Context.getIdentityManager().isLatestPosition(position)) {
@@ -40,15 +34,12 @@ public class DriverEventHandler extends BaseEventHandler {
String driverUniqueId = position.getString(Position.KEY_DRIVER_UNIQUE_ID);
if (driverUniqueId != null) {
String oldDriverUniqueId = null;
- if (notRepeat) {
- Position lastPosition = Context.getIdentityManager().getLastPosition(position.getDeviceId());
- if (lastPosition != null) {
- oldDriverUniqueId = lastPosition.getString(Position.KEY_DRIVER_UNIQUE_ID);
- }
+ Position lastPosition = Context.getIdentityManager().getLastPosition(position.getDeviceId());
+ if (lastPosition != null) {
+ oldDriverUniqueId = lastPosition.getString(Position.KEY_DRIVER_UNIQUE_ID);
}
- if (!driverUniqueId.equals(oldDriverUniqueId)
- && !Context.getDriversManager().authorizeDriverByUniqueId(driverUniqueId, position.getDeviceId())) {
- Event event = new Event(Event.TYPE_DRIVER_UNAUTHORIZED, position.getDeviceId(), position.getId());
+ if (!driverUniqueId.equals(oldDriverUniqueId)) {
+ Event event = new Event(Event.TYPE_DRIVER_CHANGED, position.getDeviceId(), position.getId());
event.set(Position.KEY_DRIVER_UNIQUE_ID, driverUniqueId);
return Collections.singleton(event);
}
diff --git a/src/org/traccar/model/Event.java b/src/org/traccar/model/Event.java
index dd5358f75..2d836abeb 100644
--- a/src/org/traccar/model/Event.java
+++ b/src/org/traccar/model/Event.java
@@ -61,7 +61,7 @@ public class Event extends Message {
public static final String TYPE_TEXT_MESSAGE = "textMessage";
- public static final String TYPE_DRIVER_UNAUTHORIZED = "driverUnauthorized";
+ public static final String TYPE_DRIVER_CHANGED = "driverChanged";
private Date serverTime;
diff --git a/templates/mail/driverUnauthorized.vm b/templates/mail/driverChanged.vm
index 3d28266cd..ba1e68661 100644
--- a/templates/mail/driverUnauthorized.vm
+++ b/templates/mail/driverChanged.vm
@@ -1,4 +1,4 @@
-#set($subject = "$device.name: driver unauthorized")
+#set($subject = "$device.name: driver has changed")
<!DOCTYPE html>
<html>
<body>
diff --git a/templates/sms/driverChanged.vm b/templates/sms/driverChanged.vm
new file mode 100644
index 000000000..50849df7c
--- /dev/null
+++ b/templates/sms/driverChanged.vm
@@ -0,0 +1,6 @@
+#if($driver)
+#set($driverName = $driver.name)
+#else
+#set($driverName = $event.getString("driverUniqueId"))
+#end
+Driver $driverName has changed in $device.name at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.serverTime, $locale, $timezone)
diff --git a/templates/sms/driverUnauthorized.vm b/templates/sms/driverUnauthorized.vm
deleted file mode 100644
index 52c819eb8..000000000
--- a/templates/sms/driverUnauthorized.vm
+++ /dev/null
@@ -1,6 +0,0 @@
-#if($driver)
-#set($driverName = $driver.name)
-#else
-#set($driverName = $event.getString("driverUniqueId"))
-#end
-$driverName is unauthorized for $device.name at $dateTool.format("YYYY-MM-dd HH:mm:ss", $event.serverTime, $locale, $timezone)