aboutsummaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2018-08-23 08:38:55 +0500
committerAbyss777 <abyss@fox5.ru>2018-08-23 12:25:52 +0500
commit9731e7543eaf3777625aebec346b4f10690a8b3b (patch)
tree0b2df4a4d8899a164db23c37887af3619c041cd0 /web
parentaf6be7f7dbdcdc8870393204b527f1fbea008498 (diff)
downloadtrackermap-web-9731e7543eaf3777625aebec346b4f10690a8b3b.tar.gz
trackermap-web-9731e7543eaf3777625aebec346b4f10690a8b3b.tar.bz2
trackermap-web-9731e7543eaf3777625aebec346b4f10690a8b3b.zip
Implement Device Accumulators reset
Diffstat (limited to 'web')
-rw-r--r--web/app/view/DeviceMenu.js6
-rw-r--r--web/app/view/DeviceMenuController.js8
-rw-r--r--web/app/view/SettingsMenuController.js1
-rw-r--r--web/app/view/dialog/DeviceAccumulators.js (renamed from web/app/view/dialog/DeviceDistance.js)13
-rw-r--r--web/app/view/dialog/DeviceAccumulatorsController.js (renamed from web/app/view/dialog/DeviceDistanceController.js)23
-rw-r--r--web/l10n/en.json2
6 files changed, 33 insertions, 20 deletions
diff --git a/web/app/view/DeviceMenu.js b/web/app/view/DeviceMenu.js
index c9416845..e4623b94 100644
--- a/web/app/view/DeviceMenu.js
+++ b/web/app/view/DeviceMenu.js
@@ -63,10 +63,10 @@ Ext.define('Traccar.view.DeviceMenu', {
reference: 'menuMaintenancesButton'
}, {
hidden: true,
- text: Strings.sharedDeviceDistance,
+ text: Strings.sharedDeviceAccumulators,
glyph: 'xf0e4@FontAwesome',
- handler: 'onDeviceDistanceClick',
- reference: 'menuDeviceDistanceButton'
+ handler: 'onDeviceAccumulatorsClick',
+ reference: 'menuDeviceAccumulatorsButton'
}]
}
});
diff --git a/web/app/view/DeviceMenuController.js b/web/app/view/DeviceMenuController.js
index f191756c..9355571c 100644
--- a/web/app/view/DeviceMenuController.js
+++ b/web/app/view/DeviceMenuController.js
@@ -27,6 +27,7 @@ Ext.define('Traccar.view.DeviceMenuController', {
'Traccar.view.edit.ComputedAttributes',
'Traccar.view.permissions.SavedCommands',
'Traccar.view.permissions.Maintenances',
+ 'Traccar.view.dialog.DeviceAccumulators',
'Traccar.view.BaseWindow'
],
@@ -36,7 +37,7 @@ Ext.define('Traccar.view.DeviceMenuController', {
this.lookupReference('menuComputedAttributesButton').setHidden(
Traccar.app.getBooleanAttributePreference('ui.disableComputedAttributes'));
this.lookupReference('menuCommandsButton').setHidden(Traccar.app.getPreference('limitCommands', false));
- this.lookupReference('menuDeviceDistanceButton').setHidden(
+ this.lookupReference('menuDeviceAccumulatorsButton').setHidden(
!Traccar.app.getUser().get('administrator') && Traccar.app.getUser().get('userLimit') === 0 || Traccar.app.getVehicleFeaturesDisabled());
this.lookupReference('menuMaintenancesButton').setHidden(
Traccar.app.getVehicleFeaturesDisabled() || Traccar.app.getBooleanAttributePreference('ui.disableMaintenances'));
@@ -120,12 +121,13 @@ Ext.define('Traccar.view.DeviceMenuController', {
}).show();
},
- onDeviceDistanceClick: function () {
- var position, dialog = Ext.create('Traccar.view.dialog.DeviceDistance');
+ onDeviceAccumulatorsClick: function () {
+ var position, dialog = Ext.create('Traccar.view.dialog.DeviceAccumulators');
dialog.deviceId = this.getView().up('deviceMenu').device.getId();
position = Ext.getStore('LatestPositions').findRecord('deviceId', dialog.deviceId, 0, false, false, true);
if (position) {
dialog.lookupReference('totalDistance').setValue(position.get('attributes').totalDistance);
+ dialog.lookupReference('hours').setValue(position.get('attributes').hours);
}
dialog.show();
}
diff --git a/web/app/view/SettingsMenuController.js b/web/app/view/SettingsMenuController.js
index 59f62c2e..37e0634c 100644
--- a/web/app/view/SettingsMenuController.js
+++ b/web/app/view/SettingsMenuController.js
@@ -30,7 +30,6 @@ Ext.define('Traccar.view.SettingsMenuController', {
'Traccar.view.edit.Notifications',
'Traccar.view.edit.ComputedAttributes',
'Traccar.view.Statistics',
- 'Traccar.view.dialog.DeviceDistance',
'Traccar.view.edit.Calendars',
'Traccar.view.edit.SavedCommands',
'Traccar.view.edit.Maintenances',
diff --git a/web/app/view/dialog/DeviceDistance.js b/web/app/view/dialog/DeviceAccumulators.js
index 53945885..eaa4e9f5 100644
--- a/web/app/view/dialog/DeviceDistance.js
+++ b/web/app/view/dialog/DeviceAccumulators.js
@@ -16,21 +16,26 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-Ext.define('Traccar.view.dialog.DeviceDistance', {
+Ext.define('Traccar.view.dialog.DeviceAccumulators', {
extend: 'Traccar.view.dialog.Base',
requires: [
- 'Traccar.view.dialog.DeviceDistanceController'
+ 'Traccar.view.dialog.DeviceAccumulatorsController'
],
- controller: 'deviceDistance',
- title: Strings.sharedDeviceDistance,
+ controller: 'deviceAccumulators',
+ title: Strings.sharedDeviceAccumulators,
items: [{
xtype: 'customNumberField',
dataType: 'distance',
reference: 'totalDistance',
fieldLabel: Strings.deviceTotalDistance
+ }, {
+ xtype: 'customNumberField',
+ dataType: 'hours',
+ reference: 'hours',
+ fieldLabel: Strings.positionHours
}],
buttons: [{
diff --git a/web/app/view/dialog/DeviceDistanceController.js b/web/app/view/dialog/DeviceAccumulatorsController.js
index ae14f33c..2fdae6c5 100644
--- a/web/app/view/dialog/DeviceDistanceController.js
+++ b/web/app/view/dialog/DeviceAccumulatorsController.js
@@ -1,6 +1,6 @@
/*
- * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org)
- * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org)
+ * Copyright 2016 - 2018 Anton Tananaev (anton@traccar.org)
+ * Copyright 2016 - 2018 Andrey Kunitsyn (andrey@traccar.org)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,19 +16,26 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-Ext.define('Traccar.view.dialog.DeviceDistanceController', {
+Ext.define('Traccar.view.dialog.DeviceAccumulatorsController', {
extend: 'Ext.app.ViewController',
- alias: 'controller.deviceDistance',
+ alias: 'controller.deviceAccumulators',
onSetClick: function () {
- var data = {
- deviceId: this.getView().deviceId,
- totalDistance: this.lookupReference('totalDistance').getValue()
+ var totalDistance, hours, data = {
+ deviceId: this.getView().deviceId
};
+ totalDistance = this.lookupReference('totalDistance');
+ if (!isNaN(totalDistance.getRawValue())) {
+ data.totalDistance = totalDistance.getValue();
+ }
+ hours = this.lookupReference('hours');
+ if (!isNaN(hours.getRawValue())) {
+ data.hours = hours.getValue();
+ }
Ext.Ajax.request({
scope: this,
method: 'PUT',
- url: 'api/devices/' + data.deviceId + '/distance',
+ url: 'api/devices/' + data.deviceId + '/accumulators',
jsonData: Ext.util.JSON.encode(data),
callback: function (options, success, response) {
if (!success) {
diff --git a/web/l10n/en.json b/web/l10n/en.json
index 0fa5043c..5acc1ea1 100644
--- a/web/l10n/en.json
+++ b/web/l10n/en.json
@@ -53,7 +53,6 @@
"sharedComputedAttributes": "Computed Attributes",
"sharedCheckComputedAttribute": "Check Computed Attribute",
"sharedExpression": "Expression",
- "sharedDeviceDistance": "Device Distance",
"sharedDevice": "Device",
"sharedTestNotification": "Send Test Notification",
"sharedCalendar": "Calendar",
@@ -77,6 +76,7 @@
"sharedDisabled": "Disabled",
"sharedMaintenance": "Maintenance",
"sharedMaintenances": "Maintenances",
+ "sharedDeviceAccumulators": "Accumulators",
"attributeSpeedLimit": "Speed Limit",
"attributePolylineDistance": "Polyline Distance",
"attributeReportIgnoreOdometer": "Report: Ignore Odometer",