From 5b526f60f29b222a3269547ac938ab512d1ba4d6 Mon Sep 17 00:00:00 2001 From: ninioe Date: Mon, 1 Aug 2016 17:29:54 +0300 Subject: added remember me checkbox at login --- web/app/view/Login.js | 6 ++++++ web/app/view/LoginController.js | 13 +++++++++++++ web/l10n/en.json | 1 + 3 files changed, 20 insertions(+) diff --git a/web/app/view/Login.js b/web/app/view/Login.js index 4f04a0f37..085f853be 100644 --- a/web/app/view/Login.js +++ b/web/app/view/Login.js @@ -54,6 +54,7 @@ Ext.define('Traccar.view.Login', { }, { xtype: 'textfield', name: 'email', + id: 'txtUser', fieldLabel: Strings.userEmail, allowBlank: false, enableKeyEvents: true, @@ -65,6 +66,7 @@ Ext.define('Traccar.view.Login', { }, { xtype: 'textfield', name: 'password', + id: 'txtPassword', fieldLabel: Strings.userPassword, inputType: 'password', allowBlank: false, @@ -73,6 +75,10 @@ Ext.define('Traccar.view.Login', { specialKey: 'onSpecialKey' }, inputAttrTpl: ['autocomplete="on"'] + }, { + xtype: 'checkboxfield', + id: 'chkRememberMe', + fieldLabel: Strings.rememberMe }, { xtype: 'component', html: '' diff --git a/web/app/view/LoginController.js b/web/app/view/LoginController.js index 3dd8af082..3b4fc8754 100644 --- a/web/app/view/LoginController.js +++ b/web/app/view/LoginController.js @@ -26,6 +26,13 @@ Ext.define('Traccar.view.LoginController', { this.lookupReference('registerButton').setDisabled( !Traccar.app.getServer().get('registration')); this.lookupReference('languageField').setValue(Locale.language); + var user = Ext.util.Cookies.get('user'); + var pass = Ext.util.Cookies.get('pass'); + if (user && pass) { + Ext.getCmp('txtUser').setValue(user); + Ext.getCmp('txtPassword').setValue(pass); + this.login(); + } }, login: function () { @@ -40,6 +47,10 @@ Ext.define('Traccar.view.LoginController', { callback: function (options, success, response) { Ext.getBody().unmask(); if (success) { + if (Ext.getCmp('chkRememberMe').getValue()) { + Ext.util.Cookies.set('user', Ext.getCmp('txtUser').getValue(), Ext.Date.add(new Date(), Ext.Date.YEAR, 1)); + Ext.util.Cookies.set('pass', Ext.getCmp('txtPassword').getValue(), Ext.Date.add(new Date(), Ext.Date.YEAR, 1)); + } Traccar.app.setUser(Ext.decode(response.responseText)); this.fireViewEvent('login'); } else { @@ -51,6 +62,8 @@ Ext.define('Traccar.view.LoginController', { }, logout: function () { + Ext.util.Cookies.clear('user'); + Ext.util.Cookies.clear('pass'); Ext.Ajax.request({ scope: this, method: 'DELETE', diff --git a/web/l10n/en.json b/web/l10n/en.json index e1866fe62..c64d06b45 100644 --- a/web/l10n/en.json +++ b/web/l10n/en.json @@ -30,6 +30,7 @@ "userEmail": "Email", "userPassword": "Password", "userAdmin": "Admin", + "rememberMe": "Remember Me", "loginTitle": "Login", "loginLanguage": "Language", "loginRegister": "Register", -- cgit v1.2.3 From 63e5690c22dc5911a8ec5cfe1b44c8a5a8576456 Mon Sep 17 00:00:00 2001 From: ninioe Date: Tue, 2 Aug 2016 07:32:04 +0300 Subject: use of extjs references instead of global ids --- web/app/view/Login.js | 6 +++--- web/app/view/LoginController.js | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/web/app/view/Login.js b/web/app/view/Login.js index 085f853be..4876e928c 100644 --- a/web/app/view/Login.js +++ b/web/app/view/Login.js @@ -54,7 +54,7 @@ Ext.define('Traccar.view.Login', { }, { xtype: 'textfield', name: 'email', - id: 'txtUser', + reference: 'txtUser', fieldLabel: Strings.userEmail, allowBlank: false, enableKeyEvents: true, @@ -66,7 +66,7 @@ Ext.define('Traccar.view.Login', { }, { xtype: 'textfield', name: 'password', - id: 'txtPassword', + reference: 'txtPassword', fieldLabel: Strings.userPassword, inputType: 'password', allowBlank: false, @@ -77,7 +77,7 @@ Ext.define('Traccar.view.Login', { inputAttrTpl: ['autocomplete="on"'] }, { xtype: 'checkboxfield', - id: 'chkRememberMe', + reference: 'chkRememberMe', fieldLabel: Strings.rememberMe }, { xtype: 'component', diff --git a/web/app/view/LoginController.js b/web/app/view/LoginController.js index 3b4fc8754..c33af328e 100644 --- a/web/app/view/LoginController.js +++ b/web/app/view/LoginController.js @@ -29,8 +29,8 @@ Ext.define('Traccar.view.LoginController', { var user = Ext.util.Cookies.get('user'); var pass = Ext.util.Cookies.get('pass'); if (user && pass) { - Ext.getCmp('txtUser').setValue(user); - Ext.getCmp('txtPassword').setValue(pass); + this.lookupReference('txtUser').setValue(user); + this.lookupReference('txtPassword').setValue(pass); this.login(); } }, @@ -47,9 +47,9 @@ Ext.define('Traccar.view.LoginController', { callback: function (options, success, response) { Ext.getBody().unmask(); if (success) { - if (Ext.getCmp('chkRememberMe').getValue()) { - Ext.util.Cookies.set('user', Ext.getCmp('txtUser').getValue(), Ext.Date.add(new Date(), Ext.Date.YEAR, 1)); - Ext.util.Cookies.set('pass', Ext.getCmp('txtPassword').getValue(), Ext.Date.add(new Date(), Ext.Date.YEAR, 1)); + if (this.lookupReference('chkRememberMe').getValue()) { + Ext.util.Cookies.set('user', this.lookupReference('txtUser').getValue(), Ext.Date.add(new Date(), Ext.Date.YEAR, 1)); + Ext.util.Cookies.set('pass', this.lookupReference('txtPassword').getValue(), Ext.Date.add(new Date(), Ext.Date.YEAR, 1)); } Traccar.app.setUser(Ext.decode(response.responseText)); this.fireViewEvent('login'); -- cgit v1.2.3 From 6f32f4a9460ff3be2823d7a133659d29bf057237 Mon Sep 17 00:00:00 2001 From: ninioe Date: Wed, 3 Aug 2016 07:58:53 +0300 Subject: Rename references from txtXxx to xxxField --- web/app/view/Login.js | 6 +++--- web/app/view/LoginController.js | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/web/app/view/Login.js b/web/app/view/Login.js index 4876e928c..259086854 100644 --- a/web/app/view/Login.js +++ b/web/app/view/Login.js @@ -54,7 +54,7 @@ Ext.define('Traccar.view.Login', { }, { xtype: 'textfield', name: 'email', - reference: 'txtUser', + reference: 'userField', fieldLabel: Strings.userEmail, allowBlank: false, enableKeyEvents: true, @@ -66,7 +66,7 @@ Ext.define('Traccar.view.Login', { }, { xtype: 'textfield', name: 'password', - reference: 'txtPassword', + reference: 'passwordField', fieldLabel: Strings.userPassword, inputType: 'password', allowBlank: false, @@ -77,7 +77,7 @@ Ext.define('Traccar.view.Login', { inputAttrTpl: ['autocomplete="on"'] }, { xtype: 'checkboxfield', - reference: 'chkRememberMe', + reference: 'rememberMeField', fieldLabel: Strings.rememberMe }, { xtype: 'component', diff --git a/web/app/view/LoginController.js b/web/app/view/LoginController.js index c33af328e..f78b1e560 100644 --- a/web/app/view/LoginController.js +++ b/web/app/view/LoginController.js @@ -29,8 +29,8 @@ Ext.define('Traccar.view.LoginController', { var user = Ext.util.Cookies.get('user'); var pass = Ext.util.Cookies.get('pass'); if (user && pass) { - this.lookupReference('txtUser').setValue(user); - this.lookupReference('txtPassword').setValue(pass); + this.lookupReference('userField').setValue(user); + this.lookupReference('passwordField').setValue(pass); this.login(); } }, @@ -47,9 +47,9 @@ Ext.define('Traccar.view.LoginController', { callback: function (options, success, response) { Ext.getBody().unmask(); if (success) { - if (this.lookupReference('chkRememberMe').getValue()) { - Ext.util.Cookies.set('user', this.lookupReference('txtUser').getValue(), Ext.Date.add(new Date(), Ext.Date.YEAR, 1)); - Ext.util.Cookies.set('pass', this.lookupReference('txtPassword').getValue(), Ext.Date.add(new Date(), Ext.Date.YEAR, 1)); + if (this.lookupReference('rememberMeField').getValue()) { + Ext.util.Cookies.set('user', this.lookupReference('userField').getValue(), Ext.Date.add(new Date(), Ext.Date.YEAR, 1)); + Ext.util.Cookies.set('pass', this.lookupReference('passwordField').getValue(), Ext.Date.add(new Date(), Ext.Date.YEAR, 1)); } Traccar.app.setUser(Ext.decode(response.responseText)); this.fireViewEvent('login'); -- cgit v1.2.3