diff --git a/CHANGELOG b/CHANGELOG index a20ce586ec..a0b366b144 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ +* Order Dict keys by sequence * Support relation fields in domain parser * Add Dict widget for tree view * Add handle to reordable line of tree views diff --git a/tryton/gui/window/view_form/view/form_gtk/dictionary.py b/tryton/gui/window/view_form/view/form_gtk/dictionary.py index a193b159b6..cf37bcca63 100644 --- a/tryton/gui/window/view_form/view/form_gtk/dictionary.py +++ b/tryton/gui/window/view_form/view/form_gtk/dictionary.py @@ -473,9 +473,16 @@ class DictWidget(Widget): if new_key_names: self.field.add_keys(list(new_key_names), self.record) decoder = PYSONDecoder() - for key, val in sorted(value.items()): - if key not in self.field.keys: - continue + + def filter_func(item): + key, value = item + return key in self.field.keys + + def key(item): + key, value = item + return self.field.keys[key]['sequence'] or 0 + + for key, val in sorted(filter(filter_func, value.items()), key=key): if key not in self.fields: self.add_line(key) widget = self.fields[key]