diff options
author | Abyss777 <abyss@fox5.ru> | 2016-11-18 16:06:02 +0500 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2016-11-18 16:06:02 +0500 |
commit | c6d8d7646a06e2624a0dac48b93fd5b1dd0db146 (patch) | |
tree | cd248c84222c7d22f133b27b6e4769cadca01857 /web/app/view | |
parent | a252dbe43512c75afd4a17075b834f767576fd28 (diff) | |
download | trackermap-web-c6d8d7646a06e2624a0dac48b93fd5b1dd0db146.tar.gz trackermap-web-c6d8d7646a06e2624a0dac48b93fd5b1dd0db146.tar.bz2 trackermap-web-c6d8d7646a06e2624a0dac48b93fd5b1dd0db146.zip |
Implement users tokens
Diffstat (limited to 'web/app/view')
-rw-r--r-- | web/app/view/UserDialog.js | 12 | ||||
-rw-r--r-- | web/app/view/UserDialogController.js | 14 |
2 files changed, 26 insertions, 0 deletions
diff --git a/web/app/view/UserDialog.js b/web/app/view/UserDialog.js index a54a20c6..52ec933c 100644 --- a/web/app/view/UserDialog.js +++ b/web/app/view/UserDialog.js @@ -130,6 +130,18 @@ Ext.define('Traccar.view.UserDialog', { fieldLabel: Strings.userDeviceLimit, disabled: true, reference: 'deviceLimitField' + }, { + xtype: 'textfield', + name: 'token', + reference: 'tokenField', + fieldLabel: Strings.userToken, + disabled: true, + triggers: { + generate: { + cls: 'iconCls: x-fa fa-refresh', + handler: 'generateToken' + } + } }] }, diff --git a/web/app/view/UserDialogController.js b/web/app/view/UserDialogController.js index cd0a9512..e2e822e7 100644 --- a/web/app/view/UserDialogController.js +++ b/web/app/view/UserDialogController.js @@ -26,9 +26,23 @@ Ext.define('Traccar.view.UserDialogController', { this.lookupReference('disabledField').setHidden(false); this.lookupReference('expirationTimeField').setDisabled(false); this.lookupReference('deviceLimitField').setDisabled(false); + this.lookupReference('tokenField').setDisabled(false); } }, + symbols: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', + + generateToken: function () { + var newToken, i; + newToken = ''; + + for (i = 0; i < 16; i++) { + newToken += this.symbols.charAt(Math.floor(Math.random() * this.symbols.length)); + } + + this.lookupReference('tokenField').setValue(newToken); + }, + onSaveClick: function (button) { var dialog, record, store; dialog = button.up('window').down('form'); |