[FIX] core: accounting groups field dropped from users' form view
To reproduce this issue, install the module "Accounting" in English,
then switch language to Dutch, and go to a user's form. The selection
field for accounting groups is missing from the users' form view.
The source of the bug is the special case introduced for accounting
groups in d8c5cc1335. The groups in that
selection field are not totally ordered, and the non-ordered elements
are de facto ordered by name, which is a translated field! In the
example above, the English version uses the field name
`sel_groups_22_23_24_25` while the Dutch version uses the field name
`sel_groups_23_22_24_25`. Because the first one is used in the form
view, and it is not found in the model's documented fields (which uses
the second one), the field is discarded from the view.
The patch is much simpler than former versions, which are constrained by
the stable branch policy. We simply normalize the selection field's
name by ordering the group ids used in the name.
OPW-2394209
closes odoo/odoo#63462
X-original-commit: 399b4f1ceb31f560ce534ee8d9605ca43733f68c
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Co-authored-by: Nasreddin (bon) <bon@odoo.com>
This commit is contained in:
co-authored by
Nasreddin
parent
7e0c645d37
commit
b6c688caa2
@@ -56,7 +56,7 @@ def name_boolean_group(id):
|
||||
return 'in_group_' + str(id)
|
||||
|
||||
def name_selection_groups(ids):
|
||||
return 'sel_groups_' + '_'.join(str(it) for it in ids)
|
||||
return 'sel_groups_' + '_'.join(str(it) for it in sorted(ids))
|
||||
|
||||
def is_boolean_group(name):
|
||||
return name.startswith('in_group_')
|
||||
|
||||
Reference in New Issue
Block a user