Add straight values to wizard state view

issue11703
review431591006
This commit is contained in:
Cédric Krier committed 2022-10-01 14:45:59 +02:00
1 parent 06149a1cd4
commit 088c7d3bc9
2 files changed
+10 -5

No files matched your search

+8 -5
View File
@@ -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()
@@ -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')