FIX base_grp_backend: precommit and better names in ir.model.access

This commit is contained in:
David Beal
2023-08-07 17:38:47 +02:00
parent b22c4bdf51
commit 48a8d4eec1
8 changed files with 80 additions and 72 deletions

View File

@@ -19,5 +19,4 @@
"security/ir.model.access.csv", "security/ir.model.access.csv",
], ],
"installable": True, "installable": True,
"application": True
} }

View File

@@ -1,5 +1,4 @@
from odoo.tools import config from odoo.tools import config
if not config['without_demo']: if not config["without_demo"]:
from . import backend_dummy_model from . import backend_dummy_model

View File

@@ -1,11 +1,16 @@
from odoo import fields, models from odoo import fields, models
class BackendDummyModel(models.Model): class BackendDummyModel(models.Model):
_name = "backend.dummy.model" _name = "backend.dummy.model"
_inherit = ["mail.activity.mixin"] _inherit = ["mail.activity.mixin"]
_description = 'Nothing to see here' _description = "Backend Dummy Model demo"
my_value = fields.Char(name="Value", required=True) my_value = fields.Char(name="Value", required=True)
my_other_value = fields.Char(name="Other value", required=True) my_other_value = fields.Char(name="Other value", required=True)
date_start = fields.Datetime(name="Date start", required=True, default=fields.Datetime.now) date_start = fields.Datetime(
date_stop = fields.Datetime(name="Date stop", required=True, default=fields.Datetime.now) name="Date start", required=True, default=fields.Datetime.now
)
date_stop = fields.Datetime(
name="Date stop", required=True, default=fields.Datetime.now
)

View File

@@ -1,16 +1,17 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<odoo> <odoo>
<data>
<record id="backend_dummy_model_tree_view" model="ir.ui.view"> <record id="backend_dummy_model_tree_view" model="ir.ui.view">
<field name="name">Backend dummy tree view</field> <field name="name">Backend dummy tree view</field>
<field name="model">backend.dummy.model</field> <field name="model">backend.dummy.model</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Dummies" create="false" delete="false"> <tree create="false" delete="false">
<field name="my_value"/> <field name="my_value" />
<field name="my_other_value"/> <field name="my_other_value" />
</tree> </tree>
</field> </field>
</record> </record>
<record id="action_dummy_list" model="ir.actions.act_window"> <record id="action_dummy_list" model="ir.actions.act_window">
<field name="name">Dummies</field> <field name="name">Dummies</field>
<field name="type">ir.actions.act_window</field> <field name="type">ir.actions.act_window</field>
@@ -18,6 +19,7 @@
<field name="view_mode">tree,form,kanban,calendar,pivot,graph,activity</field> <field name="view_mode">tree,form,kanban,calendar,pivot,graph,activity</field>
<field name="view_id" ref="backend_dummy_model_tree_view" /> <field name="view_id" ref="backend_dummy_model_tree_view" />
</record> </record>
<menuitem <menuitem
id="menu_dummy_root" id="menu_dummy_root"
name="Dummy" name="Dummy"
@@ -39,5 +41,5 @@
parent="menu_dummy_root" parent="menu_dummy_root"
action="action_dummy_list" action="action_dummy_list"
/> />
</data>
</odoo> </odoo>

View File

@@ -1,3 +1,3 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_backend_dummy_models","backend_dummy_model all","base_group_backend.model_backend_dummy_model",group_backend,1,0,0,0 "backend_dummy_models","backend dummy.model","model_backend_dummy_model",group_backend,1,0,0,0
"access_backend_dummy_models_all","backend_dummy_model all","base_group_backend.model_backend_dummy_model",base.group_user,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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_backend_dummy_models backend_dummy_models backend_dummy_model all backend dummy.model base_group_backend.model_backend_dummy_model model_backend_dummy_model group_backend 1 0 0 0
3 access_backend_dummy_models_all backend_dummy_models_user_grp backend_dummy_model all backend dummy.model user grp base_group_backend.model_backend_dummy_model model_backend_dummy_model base.group_user 1 0 0 0

View File

@@ -1,8 +1,8 @@
<odoo> <odoo>
<data>
<record model="backend.dummy.model" id="dummy_model_1"> <record model="backend.dummy.model" id="dummy_model_1">
<field name="my_value">hello</field> <field name="my_value">hello</field>
<field name="my_other_value">hello</field> <field name="my_other_value">hello</field>
</record> </record>
</data>
</odoo> </odoo>

View File

