From 3cc06abfb6897018b0b960add53c48cee4edde2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20Laukavi=C4=8Dius?= Date: Sat, 23 Sep 2023 16:32:29 +0300 Subject: [PATCH] [FIX] server_environment: default field label If related field is not directly set (coming from inheritance) or string label is not specified explicitly, it might not have it in `args`, making it generate same default field labels, causing warnings in odoo. Before this change you could get these kind of warnings: ``` 2023-09-23 13:28:39,638 1 WARNING odoodb odoo.addons.base.models.ir_model: Two fields (field1_env_default, field2_env_default) of your.model() have the same label: Env Default. ``` It would generate multiple fields having same label. --- server_environment/models/server_env_mixin.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server_environment/models/server_env_mixin.py b/server_environment/models/server_env_mixin.py index d2c6d44..624f1da 100644 --- a/server_environment/models/server_env_mixin.py +++ b/server_environment/models/server_env_mixin.py @@ -401,7 +401,11 @@ class ServerEnvMixin(models.AbstractModel): base_field_cls = base_field.__class__ field_args = base_field.args.copy() if base_field.args else {} field_args.pop("_sequence", None) - fieldlabel = "{} {}".format(field_args.get("string", ""), "Env Default") + if hasattr(base_field, "string"): + base_label = base_field.string + else: + base_label = field_args.get("string", "") + fieldlabel = "{} {}".format(base_label, "Env Default") field_args.update( { "sparse": "server_env_defaults",