diff --git a/base_user_role_profile/README.rst b/base_user_role_profile/README.rst index 38c6a596..15719a4a 100644 --- a/base_user_role_profile/README.rst +++ b/base_user_role_profile/README.rst @@ -13,11 +13,17 @@ User profiles .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-oca%2Fserver--backend-lightgray.png?logo=github - :target: https://github.com/oca/server-backend/tree/12.0/base_user_role_profile - :alt: oca/server-backend +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github + :target: https://github.com/OCA/server-backend/tree/12.0/base_user_role_profile + :alt: OCA/server-backend +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-backend-12-0/server-backend-12-0-base_user_role_profile + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/253/12.0 + :alt: Try me on Runbot -|badge1| |badge2| |badge3| +|badge1| |badge2| |badge3| |badge4| |badge5| Extending the base_user_role module, this one adds the notion of profiles. Effectively profiles act as an additional filter to how the roles are used. Through the new widget, much in the same way that a user can switch companies when they are part of the multi company group, users have the possibility to change profiles when they are part of the multi profiles group. @@ -26,6 +32,12 @@ This allows users to switch their permission groups dynamically. This can be use - break down complicated menus into simpler ones - easily restrict users accidentally editing or creating records in O2M fields and in general misusing the interface, instead of excessively explaining things to them +When you define a role, you have the possibility to link it to a profile. Roles are applied to users in the following way: + - Apply user's roles without profiles in any case + - Apply user's roles that are linked to the currently selected profile + +Note that this module assumes a multicompany environment + **Table of contents** .. contents:: @@ -35,6 +47,7 @@ Configuration ============= Go to Configuration / Users / Profiles and create a profile. Go to Configuration / Users / Roles and define some role lines with profiles. +Be careful when defining role lines that company ids and profiles are correctly configured. Usage ===== @@ -44,10 +57,10 @@ Once you have set up at least one profile for a user, use the widget in the top Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -68,6 +81,16 @@ Contributors Maintainers ~~~~~~~~~~~ -This module is part of the `oca/server-backend `_ project on GitHub. +This module is maintained by the OCA. -You are welcome to contribute. +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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. + +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. diff --git a/base_user_role_profile/static/description/index.html b/base_user_role_profile/static/description/index.html index 195494a0..fc6254f6 100644 --- a/base_user_role_profile/static/description/index.html +++ b/base_user_role_profile/static/description/index.html @@ -367,7 +367,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 oca/server-backend

+

Beta License: AGPL-3 OCA/server-backend Translate me on Weblate Try me on Runbot

Extending the base_user_role module, this one adds the notion of profiles. Effectively profiles act as an additional filter to how the roles are used. Through the new widget, much in the same way that a user can switch companies when they are part of the multi company group, users have the possibility to change profiles when they are part of the multi profiles group.