@@ -8,7 +8,6 @@ _logger = logging.getLogger(__name__)
class Users(models.Model): class Users(models.Model):
_inherit = "res.users" _inherit = "res.users"
# TODO: (franz) make it clear why we test with "." group and why the share = True # TODO: (franz) make it clear why we test with "." group and why the share = True
@api.model @api.model
def has_group(self, group_ext_id): def has_group(self, group_ext_id):
@@ -33,10 +32,14 @@ class Users(models.Model):
return has_base_group_backend return has_base_group_backend
return res return res
@api.depends('groups_id') @api.depends("groups_id")
def _compute_share(self): def _compute_share(self):
user_group_id = self.env['ir.model.data']._xmlid_to_res_id('base.group_user') user_group_id = 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') backend_user_group_id = self.env["ir.model.data"]._xmlid_to_res_id(
internal_users = self.filtered_domain([('groups_id', 'in', [user_group_id, backend_user_group_id])]) "base_group_backend.group_backend"
)
internal_users = self.filtered_domain(
[("groups_id", "in", [user_group_id, backend_user_group_id])]
)
internal_users.share = False internal_users.share = False
(self - internal_users).share = True (self - internal_users).share = True

View File

@@ -1,13 +1,13 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_res_users_all,res_users all,model_res_users,group_backend,1,0,0,0 res_users_backend,backend user res.users,base.model_res_users,group_backend,1,0,0,0
access_res_partners_all,res_partners all,base.model_res_partner,group_backend,1,0,0,0 res_partner_backend,backend user res.partner,base.model_res_partner,group_backend,1,0,0,0
access_ir_ui_menu_group_user,ir_ui_menu group_user,base.model_ir_ui_menu,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
access_ir_filter_user,ir_filters all,base.model_ir_filters,group_backend,1,1,1,1 ir_filter_backend,backend user ir.filters,base.model_ir_filters,group_backend,1,1,1,1
access_bus_presence,bus.presence,bus.model_bus_presence,group_backend,1,1,1,1 bus_presence_backend,backend user bus.presence,bus.model_bus_presence,group_backend,1,1,1,1
access_mail_channel_member_user,mail.channel.member.user,mail.model_mail_channel_member,group_backend,1,1,1,0 mail_channel_member_backend,backend user mail.channel.member,mail.model_mail_channel_member,group_backend,1,1,1,0
access_mail_channel_user,mail.group.user,mail.model_mail_channel,group_backend,1,1,1,0 mail_channel_backend,backend user mail.group,mail.model_mail_channel,group_backend,1,1,1,0
access_mail_notification_user,mail.notification.user,mail.model_mail_notification,group_backend,1,1,1,0 mail_notification_backend,backend user mail.notification,mail.model_mail_notification,group_backend,1,1,1,0
access_mail_activity_user,mail.activity.user,mail.model_mail_activity,group_backend,1,1,1,1 mail_activity_backend,backend user mail.activity,mail.model_mail_activity,group_backend,1,1,1,1
access_mail_activity_type_user,mail.activity.type.user,mail.model_mail_activity_type,group_backend,1,0,0,0 mail_activity_type_backend,backend user mail.activity.type,mail.model_mail_activity_type,group_backend,1,0,0,0
access_ir_attachment_group_user,ir_attachment group_user,base.model_ir_attachment,group_backend,1,0,0,0 ir_attachment_group_backend,backend user ir.attachment,base.model_ir_attachment,group_backend,1,0,0,0
access_mail_followers_user,mail.followers.user,mail.model_mail_followers,group_backend,1,0,0,0 mail_followers_backend,backend user mail.followers,mail.model_mail_followers,group_backend,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_res_users_all res_users_backend res_users all backend user res.users model_res_users base.model_res_users group_backend 1 0 0 0
3 access_res_partners_all res_partner_backend res_partners all backend user res.partner base.model_res_partner group_backend 1 0 0 0
4 access_ir_ui_menu_group_user ir_ui_menu_backend ir_ui_menu group_user backend user ir.ui.menu base.model_ir_ui_menu group_backend 1 0 0 0
5 access_ir_filter_user ir_filter_backend ir_filters all backend user ir.filters base.model_ir_filters group_backend 1 1 1 1
6 access_bus_presence bus_presence_backend bus.presence backend user bus.presence bus.model_bus_presence group_backend 1 1 1 1
7 access_mail_channel_member_user mail_channel_member_backend mail.channel.member.user backend user mail.channel.member mail.model_mail_channel_member group_backend 1 1 1 0
8 access_mail_channel_user mail_channel_backend mail.group.user backend user mail.group mail.model_mail_channel group_backend 1 1 1 0
9 access_mail_notification_user mail_notification_backend mail.notification.user backend user mail.notification mail.model_mail_notification group_backend 1 1 1 0
10 access_mail_activity_user mail_activity_backend mail.activity.user backend user mail.activity mail.model_mail_activity group_backend 1 1 1 1
11 access_mail_activity_type_user mail_activity_type_backend mail.activity.type.user backend user mail.activity.type mail.model_mail_activity_type group_backend 1 0 0 0
12 access_ir_attachment_group_user ir_attachment_group_backend ir_attachment group_user backend user ir.attachment base.model_ir_attachment group_backend 1 0 0 0
13 access_mail_followers_user mail_followers_backend mail.followers.user backend user mail.followers mail.model_mail_followers group_backend 1 0 0 0