aboutsummaryrefslogtreecommitdiff
path: root/web/app
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2018-08-23 22:23:43 +1200
committerGitHub <noreply@github.com>2018-08-23 22:23:43 +1200
commit1754679a03da46814c9d65211ead1840372521ac (patch)
tree0b2df4a4d8899a164db23c37887af3619c041cd0 /web/app
parentaf6be7f7dbdcdc8870393204b527f1fbea008498 (diff)
parent9731e7543eaf3777625aebec346b4f10690a8b3b (diff)
downloadtrackermap-web-1754679a03da46814c9d65211ead1840372521ac.tar.gz
trackermap-web-1754679a03da46814c9d65211ead1840372521ac.tar.bz2
trackermap-web-1754679a03da46814c9d65211ead1840372521ac.zip
Merge pull request #699 from Abyss777/accumulators
Implement Device Accumulators reset
Diffstat (limited to 'web/app')
-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
5 files changed, 32 insertions, 19 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) {