aboutsummaryrefslogtreecommitdiff
path: root/web/app/view
diff options
context:
space:
mode:
Diffstat (limited to 'web/app/view')
-rw-r--r--web/app/view/CommandDialog.js13
-rw-r--r--web/app/view/CommandDialogController.js13
-rw-r--r--web/app/view/DevicesController.js10
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) {