Skip to content

Commit

Permalink
IMPL renames and divide the base_group_backend into 2 groups one that…
Browse files Browse the repository at this point in the history
… provide the basic rights and another that allow login in the app
  • Loading branch information
FranzPoize committed Aug 21, 2023
1 parent be8b760 commit b545069
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 32 deletions.
55 changes: 42 additions & 13 deletions base_group_backend/data/res-groups.xml
Original file line number Diff line number Diff line change
@@ -1,18 +1,47 @@
<odoo>
<record model="res.groups" id="group_backend">
<field name="name">Backend user</field>
<field name="category_id" ref="base.module_category_user_type" />
<field name="comment">
This group is used to gives user backend access.
<data>
<record model="res.groups" id="base_group_backend">
<field name="name">Backend user</field>
<field name="category_id" ref="base.module_category_user_type" />
<field name="comment">
This group is used to gives user backend access.

While users in `base.group_user` gets a lot of default access
which makes hard to define properly records/rules/menu access.
While users in `base.group_user` gets a lot of default access
which makes hard to define properly records/rules/menu access.

So for maintainability you shouldn't linked any access right, rules,
menu, and so on to this group directly.
So for maintainability you shouldn't linked any access right, rules,
menu, and so on to this group directly.

The only intent of this groups is to be able to get a session
to Odoo backend (`/web`).
</field>
</record>
The only intent of this groups is to be able to get a session
to Odoo backend (`/web`).
</field>
</record>

<record model="ir.module.category" id="module_category_backend_user_type">
<field name="name">Backend user types</field>
<field name="description">Backend user types</field>
<field name="sequence">1</field>
</record>

