diff --git a/web_field_required_invisible_manager/models/models.py b/web_field_required_invisible_manager/models/models.py index fa101ac0e..8594a23a0 100644 --- a/web_field_required_invisible_manager/models/models.py +++ b/web_field_required_invisible_manager/models/models.py @@ -52,7 +52,7 @@ class Base(models.AbstractModel): return arch 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 = [ (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( 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]) if restr.readonly_field_id and restr.readonly_model_id: model_field_infos = name_manager.fields_get.get( diff --git a/web_field_required_invisible_manager/tests/test_web_field_required_invisible_manager.py b/web_field_required_invisible_manager/tests/test_web_field_required_invisible_manager.py index 6800a1e09..b4f6215a6 100644 --- a/web_field_required_invisible_manager/tests/test_web_field_required_invisible_manager.py +++ b/web_field_required_invisible_manager/tests/test_web_field_required_invisible_manager.py @@ -121,6 +121,7 @@ class TestFieldRequiredIvisibleManager(common.SavepointCase): "", } ) + cls.view_users_form_arch_orig = cls.view_users_form.arch cls.view_users_form.arch = cls.view_users_form.arch.replace( "", "" @@ -220,3 +221,11 @@ class TestFieldRequiredIvisibleManager(common.SavepointCase): self.assertTrue(self.invisible_title_rec_id.required) # 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( + "", + "

", + ) + 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")