This allows users to switch their permission groups dynamically. This can be useful for example to:
@@ -377,7 +377,14 @@ ul.auto-toc {
  • easily restrict users accidentally editing or creating records in O2M fields and in general misusing the interface, instead of excessively explaining things to them
  • +
    When you define a role, you have the possibility to link it to a profile. Roles are applied to users in the following way:
    +
      +
    • Apply user’s roles without profiles in any case
    • +
    • Apply user’s roles that are linked to the currently selected profile
    • +
    +
    +

    Note that this module assumes a multicompany environment

    Table of contents

      @@ -394,7 +401,8 @@ ul.auto-toc {

    Configuration

    -

    Go to Configuration / Users / Profiles and create a profile. Go to Configuration / Users / Roles and define some role lines with profiles.

    +

    Go to Configuration / Users / Profiles and create a profile. Go to Configuration / Users / Roles and define some role lines with profiles. +Be careful when defining role lines that company ids and profiles are correctly configured.

    Usage

    @@ -402,10 +410,10 @@ ul.auto-toc {

    Bug Tracker

    -

    Bugs are tracked on GitHub Issues. +

    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 smashing it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    @@ -425,8 +433,13 @@ If you spotted it first, help us smashing it by providing a detailed and welcome

    Maintainers

    -

    This module is part of the oca/server-backend project on GitHub.

    -

    You are welcome to contribute.

    +

    This module is maintained by the OCA.

    +Odoo Community Association +

    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.

    +

    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.

    diff --git a/base_user_role_profile_example/README.rst b/base_user_role_profile_example/README.rst index 38c6a596..630a4958 100644 --- a/base_user_role_profile_example/README.rst +++ b/base_user_role_profile_example/README.rst @@ -1,6 +1,6 @@ -============= -User profiles -============= +===================== +User profiles example +===================== .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! @@ -13,18 +13,20 @@ User profiles .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-oca%2Fserver--backend-lightgray.png?logo=github - :target: https://github.com/oca/server-backend/tree/12.0/base_user_role_profile - :alt: oca/server-backend +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github + :target: https://github.com/OCA/server-backend/tree/12.0/base_user_role_profile_example + :alt: OCA/server-backend +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-backend-12-0/server-backend-12-0-base_user_role_profile_example + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/253/12.0 + :alt: Try me on Runbot -|badge1| |badge2| |badge3| +|badge1| |badge2| |badge3| |badge4| |badge5| -Extending the base_user_role module, this one adds the notion of profiles. Effectively profiles act as an additional filter to how the roles are used. Through the new widget, much in the same way that a user can switch companies when they are part of the multi company group, users have the possibility to change profiles when they are part of the multi profiles group. +This shows an example of base_user_role_profile in use. -This allows users to switch their permission groups dynamically. This can be useful for example to: - - finer grain control on menu and model permissions (with record rules this becomes very flexible) - - break down complicated menus into simpler ones - - easily restrict users accidentally editing or creating records in O2M fields and in general misusing the interface, instead of excessively explaining things to them **Table of contents** @@ -34,20 +36,31 @@ This allows users to switch their permission groups dynamically. This can be use Configuration ============= -Go to Configuration / Users / Profiles and create a profile. Go to Configuration / Users / Roles and define some role lines with profiles. +Nothing to configure, just check the demo user. Usage ===== -Once you have set up at least one profile for a user, use the widget in the top bar to switch user profiles. Note that it is possible to use no profile; in this case, the user will only get the roles that always apply (i.e the ones with no profile_id). +Log in as the demo user, and observe on the upper right of the screen the widgets for profile selection and company selection. +Use the widgets to manipulate user profile and companies for dynamic permissions/roles editing. + +Note: "Merchant Profile" means the user is interested in sales and purchases, and thus has access only to those menus. Note that through configuration of roles and role lines, a merchant can be a sales user AND a purchase user in one company, or just a sales user (NOT a purchase user) in another company. + +Here is a walkthrough: + +* Demo user starts in "YourCompany" company. Observe permissions and access to the root menus for sales and purchases. +* Switch profile to HR profile, which gives access only to HR permissions. Observe that you can create new employees. +* Switch company to "Company, The Second". Observe the menu has been reset, profile options have changed, one has been picked automatically from the available ones. +* Switch profile to "Merchant Profile". Observe that for this company, you can only access Sales, because only a Sales role line has been defined for this company and user. +* Switch profile to "ERP Settings profile". Observe that as expected you have ERP manager permissions. Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -68,6 +81,16 @@ Contributors Maintainers ~~~~~~~~~~~ -This module is part of the `oca/server-backend `_ project on GitHub. +This module is maintained by the OCA. -You are welcome to contribute. +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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. + +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. diff --git a/base_user_role_profile_example/static/description/index.html b/base_user_role_profile_example/static/description/index.html new file mode 100644 index 00000000..c7a60036 --- /dev/null +++ b/base_user_role_profile_example/static/description/index.html @@ -0,0 +1,440 @@ + + + + + + +User profiles example + + + +
    +

    User profiles example

    + + +

    Beta License: AGPL-3 OCA/server-backend Translate me on Weblate Try me on Runbot

    +

    This shows an example of base_user_role_profile in use.

    +

    Table of contents

    + +
    +

    Configuration

    +

    Nothing to configure, just check the demo user.

    +
    +
    +

    Usage

    +

    Log in as the demo user, and observe on the upper right of the screen the widgets for profile selection and company selection. +Use the widgets to manipulate user profile and companies for dynamic permissions/roles editing.

    +

    Note: “Merchant Profile” means the user is interested in sales and purchases, and thus has access only to those menus. Note that through configuration of roles and role lines, a merchant can be a sales user AND a purchase user in one company, or just a sales user (NOT a purchase user) in another company.

    +

    Here is a walkthrough:

    +
      +
    • Demo user starts in “YourCompany” company. Observe permissions and access to the root menus for sales and purchases.
    • +
    • Switch profile to HR profile, which gives access only to HR permissions. Observe that you can create new employees.
    • +
    • Switch company to “Company, The Second”. Observe the menu has been reset, profile options have changed, one has been picked automatically from the available ones.
    • +
    • Switch profile to “Merchant Profile”. Observe that for this company, you can only access Sales, because only a Sales role line has been defined for this company and user.
    • +
    • Switch profile to “ERP Settings profile”. Observe that as expected you have ERP manager permissions.
    • +
    +
    +
    +

    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 smashing it by providing a detailed and welcomed +feedback.

    +

    Do not contact contributors directly about support or help with technical issues.

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • Akretion
    • +
    +
    +
    +

    Contributors

    + +
    +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    +Odoo Community Association +

    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.

    +

    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.

    +
    +
    +
    + +