diff options
author | Abyss777 <abyss@fox5.ru> | 2017-03-07 15:32:22 +0500 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2017-03-07 15:39:21 +0500 |
commit | 7db1c1cdcf617e146e927c4aadde239959a9d3de (patch) | |
tree | 6caf2497b4d217557e8f00887ec6442e2bfd0c73 /web/app/view | |
parent | 50a2616002602c379f408d5ecc404a59d317b0ca (diff) | |
download | trackermap-web-7db1c1cdcf617e146e927c4aadde239959a9d3de.tar.gz trackermap-web-7db1c1cdcf617e146e927c4aadde239959a9d3de.tar.bz2 trackermap-web-7db1c1cdcf617e146e927c4aadde239959a9d3de.zip |
Implement SMS commands
Diffstat (limited to 'web/app/view')
-rw-r--r-- | web/app/view/CommandDialog.js | 13 | ||||
-rw-r--r-- | web/app/view/CommandDialogController.js | 13 | ||||
-rw-r--r-- | web/app/view/DevicesController.js | 10 |
3 files changed, 29 insertions, 7 deletions
diff --git a/web/app/view/CommandDialog.js b/web/app/view/CommandDialog.js index 24e0e191..ef486c41 100644 --- a/web/app/view/CommandDialog.js +++ b/web/app/view/CommandDialog.js @@ -1,5 +1,5 @@ /* - * Copyright 2015 Anton Tananaev (anton@traccar.org) + * Copyright 2015 - 2017 Anton Tananaev (anton@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 @@ -28,8 +28,19 @@ Ext.define('Traccar.view.CommandDialog', { items: { xtype: 'form', items: [{ + xtype: 'checkboxfield', + name: 'textChannel', + reference: 'textChannelCheckBox', + inputValue: true, + uncheckedValue: false, + fieldLabel: Strings.notificationSms, + listeners: { + change: 'onTextChannelChange' + } + }, { xtype: 'combobox', name: 'type', + reference: 'commandType', fieldLabel: Strings.sharedType, store: 'CommandTypes', displayField: 'name', diff --git a/web/app/view/CommandDialogController.js b/web/app/view/CommandDialogController.js index 6e809fa1..c2859d0a 100644 --- a/web/app/view/CommandDialogController.js +++ b/web/app/view/CommandDialogController.js @@ -1,5 +1,5 @@ /* - * Copyright 2015 Anton Tananaev (anton@traccar.org) + * Copyright 2015 - 2017 Anton Tananaev (anton@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 @@ -113,9 +113,18 @@ Ext.define('Traccar.view.CommandDialogController', { }); }, + onTextChannelChange: function (checkbox, newValue) { + var typesStore = this.lookupReference('commandType').getStore(); + typesStore.getProxy().setExtraParam('textChannel', newValue); + typesStore.reload(); + }, + onSendResult: function (options, success, response) { if (success) { - Ext.toast(Strings.commandSent); + Ext.toast({ + html: Strings.commandSent, + align: 'br' + }); this.closeView(); } else { Traccar.app.showError(response); diff --git a/web/app/view/DevicesController.js b/web/app/view/DevicesController.js index ad0dd363..d65055e7 100644 --- a/web/app/view/DevicesController.js +++ b/web/app/view/DevicesController.js @@ -74,28 +74,30 @@ Ext.define('Traccar.view.DevicesController', { }, onCommandClick: function () { - var device, deviceId, command, dialog, comboStore; + var device, deviceId, command, dialog, comboStore, online; device = this.getView().getSelectionModel().getSelection()[0]; + online = device.get('status') === 'online'; deviceId = device.get('id'); command = Ext.create('Traccar.model.Command'); command.set('deviceId', deviceId); + command.set('textChannel', !online); dialog = Ext.create('Traccar.view.CommandDialog'); comboStore = dialog.down('form').down('combobox').getStore(); comboStore.getProxy().setExtraParam('deviceId', deviceId); dialog.down('form').loadRecord(command); + dialog.lookupReference('textChannelCheckBox').setDisabled(!online); dialog.show(); }, updateButtons: function (selected) { - var readonly, deviceReadonly, empty, online; + var readonly, deviceReadonly, empty; deviceReadonly = Traccar.app.getPreference('deviceReadonly', false) && !Traccar.app.getUser().get('admin'); readonly = Traccar.app.getPreference('readonly', false) && !Traccar.app.getUser().get('admin'); empty = selected.getCount() === 0; - online = selected.getLastSelected().get('status') === 'online'; this.lookupReference('toolbarEditButton').setDisabled(empty || readonly || deviceReadonly); this.lookupReference('toolbarRemoveButton').setDisabled(empty || readonly || deviceReadonly); this.lookupReference('toolbarGeofencesButton').setDisabled(empty || readonly); - this.lookupReference('deviceCommandButton').setDisabled(empty || readonly || !online); + this.lookupReference('deviceCommandButton').setDisabled(empty || readonly); }, onSelectionChange: function (selected) { |