3
0
Fork 0

Merge PR #2728 into 14.0

Signed-off-by ilyasProgrammer
14.0
OCA-git-bot 2024-01-23 09:50:49 +00:00
commit edfb614c9a
2 changed files with 12 additions and 2 deletions

View File

@ -52,7 +52,7 @@ class Base(models.AbstractModel):
return arch return arch
def process_child_fields(self, arch, view_type): def process_child_fields(self, arch, view_type):
"""Collect all relational fields and update its views""" """Collect all relational fields and update their views"""
related_fields = [ related_fields = [
(k, v.comodel_name) for k, v in self._fields.items() if v.comodel_name (k, v.comodel_name) for k, v in self._fields.items() if v.comodel_name
] ]
@ -80,7 +80,8 @@ class Base(models.AbstractModel):
z_arch = self.create_restrictions_fields( z_arch = self.create_restrictions_fields(
restr, view_type, z_arch restr, view_type, z_arch
) )
z_arch["arch"] = z_arch["arch"].decode("utf-8") if type(z_arch["arch"]) is bytes:
z_arch["arch"] = z_arch["arch"].decode("utf-8")
name_manager = NameManager(False, self.env[restr.model_name]) name_manager = NameManager(False, self.env[restr.model_name])
if restr.readonly_field_id and restr.readonly_model_id: if restr.readonly_field_id and restr.readonly_model_id:
model_field_infos = name_manager.fields_get.get( model_field_infos = name_manager.fields_get.get(

View File

@ -121,6 +121,7 @@ class TestFieldRequiredIvisibleManager(common.SavepointCase):
"<field name='name'/></tree>", "<field name='name'/></tree>",
} }
) )
cls.view_users_form_arch_orig = cls.view_users_form.arch
cls.view_users_form.arch = cls.view_users_form.arch.replace( cls.view_users_form.arch = cls.view_users_form.arch.replace(
"</notebook>", "</notebook>",
"</notebook><field name='company_ids'><tree><field name='city'/>" "</notebook><field name='company_ids'><tree><field name='city'/>"
@ -220,3 +221,11 @@ class TestFieldRequiredIvisibleManager(common.SavepointCase):
self.assertTrue(self.invisible_title_rec_id.required) self.assertTrue(self.invisible_title_rec_id.required)
# unlink # unlink
self.invisible_rec_id.unlink() self.invisible_rec_id.unlink()
# case when child view has no fields
self.view_users_form.arch = self.view_users_form_arch_orig
self.view_users_form.arch = self.view_users_form.arch.replace(
"</notebook>",
"</notebook><field name='company_ids'><form><br/></form></field>",
)
self.env.user.fields_view_get(view_id=self.view_users_form.id, view_type="form")
self.env.user.fields_view_get(view_id=self.view_users_tree.id, view_type="tree")