From f507fc95c7b6c8e347aca61307c90238d385a106 Mon Sep 17 00:00:00 2001 From: Moises Lopez Date: Tue, 6 Dec 2016 16:24:38 +0100 Subject: [PATCH] [IMP] fields: remove '_id(s)' from the label For autogenerated labels. Use title instead of capitalize to get every word with a capital letter. Closes #12769 --- addons/base_import/tests/test_base_import.py | 2 +- odoo/fields.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/base_import/tests/test_base_import.py b/addons/base_import/tests/test_base_import.py index 6bef004936e..0502af6d0ab 100644 --- a/addons/base_import/tests/test_base_import.py +++ b/addons/base_import/tests/test_base_import.py @@ -99,7 +99,7 @@ class TestO2M(BaseImportCase): self.assertEqualFields(self.get_fields('o2m'), make_field(field_type='one2many', fields=[ ID_FIELD, # FIXME: should reverse field be ignored? - {'id': 'parent_id', 'name': 'parent_id', 'string': 'Parent id', 'type': 'many2one', 'required': False, 'fields': [ + {'id': 'parent_id', 'name': 'parent_id', 'string': 'Parent', 'type': 'many2one', 'required': False, 'fields': [ {'id': 'parent_id', 'name': 'id', 'string': 'External ID', 'required': False, 'fields': [], 'type': 'id'}, {'id': 'parent_id', 'name': '.id', 'string': 'Database ID', 'required': False, 'fields': [], 'type': 'id'}, ]}, diff --git a/odoo/fields.py b/odoo/fields.py index 8971c239ac9..e43c8ddabb6 100644 --- a/odoo/fields.py +++ b/odoo/fields.py @@ -470,7 +470,10 @@ class Field(object): if not self.string and not self.related: # related fields get their string from their parent field - self.string = name.replace('_', ' ').capitalize() + self.string = ( + name[:-4] if name.endswith('_ids') else + name[:-3] if name.endswith('_id') else name + ).replace('_', ' ').title() # self.default must be a callable if self.default is not None: