aboutsummaryrefslogtreecommitdiff
path: root/web/app
diff options
context:
space:
mode:
Diffstat (limited to 'web/app')
-rw-r--r--web/app/AttributeFormatter.js14
-rw-r--r--web/app/model/Event.js3
-rw-r--r--web/app/model/ReportTrip.js3
-rw-r--r--web/app/store/PositionAttributes.js5
-rw-r--r--web/app/view/ReportController.js4
5 files changed, 29 insertions, 0 deletions
diff --git a/web/app/AttributeFormatter.js b/web/app/AttributeFormatter.js
index e63cf89..464314a 100644
--- a/web/app/AttributeFormatter.js
+++ b/web/app/AttributeFormatter.js
@@ -74,6 +74,18 @@ Ext.define('Traccar.AttributeFormatter', {
}
},
+ driverUniqueIdFormatter: function (value) {
+ var driver, store;
+ if (value !== 0) {
+ store = Ext.getStore('AllDrivers');
+ if (store.getTotalCount() === 0) {
+ store = Ext.getStore('Drivers');
+ }
+ driver = store.findRecord('uniqueId', value, 0, false, true, true);
+ return driver ? value + ' (' + driver.get('name') + ')' : value;
+ }
+ },
+
lastUpdateFormatter: function (value) {
var seconds, interval;
@@ -157,6 +169,8 @@ Ext.define('Traccar.AttributeFormatter', {
return this.distanceFormatter;
} else if (dataType === 'speed') {
return this.speedFormatter;
+ } else if (dataType === 'driverUniqueId') {
+ return this.driverUniqueIdFormatter;
} else if (dataType === 'voltage') {
return this.numberFormatterFactory(Traccar.Style.numberPrecision, Strings.sharedVoltAbbreviation);
} else if (dataType === 'percentage') {
diff --git a/web/app/model/Event.js b/web/app/model/Event.js
index 70fab17..da866b4 100644
--- a/web/app/model/Event.js
+++ b/web/app/model/Event.js
@@ -51,6 +51,9 @@ Ext.define('Traccar.model.Event', {
text = Strings[alarmKey] || alarmKey;
} else if (rec.get('type') === 'textMessage') {
text = Strings.eventTextMessage + ': ' + rec.get('attributes')['message'];
+ } else if (rec.get('type') === 'driverUnauthorized') {
+ text = Strings.eventDriverUnauthorized + ': ' + Traccar.AttributeFormatter.driverUniqueIdFormatter(
+ rec.get('attributes')['driverUniqueId']);
} else {
text = Traccar.app.getEventString(rec.get('type'));
}
diff --git a/web/app/model/ReportTrip.js b/web/app/model/ReportTrip.js
index d243a8a..107008e 100644
--- a/web/app/model/ReportTrip.js
+++ b/web/app/model/ReportTrip.js
@@ -55,5 +55,8 @@ Ext.define('Traccar.model.ReportTrip', {
}, {
name: 'endAddress',
type: 'string'
+ }, {
+ name: 'driverName',
+ type: 'string'
}]
});
diff --git a/web/app/store/PositionAttributes.js b/web/app/store/PositionAttributes.js
index 0a6572d..44bfa92 100644
--- a/web/app/store/PositionAttributes.js
+++ b/web/app/store/PositionAttributes.js
@@ -233,6 +233,11 @@ Ext.define('Traccar.store.PositionAttributes', {
key: 'result',
name: Strings.eventCommandResult,
valueType: 'string'
+ }, {
+ key: 'driverUniqueId',
+ name: Strings.positionDriverUniqueId,
+ valueType: 'string',
+ dataType: 'driverUniqueId'
}],
getAttributeName: function (key, capitalize) {
diff --git a/web/app/view/ReportController.js b/web/app/view/ReportController.js
index e048c06..b478ae9 100644
--- a/web/app/view/ReportController.js
+++ b/web/app/view/ReportController.js
@@ -531,6 +531,10 @@ Ext.define('Traccar.view.ReportController', {
text: Strings.reportSpentFuel,
dataIndex: 'spentFuel',
renderer: Traccar.AttributeFormatter.getFormatter('spentFuel')
+ }, {
+ text: Strings.reportDriverName,
+ dataIndex: 'driverName',
+ renderer: Traccar.AttributeFormatter.getFormatter('driverName')
}],
stopsColumns: [{