diff options
-rw-r--r-- | web/app/model/User.js | 3 | ||||
-rw-r--r-- | web/app/view/DevicesController.js | 2 | ||||
-rw-r--r-- | web/app/view/SettingsMenuController.js | 2 | ||||
-rw-r--r-- | web/app/view/UserDialog.js | 7 | ||||
-rw-r--r-- | web/app/view/UserDialogController.js | 1 |
5 files changed, 13 insertions, 2 deletions
diff --git a/web/app/model/User.js b/web/app/model/User.js index e9eec18..8c7638f 100644 --- a/web/app/model/User.js +++ b/web/app/model/User.js @@ -32,6 +32,9 @@ Ext.define('Traccar.model.User', { name: 'password', type: 'string' }, { + name: 'readonly', + type: 'boolean' + }, { name: 'admin', type: 'boolean' }, { diff --git a/web/app/view/DevicesController.js b/web/app/view/DevicesController.js index 89da779..0246324 100644 --- a/web/app/view/DevicesController.js +++ b/web/app/view/DevicesController.js @@ -45,7 +45,7 @@ Ext.define('Traccar.view.DevicesController', { }, init: function () { - var readonly = Traccar.app.getServer().get('readonly') && !Traccar.app.getUser().get('admin'); + var readonly = Traccar.app.getPreference('readonly', false) && !Traccar.app.getUser().get('admin'); this.lookupReference('toolbarAddButton').setVisible(!readonly); this.lookupReference('toolbarEditButton').setVisible(!readonly); this.lookupReference('toolbarRemoveButton').setVisible(!readonly); diff --git a/web/app/view/SettingsMenuController.js b/web/app/view/SettingsMenuController.js index 7a2b718..eee0097 100644 --- a/web/app/view/SettingsMenuController.js +++ b/web/app/view/SettingsMenuController.js @@ -34,7 +34,7 @@ Ext.define('Traccar.view.SettingsMenuController', { init: function () { var admin, readonly; admin = Traccar.app.getUser().get('admin'); - readonly = Traccar.app.getServer().get('readonly'); + readonly = Traccar.app.getPreference('readonly', false); if (admin) { this.lookupReference('settingsServerButton').setHidden(false); this.lookupReference('settingsUsersButton').setHidden(false); diff --git a/web/app/view/UserDialog.js b/web/app/view/UserDialog.js index 92e3c5b..f717da7 100644 --- a/web/app/view/UserDialog.js +++ b/web/app/view/UserDialog.js @@ -44,6 +44,13 @@ Ext.define('Traccar.view.UserDialog', { allowBlank: false }, { xtype: 'checkboxfield', + name: 'readonly', + fieldLabel: Strings.serverReadonly, + allowBlank: false, + disabled: true, + reference: 'readonlyField' + }, { + xtype: 'checkboxfield', name: 'admin', fieldLabel: Strings.userAdmin, allowBlank: false, diff --git a/web/app/view/UserDialogController.js b/web/app/view/UserDialogController.js index d7d19ff..98d0ede 100644 --- a/web/app/view/UserDialogController.js +++ b/web/app/view/UserDialogController.js @@ -22,6 +22,7 @@ Ext.define('Traccar.view.UserDialogController', { init: function () { if (Traccar.app.getUser().get('admin')) { this.lookupReference('adminField').setDisabled(false); + this.lookupReference('readonlyField').setDisabled(false); } }, |