aboutsummaryrefslogtreecommitdiff
path: root/web/app/view/UserDevicesController.js
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2015-10-17 12:35:16 +1300
committerAnton Tananaev <anton.tananaev@gmail.com>2015-10-17 12:35:16 +1300
commit843a370660646499c3007256be953506567f23fb (patch)
treebb912568b1dad621271a2016ba946634e8e93306 /web/app/view/UserDevicesController.js
parent60343748265c7fdc228bc7078d2defb877bf66e1 (diff)
downloadtrackermap-server-843a370660646499c3007256be953506567f23fb.tar.gz
trackermap-server-843a370660646499c3007256be953506567f23fb.tar.bz2
trackermap-server-843a370660646499c3007256be953506567f23fb.zip
Add linking and unlinking of devices
Diffstat (limited to 'web/app/view/UserDevicesController.js')
-rw-r--r--web/app/view/UserDevicesController.js35
1 files changed, 32 insertions, 3 deletions
diff --git a/web/app/view/UserDevicesController.js b/web/app/view/UserDevicesController.js
index 20fb47f85..a50ab8c80 100644
--- a/web/app/view/UserDevicesController.js
+++ b/web/app/view/UserDevicesController.js
@@ -19,6 +19,7 @@ Ext.define('Traccar.view.UserDevicesController', {
alias: 'controller.userDevices',
init: function () {
+ this.userId = this.getView().user.getData().id;
this.getView().getStore().load({
scope: this,
callback: function (records, operation, success) {
@@ -26,7 +27,7 @@ Ext.define('Traccar.view.UserDevicesController', {
userStore.load({
params: {
- userId: this.getView().user.getData().id
+ userId: this.userId
},
scope: this,
callback: function (records, operation, success) {
@@ -43,7 +44,35 @@ Ext.define('Traccar.view.UserDevicesController', {
});
},
- onSelectionChange: function (selected) {
- console.log(selected); // TODO
+ onBeforeSelect: function (object, record, index) {
+ Ext.Ajax.request({
+ scope: this,
+ url: '/api/device/link',
+ params: {
+ userId: this.userId,
+ deviceId: record.getData().id
+ },
+ callback: Traccar.app.getErrorHandler(this, function (options, success, response) {
+ if (!success) {
+ // TODO deselect again
+ }
+ })
+ });
+ },
+
+ onBeforeDeselect: function (object, record, index) {
+ Ext.Ajax.request({
+ scope: this,
+ url: '/api/device/unlink',
+ params: {
+ userId: this.userId,
+ deviceId: record.getData().id
+ },
+ callback: Traccar.app.getErrorHandler(this, function (options, success, response) {
+ if (!success) {
+ // TODO select again
+ }
+ })
+ });
}
});