diff options
Diffstat (limited to 'web/app')
-rw-r--r-- | web/app/LoginManager.js | 24 | ||||
-rw-r--r-- | web/app/controller/Root.js | 7 | ||||
-rw-r--r-- | web/app/view/login/Login.js | 3 | ||||
-rw-r--r-- | web/app/view/login/LoginController.js | 6 |
4 files changed, 39 insertions, 1 deletions
diff --git a/web/app/LoginManager.js b/web/app/LoginManager.js index 914b7d6a9..93b3e913c 100644 --- a/web/app/LoginManager.js +++ b/web/app/LoginManager.js @@ -25,6 +25,30 @@ Ext.define('Traccar.LoginManager', { reader.readRecords(data).getRecords()[0]); }, + server: function(options) { + Ext.Ajax.request({ + scope: this, + url: '/api/server/get', + callback: this.onServerReturn, + original: options + }); + }, + + onServerReturn: function(options, success, response) { + options = options.original; + if (Traccar.ErrorManager.check(success, response)) { + var result = Ext.decode(response.responseText); + if (result.success) { + var reader = Ext.create('Ext.data.reader.Json', { + model: 'Traccar.model.Server' + }); + Traccar.getApplication().setServer( + reader.readRecords(result.data).getRecords()[0]); + } + Ext.callback(options.callback, options.scope, [result.success]); + } + }, + session: function(options) { Ext.Ajax.request({ scope: this, diff --git a/web/app/controller/Root.js b/web/app/controller/Root.js index f999cf462..10deb69c8 100644 --- a/web/app/controller/Root.js +++ b/web/app/controller/Root.js @@ -24,6 +24,13 @@ Ext.define('Traccar.controller.Root', { ], onLaunch: function () { + Traccar.LoginManager.server({ + scope: this, + callback: 'onServer' + }); + }, + + onServer: function() { Traccar.LoginManager.session({ scope: this, callback: 'onSession' diff --git a/web/app/view/login/Login.js b/web/app/view/login/Login.js index c56557186..6cfaa4645 100644 --- a/web/app/view/login/Login.js +++ b/web/app/view/login/Login.js @@ -58,7 +58,8 @@ Ext.define('Traccar.view.login.Login', { buttons: [{ text: strings.login_register, - handler: 'onRegisterClick' + handler: 'onRegisterClick', + reference: 'registerButton' }, { text: strings.login_login, handler: 'onLoginClick' diff --git a/web/app/view/login/LoginController.js b/web/app/view/login/LoginController.js index c22b0e09a..e94d0de9d 100644 --- a/web/app/view/login/LoginController.js +++ b/web/app/view/login/LoginController.js @@ -22,6 +22,12 @@ Ext.define('Traccar.view.login.LoginController', { 'Traccar.view.login.Register' ], + init: function() { + this.lookupReference('registerButton').setDisabled( + !Traccar.getApplication().getServer().get('registration') + ); + }, + onAfterRender: function(field) { field.focus(); }, |