diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2018-08-23 22:23:43 +1200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-23 22:23:43 +1200 |
commit | 1754679a03da46814c9d65211ead1840372521ac (patch) | |
tree | 0b2df4a4d8899a164db23c37887af3619c041cd0 /web | |
parent | af6be7f7dbdcdc8870393204b527f1fbea008498 (diff) | |
parent | 9731e7543eaf3777625aebec346b4f10690a8b3b (diff) | |
download | trackermap-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')
-rw-r--r-- | web/app/view/DeviceMenu.js | 6 | ||||
-rw-r--r-- | web/app/view/DeviceMenuController.js | 8 | ||||
-rw-r--r-- | web/app/view/SettingsMenuController.js | 1 | ||||
-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.json | 2 |
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", |