[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
This commit is contained in:
Moises Lopez
2016-12-07 10:47:04 +01:00
committed by Martin Trigaux
parent b33f919e3d
commit f507fc95c7
2 changed files with 5 additions and 2 deletions
+1 -1
View File
@@ -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'},
]},
+4 -1
View File
@@ -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: