Group backend
Group backend
This module adds two "Backend User" groups (group_backend and group_backend_ui_users) with restricted access to odoo backend only (/web), with less and more controlled access than the native "Internal User" group.
The problem with the "Internal User" group (base.group_user) is that it can be used by any new module added to your project, so you don't control clearly this group's accesses.
The UI access is provided only for group_backend_ui_users :
- minimal default access rules to access the user's own data:
- users and partners
- mail activity, notification and channel
- presence
- minimal default menu to restrict the available ones:
- notification
- activities
Here is an example where a user from group_backend_ui_users can only access and use the Dummy App. No other application is available to this user (you may define your own application instead of the Dummy one).
We suggest to use this module with its companion base_user_role.
Limitations
At the time of writing, Odoo uses user.share == False and user.has_group("base.group_user") == True to give the backend access to user.
So technically, the module does 2 things :
- It sets the share parameter to False for group_backend users.
- It hijacks the has_group method of res.users by returning True for group_backend users when the requested group is base.group_user
This avoids to write a lot of overwrite in different controllers from different modules ('portal', 'web', 'base', 'website') with hard coded statements that check if user is part of the base.group_user or share == False group.
Important
This is an alpha version, the data model and design can change at any time without warning. Only for development or testing purpose, do not use in production. More details on development status
Table of contents
Configuration
To allow a user from the group_backend_ui_users group to interact with a specific model you can either add an access rules to this model for group_backend_ui_users or you can add group_backend_ui_users to the implied_ids of a new specific group.
The Backend groups are from the "User types" category (base.module_category_user_type), the same category as "Internal User" (base.group_user), "Portal" (base.group_portal) or Public (base.group_public). Be aware that a user can only belongs to one group of this category.
Usage
To use this module, add a user to the group "Backend user" or "Backend UI user" through the user's form page.
If you created a specific group with group_backend or group_backend_ui_users in its implied_ids, you need to go through the group's form page in order to add the user to this specific group, because it won't be displayed on the user's form page (a specific group with its own category is displayed on user's form page only if the group inherits the "Internal user" group).
This module also restricts the root menus displayed to Backend users, so be sure to explicitly add your Backend group to all the necessary root menus for these users.
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Authors
- Pierre Verkest
Contributors
- Pierre Verkest <pierreverkest84@gmail.com>
- François Poizat <francois.poizat@gmail.com>
Do not contact contributors directly about support or help with technical issues.
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
Current maintainers:
This module is part of the OCA/server-backend project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Once the user has seen at least one product this snippet will be visible.