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 3efd181566
commit f64adfbddb
2 files changed
+10 -5

No files matched your search

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