From f64adfbddb4f006e0a7c46ea1df4a9f14c826e08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 1 Oct 2022 14:45:59 +0200 Subject: [PATCH] Add straight values to wizard state view issue11703 review431591006 --- sale.py | 13 ++++++++----- tests/scenario_sale_modify_header.rst | 2 ++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/sale.py b/sale.py index e37f1ee96e..e28e61c938 100644 --- a/sale.py +++ b/sale.py @@ -2025,6 +2025,9 @@ class ModifyHeaderStateView(StateView): return super(ModifyHeaderStateView, self).get_view( wizard, state_name) + def get_defaults(self, wizard, state_name, fields): + return {} + class ModifyHeader(Wizard): "Modify Header" @@ -2043,9 +2046,9 @@ class ModifyHeader(Wizard): sale=self.record.rec_name)) return self.record - def default_start(self, fields): + def value_start(self, fields): sale = self.get_sale() - defaults = {} + values = {} for fieldname in fields: value = getattr(sale, fieldname) if isinstance(value, Model): @@ -2055,11 +2058,11 @@ class ModifyHeader(Wizard): value = value.id elif isinstance(value, (list, tuple)): value = [r.id for r in value] - defaults[fieldname] = value + values[fieldname] = value # Mimic an empty sale in draft state to get the fields' states right - defaults['lines'] = [] - return defaults + values['lines'] = [] + return values def transition_modify(self): pool = Pool() diff --git a/tests/scenario_sale_modify_header.rst b/tests/scenario_sale_modify_header.rst index 562e3c5d75..6dbaaf6016 100644 --- a/tests/scenario_sale_modify_header.rst +++ b/tests/scenario_sale_modify_header.rst @@ -89,6 +89,8 @@ Create a sale with a line:: Change the party:: >>> modify_header = Wizard('sale.modify_header', [sale]) + >>> modify_header.form.party == customer + True >>> modify_header.form.party = another >>> modify_header.execute('modify')