<record model="res.groups" id="group_backend_ui_users">
<field name="name">Backend UI user</field>
<field name="category_id" ref="module_category_backend_user_type" />
<field name="comment">
This group is used to gives user basic ui access.
</field>
<field name="implied_ids" eval="[(6, 0, [ref('base_group_backend')])]"/>
<field name="rule_groups" eval="[
(6, 0,[
ref('base.ir_default_user_rule'),
ref('base.ir_filters_delete_own_rule'),
ref('base.ir_filters_employee_rule'),
ref('base.res_company_rule_employee'),
ref('mail.ir_rule_mail_notifications_group_user'),
ref('mail.ir_rule_mail_channel_member_group_user'),
ref('mail.mail_activity_rule_user'),
ref('mail.mail_channel_rule'),
]),
]"/>
</record>
</data>
</odoo>
8 changes: 4 additions & 4 deletions base_group_backend/demo/backend_dummy_model.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<field name="arch" type="xml">
<tree create="false" delete="false">
<field name="my_value" />
<field name="my_other_value" />
<field name="my_other_value" groups="base.group_user"/>
</tree>
</field>
</record>
Expand All @@ -24,20 +24,20 @@
id="menu_dummy_root"
name="Dummy"
sequence="100"
groups="group_backend,base.group_user"
groups="group_backend_ui_users,base.group_user"
/>
<menuitem
id="menu_dummy_menu"
name="Dummy"
sequence="10"
groups="group_backend,base.group_user"
groups="group_backend_ui_users,base.group_user"
parent="menu_dummy_root"
/>
<menuitem
id="menu_dummy_list"
name="Dummy list"
sequence="100"
groups="group_backend,base.group_user"
groups="group_backend_ui_users,base.group_user"
parent="menu_dummy_root"
action="action_dummy_list"
/>
Expand Down
2 changes: 1 addition & 1 deletion base_group_backend/demo/ir.model.access.csv
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"backend_dummy_models","backend dummy.model","model_backend_dummy_model",group_backend,1,0,0,0
"backend_dummy_models","backend dummy.model","model_backend_dummy_model",group_backend_ui_users,1,0,0,0
"backend_dummy_models_user_grp","backend dummy.model user grp","model_backend_dummy_model",base.group_user,1,0,0,0
4 changes: 2 additions & 2 deletions base_group_backend/models/res_users.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def has_group(self, group_ext_id):
res = super().has_group(group_ext_id)
if not res and (group_ext_id == "base.group_user"):
has_base_group_backend = super().has_group(
"base_group_backend.group_backend"
"base_group_backend.base_group_backend"
)
if has_base_group_backend:
_logger.warning("Forcing has_group to return True for group_backend")
Expand All @@ -36,7 +36,7 @@ def _compute_share(self):
res = super()._compute_share()
self.env["ir.model.data"]._xmlid_to_res_id("base.group_user")
backend_user_group_id = self.env["ir.model.data"]._xmlid_to_res_id(
"base_group_backend.group_backend"
"base_group_backend.base_group_backend"
)
internal_users = self.filtered_domain(
[("groups_id", "in", [backend_user_group_id])]
Expand Down
43 changes: 31 additions & 12 deletions base_group_backend/security/ir.model.access.csv
Original file line number Diff line number Diff line change
@@ -1,13 +1,32 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
res_users_backend,backend user res.users,base.model_res_users,group_backend,1,0,0,0
res_partner_backend,backend user res.partner,base.model_res_partner,group_backend,1,0,0,0
ir_ui_menu_backend,backend user ir.ui.menu,base.model_ir_ui_menu,group_backend,1,0,0,0
ir_filter_backend,backend user ir.filters,base.model_ir_filters,group_backend,1,1,1,1
bus_presence_backend,backend user bus.presence,bus.model_bus_presence,group_backend,1,1,1,1
mail_channel_member_backend,backend user mail.channel.member,mail.model_mail_channel_member,group_backend,1,1,1,0
mail_channel_backend,backend user mail.group,mail.model_mail_channel,group_backend,1,1,1,0
mail_notification_backend,backend user mail.notification,mail.model_mail_notification,group_backend,1,1,1,0
mail_activity_backend,backend user mail.activity,mail.model_mail_activity,group_backend,1,1,1,1
mail_activity_type_backend,backend user mail.activity.type,mail.model_mail_activity_type,group_backend,1,0,0,0
ir_attachment_group_backend,backend user ir.attachment,base.model_ir_attachment,group_backend,1,0,0,0
mail_followers_backend,backend user mail.followers,mail.model_mail_followers,group_backend,1,0,0,0
backend_ui_users_ir_default,backend_ui_users_ir_default,base.model_ir_default,group_backend_ui_users,1,1,1,1
backend_ui_users_ir_filters,backend_ui_users_ir_filters,base.model_ir_filters,group_backend_ui_users,1,1,1,1
backend_ui_users_ir_model,backend_ui_users_ir_model,base.model_ir_model,group_backend_ui_users,1,0,0,0
backend_ui_users_ir_model_fields,backend_ui_users_ir_model_fields,base.model_ir_model_fields,group_backend_ui_users,1,0,0,0
backend_ui_users_ir_model_data,backend_ui_users_ir_model_data,base.model_ir_model_data,group_backend_ui_users,1,0,1,0
backend_ui_users_ir_model_fields_selection,backend_ui_users_ir_model_fields_selection,base.model_ir_model_fields_selection,group_backend_ui_users,1,0,0,0
backend_ui_users_ir_sequence,backend_ui_users_ir_sequence,base.model_ir_sequence,group_backend_ui_users,1,0,0,0
backend_ui_users_ir_sequence_date_range,backend_ui_users_ir_sequence_date_range,base.model_ir_sequence_date_range,group_backend_ui_users,1,0,0,0
backend_ui_users_ir_ui_menu,backend_ui_users_ir_ui_menu,base.model_ir_ui_menu,group_backend_ui_users,1,0,0,0
backend_ui_users_ir_attachment,backend_ui_users_ir_attachment,base.model_ir_attachment,group_backend_ui_users,1,0,1,0
backend_ui_users_res_partner,backend_ui_users_res_partner,base.model_res_partner,group_backend_ui_users,1,0,0,0
backend_ui_users_bus_presence,backend_ui_users_bus_presence,bus.model_bus_presence,group_backend_ui_users,1,1,1,1
backend_ui_users_mail_channel_member_public,backend_ui_users_mail_channel_member,mail.model_mail_channel_member,group_backend_ui_users,1,1,1,0
backend_ui_users_mail_activity,backend_ui_users_mail_activity,mail.model_mail_activity,group_backend_ui_users,1,1,1,1
backend_ui_users_mail_activity_type,backend_ui_users_mail_activity_type,mail.model_mail_activity_type,group_backend_ui_users,1,0,0,0
backend_ui_users_mail_followers,backend_ui_users_mail_followers,mail.model_mail_followers,group_backend_ui_users,1,0,0,0
backend_ui_users_mail_mail,backend_ui_users_mail_mail,mail.model_mail_mail,group_backend_ui_users,0,0,0,0
backend_ui_users_mail_compose_message,backend_ui_users_mail_compose_message,mail.model_mail_compose_message,group_backend_ui_users,1,1,1,0
backend_ui_users_mail_wizard_invite,backend_ui_users_mail_wizard_invite,mail.model_mail_wizard_invite,group_backend_ui_users,1,1,1,0
backend_ui_users_mail_template,backend_ui_users_mail_template,mail.model_mail_template,group_backend_ui_users,1,0,0,0
backend_ui_users_mail_template_preview,backend_ui_users_mail_template_preview,mail.model_mail_template_preview,group_backend_ui_users,1,0,0,0
backend_ui_users_mail_message,backend_ui_users_mail_message,mail.model_mail_message,group_backend_ui_users,1,1,1,0
backend_ui_users_mail_resend_message,backend_ui_users_mail_resend_message,mail.model_mail_resend_message,group_backend_ui_users,1,1,1,0
backend_ui_users_mail_notification,backend_ui_users_mail_notification,mail.model_mail_notification,group_backend_ui_users,1,1,1,1
backend_ui_users_mail_alias,backend_ui_users_mail_alias,mail.model_mail_alias,group_backend_ui_users,1,0,0,0
backend_ui_users_res_groups,backend_ui_users_res_groups,base.model_res_groups,group_backend_ui_users,1,0,0,0
backend_ui_users_res_partner_category,backend_ui_users_res_partner_category,base.model_res_partner_category,group_backend_ui_users,1,0,0,0
backend_ui_users_res_partner_industry,backend_ui_users_res_partner_industry,base.model_res_partner_industry,group_backend_ui_users,1,0,0,0
backend_ui_users_res_users_identitycheck,backend_ui_users_res_users_identitycheck,base.model_res_users_identitycheck,group_backend_ui_users,1,1,1,0
backend_ui_users_res_bank,backend_ui_users_res_bank,base.model_res_bank,group_backend_ui_users,1,0,0,0
backend_ui_users_res_partner_bank,backend_ui_users_res_partner_bank,base.model_res_partner_bank,group_backend_ui_users,1,0,0,0

0 comments on commit b545069

Please sign in to comment.