diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2015-09-17 16:57:31 +1200 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2015-09-17 16:57:31 +1200 |
commit | 8baf73493d24c85bc5d13069044fc1150ed62c2e (patch) | |
tree | ce421f9431ac3e13e91817bfd989bcd272034649 /web/app/view | |
parent | 4154c2cd31f23c5d5fb336dfcd68ba192b297f93 (diff) | |
download | traccar-server-8baf73493d24c85bc5d13069044fc1150ed62c2e.tar.gz traccar-server-8baf73493d24c85bc5d13069044fc1150ed62c2e.tar.bz2 traccar-server-8baf73493d24c85bc5d13069044fc1150ed62c2e.zip |
Move login calls to controller
Diffstat (limited to 'web/app/view')
-rw-r--r-- | web/app/view/device/DeviceController.js | 5 | ||||
-rw-r--r-- | web/app/view/login/LoginController.js | 65 | ||||
-rw-r--r-- | web/app/view/user/UserController.js | 6 |
3 files changed, 42 insertions, 34 deletions
diff --git a/web/app/view/device/DeviceController.js b/web/app/view/device/DeviceController.js index 59b777f8b..3cfe3888d 100644 --- a/web/app/view/device/DeviceController.js +++ b/web/app/view/device/DeviceController.js @@ -23,7 +23,8 @@ Ext.define('Traccar.view.device.DeviceController', { 'Traccar.view.command.CommandDialog', 'Traccar.view.user.UserDialog', 'Traccar.view.admin.ServerDialog', - 'Traccar.view.user.User' + 'Traccar.view.user.User', + 'Traccar.view.login.LoginController' ], config: { @@ -44,7 +45,7 @@ Ext.define('Traccar.view.device.DeviceController', { }, onLogoutClick: function() { - Traccar.LoginManager.logout(); + Ext.create('Traccar.view.login.LoginController').logout(); }, onAddClick: function() { diff --git a/web/app/view/login/LoginController.js b/web/app/view/login/LoginController.js index 48a4aa0f7..0344f5542 100644 --- a/web/app/view/login/LoginController.js +++ b/web/app/view/login/LoginController.js @@ -24,10 +24,43 @@ Ext.define('Traccar.view.login.LoginController', { init: function() { this.lookupReference('registerButton').setDisabled( - !Traccar.app.getServer().get('registration') - ); + !Traccar.app.getServer().get('registration')); this.lookupReference('languageField').setValue(language); + }, + login: function() { + var form = this.lookupReference('form'); + if (form.isValid()) { + Ext.getBody().mask(strings.sharedLoading); + Ext.Ajax.request({ + scope: this, + url: '/api/login', + params: form.getValues(), + callback: function(options, success, response) { + Ext.getBody().unmask(); + if (Traccar.ErrorManager.check(success, response)) { + var result = Ext.decode(response.responseText); + if (result.success) { + Traccar.app.setUser(result.data); + this.fireViewEvent('login'); + } else { + Traccar.ErrorManager.error(strings.loginFailed); + } + } + + } + }); + } + }, + + logout: function() { + Ext.Ajax.request({ + scope: this, + url: '/api/logout', + callback: function() { + window.location.reload(); + } + }); }, onSelectLanguage: function(selected) { @@ -56,37 +89,15 @@ Ext.define('Traccar.view.login.LoginController', { onSpecialKey: function(field, e) { if (e.getKey() === e.ENTER) { - this.doLogin(); + this.login(); } }, onLoginClick: function() { Ext.getElementById('submitButton').click(); - this.doLogin(); + this.login(); }, - - doLogin: function() { - var form = this.lookupReference('form'); - if (form.isValid()) { - Ext.getBody().mask(strings.sharedLoading); - - Traccar.LoginManager.login({ - data: form.getValues(), - scope: this, - callback: 'onLoginReturn' - }); - } - }, - - onLoginReturn: function(success) { - Ext.getBody().unmask(); - if (success) { - this.fireViewEvent('login'); - } else { - Traccar.ErrorManager.error(strings.loginFailed); - } - }, - + onRegisterClick: function() { Ext.create('Traccar.view.login.Register').show(); } diff --git a/web/app/view/user/UserController.js b/web/app/view/user/UserController.js index 041c70166..156d33a86 100644 --- a/web/app/view/user/UserController.js +++ b/web/app/view/user/UserController.js @@ -25,11 +25,7 @@ Ext.define('Traccar.view.user.UserController', { init: function() { Ext.getStore('Users').load(); }, - - onLogoutClick: function() { - Traccar.LoginManager.logout(); - }, - + onAddClick: function() { var user = Ext.create('Traccar.model.User'); var dialog = Ext.create('Traccar.view.user.UserDialog'); |