From 088c7d3bc9daf9c76987e2cae0ea411f4af779d2 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 --- purchase.py | 13 ++++++++----- tests/scenario_purchase_modify_header.rst | 2 ++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/purchase.py b/purchase.py index 141e90a3fa..e3b360861c 100644 --- a/purchase.py +++ b/purchase.py @@ -1998,6 +1998,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" @@ -2016,9 +2019,9 @@ class ModifyHeader(Wizard): purchase=self.record.rec_name)) return self.record - def default_start(self, fields): + def value_start(self, fields): purchase = self.get_purchase() - defaults = {} + values = {} for fieldname in fields: value = getattr(purchase, fieldname) if isinstance(value, Model): @@ -2028,11 +2031,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_purchase_modify_header.rst b/tests/scenario_purchase_modify_header.rst index 444974fdb0..030e14e665 100644 --- a/tests/scenario_purchase_modify_header.rst +++ b/tests/scenario_purchase_modify_header.rst @@ -88,6 +88,8 @@ Create a sale with a line:: Change the party:: >>> modify_header = Wizard('purchase.modify_header', [purchase]) + >>> modify_header.form.party == supplier + True >>> modify_header.form.party = another >>> modify_header.execute('modify')