diff options
Diffstat (limited to 'web/app/view/LoginController.js')
-rw-r--r-- | web/app/view/LoginController.js | 150 |
1 files changed, 77 insertions, 73 deletions
diff --git a/web/app/view/LoginController.js b/web/app/view/LoginController.js index bc73661ed..011fddc25 100644 --- a/web/app/view/LoginController.js +++ b/web/app/view/LoginController.js @@ -13,92 +13,96 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +(function () { + 'use strict'; -Ext.define('Traccar.view.LoginController', { - extend: 'Ext.app.ViewController', - alias: 'controller.login', - - requires: [ - 'Traccar.view.Register' - ], + Ext.define('Traccar.view.LoginController', { + extend: 'Ext.app.ViewController', + alias: 'controller.login', - init: function () { - this.lookupReference('registerButton').setDisabled( - !Traccar.app.getServer().get('registration')); - this.lookupReference('languageField').setValue(language); - }, + requires: [ + 'Traccar.view.Register' + ], - 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); + init: function () { + this.lookupReference('registerButton').setDisabled( + !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(); } }); - } - }, + }, - logout: function () { - Ext.Ajax.request({ - scope: this, - url: '/api/logout', - callback: function () { - window.location.reload(); - } - }); - }, - - onSelectLanguage: function (selected) { - var paramName = 'locale'; - var paramValue = selected.getValue(); - var url = window.location.href; - if (url.indexOf(paramName + '=') >= 0) { - var prefix = url.substring(0, url.indexOf(paramName)); - var suffix = url.substring(url.indexOf(paramName)); - suffix = suffix.substring(suffix.indexOf("=") + 1); - suffix = (suffix.indexOf('&') >= 0) ? suffix.substring(suffix.indexOf('&')) : ''; - url = prefix + paramName + "=" + paramValue + suffix; - } else { - if (url.indexOf('?') < 0) { - url += '?' + paramName + '=' + paramValue; + onSelectLanguage: function (selected) { + var paramName = 'locale'; + var paramValue = selected.getValue(); + var url = window.location.href; + if (url.indexOf(paramName + '=') >= 0) { + var prefix = url.substring(0, url.indexOf(paramName)); + var suffix = url.substring(url.indexOf(paramName)); + suffix = suffix.substring(suffix.indexOf("=") + 1); + suffix = (suffix.indexOf('&') >= 0) ? suffix.substring(suffix.indexOf('&')) : ''; + url = prefix + paramName + "=" + paramValue + suffix; } else { - url += '&' + paramName + '=' + paramValue; + if (url.indexOf('?') < 0) { + url += '?' + paramName + '=' + paramValue; + } else { + url += '&' + paramName + '=' + paramValue; + } } - } - window.location.href = url; - }, + window.location.href = url; + }, - onAfterRender: function (field) { - field.focus(); - }, + onAfterRender: function (field) { + field.focus(); + }, - onSpecialKey: function (field, e) { - if (e.getKey() === e.ENTER) { + onSpecialKey: function (field, e) { + if (e.getKey() === e.ENTER) { + this.login(); + } + }, + + onLoginClick: function () { + Ext.getElementById('submitButton').click(); this.login(); + }, + + onRegisterClick: function () { + Ext.create('Traccar.view.login.Register').show(); } - }, - - onLoginClick: function () { - Ext.getElementById('submitButton').click(); - this.login(); - }, + }); - onRegisterClick: function () { - Ext.create('Traccar.view.login.Register').show(); - } -}); +})(); |