From c52d923d60815fcc6c1e9592edbcd578caf1147c Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Fri, 11 Aug 2017 17:41:42 +0500 Subject: Implement disable Drivers and Computed Attributes separately --- web/app/store/ServerAttributes.js | 8 ++++++++ web/app/store/UserAttributes.js | 8 ++++++++ web/app/view/SettingsMenuController.js | 6 ++++-- web/app/view/edit/DevicesController.js | 5 ++++- web/app/view/edit/GroupsController.js | 5 ++++- web/app/view/edit/UsersController.js | 4 ++++ web/l10n/en.json | 2 ++ 7 files changed, 34 insertions(+), 4 deletions(-) (limited to 'web') diff --git a/web/app/store/ServerAttributes.js b/web/app/store/ServerAttributes.js index 438ca3e1..f4e2a848 100644 --- a/web/app/store/ServerAttributes.js +++ b/web/app/store/ServerAttributes.js @@ -55,5 +55,13 @@ Ext.define('Traccar.store.ServerAttributes', { key: 'ui.disableVehicleFetures', name: Strings.attributeUiDisableVehicleFetures, valueType: 'boolean' + }, { + key: 'ui.disableDrivers', + name: Strings.attributeUiDisableDrivers, + valueType: 'boolean' + }, { + key: 'ui.disableComputedAttributes', + name: Strings.attributeUiDisableComputedAttributes, + valueType: 'boolean' }] }); diff --git a/web/app/store/UserAttributes.js b/web/app/store/UserAttributes.js index 8e1acfb1..dbee1ed8 100644 --- a/web/app/store/UserAttributes.js +++ b/web/app/store/UserAttributes.js @@ -87,5 +87,13 @@ Ext.define('Traccar.store.UserAttributes', { key: 'ui.disableVehicleFetures', name: Strings.attributeUiDisableVehicleFetures, valueType: 'boolean' + }, { + key: 'ui.disableDrivers', + name: Strings.attributeUiDisableDrivers, + valueType: 'boolean' + }, { + key: 'ui.disableComputedAttributes', + name: Strings.attributeUiDisableComputedAttributes, + valueType: 'boolean' }] }); diff --git a/web/app/view/SettingsMenuController.js b/web/app/view/SettingsMenuController.js index 11bfb538..cc17ca3a 100644 --- a/web/app/view/SettingsMenuController.js +++ b/web/app/view/SettingsMenuController.js @@ -56,11 +56,13 @@ Ext.define('Traccar.view.SettingsMenuController', { this.lookupReference('settingsGeofencesButton').setHidden(false); this.lookupReference('settingsNotificationsButton').setHidden(false); this.lookupReference('settingsCalendarsButton').setHidden(false); - this.lookupReference('settingsDriversButton').setHidden(Traccar.app.isVehicleFeaturesDisabled()); + this.lookupReference('settingsDriversButton').setHidden(Traccar.app.isVehicleFeaturesDisabled() || + Traccar.app.getBooleanAttributePreference('ui.disableDrivers')); } if (admin || (!deviceReadonly && !readonly)) { this.lookupReference('settingsAttributeAliasesButton').setHidden(false); - this.lookupReference('settingsComputedAttributesButton').setHidden(false); + this.lookupReference('settingsComputedAttributesButton').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableComputedAttributes')); } }, diff --git a/web/app/view/edit/DevicesController.js b/web/app/view/edit/DevicesController.js index b98a8d4f..59a10bb3 100644 --- a/web/app/view/edit/DevicesController.js +++ b/web/app/view/edit/DevicesController.js @@ -61,7 +61,10 @@ Ext.define('Traccar.view.edit.DevicesController', { deviceReadonly = Traccar.app.getPreference('deviceReadonly', false) && !Traccar.app.getUser().get('admin'); readonly = Traccar.app.getPreference('readonly', false) && !Traccar.app.getUser().get('admin'); this.lookupReference('toolbarAddButton').setDisabled(readonly || deviceReadonly); - this.lookupReference('toolbarDriversButton').setHidden(Traccar.app.isVehicleFeaturesDisabled()); + this.lookupReference('toolbarDriversButton').setHidden(Traccar.app.isVehicleFeaturesDisabled() || + Traccar.app.getBooleanAttributePreference('ui.disableDrivers')); + this.lookupReference('toolbarAttributesButton').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableComputedAttributes')); setInterval(function () { self.getView().getView().refresh(); diff --git a/web/app/view/edit/GroupsController.js b/web/app/view/edit/GroupsController.js index 941f5f18..f1da19ce 100644 --- a/web/app/view/edit/GroupsController.js +++ b/web/app/view/edit/GroupsController.js @@ -33,7 +33,10 @@ Ext.define('Traccar.view.edit.GroupsController', { removeTitle: Strings.groupDialog, init: function () { - this.lookupReference('toolbarDriversButton').setHidden(Traccar.app.isVehicleFeaturesDisabled()); + this.lookupReference('toolbarDriversButton').setHidden(Traccar.app.isVehicleFeaturesDisabled() || + Traccar.app.getBooleanAttributePreference('ui.disableDrivers')); + this.lookupReference('toolbarAttributesButton').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableComputedAttributes')); }, onGeofencesClick: function () { diff --git a/web/app/view/edit/UsersController.js b/web/app/view/edit/UsersController.js index fb7a36e2..1e7238a9 100644 --- a/web/app/view/edit/UsersController.js +++ b/web/app/view/edit/UsersController.js @@ -41,6 +41,10 @@ Ext.define('Traccar.view.edit.UsersController', { init: function () { Ext.getStore('Users').load(); this.lookupReference('userUsersButton').setHidden(!Traccar.app.getUser().get('admin')); + this.lookupReference('userDriversButton').setHidden(Traccar.app.isVehicleFeaturesDisabled() || + Traccar.app.getBooleanAttributePreference('ui.disableDrivers')); + this.lookupReference('userAttributesButton').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableComputedAttributes')); }, onEditClick: function () { diff --git a/web/l10n/en.json b/web/l10n/en.json index 6ea54105..8eba834c 100644 --- a/web/l10n/en.json +++ b/web/l10n/en.json @@ -90,6 +90,8 @@ "attributeMailSmtpPassword": "Mail: SMTP Password", "attributeUiDisableReport": "UI: Disable Report", "attributeUiDisableVehicleFetures": "UI: Disable Vehicle Fetures", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", "errorTitle": "Error", "errorGeneral": "Invalid parameters or constraints violation", "errorConnection": "Connection error", -- cgit v1.2.3