forms: fix edition of current formdata (#2789)
This commit is contained in:
parent
cf3ae32eae
commit
2d44e3e1c5
|
@ -393,21 +393,17 @@ class FormPage(Directory):
|
|||
form.submit_widgets.remove(form._names['prefill'])
|
||||
del form._names['prefill']
|
||||
|
||||
if not editing:
|
||||
if page_no == 0 and not get_request().form.has_key('magictoken'):
|
||||
magictoken = randbytes(8)
|
||||
else:
|
||||
magictoken = get_request().form['magictoken']
|
||||
form.add_hidden('magictoken', magictoken)
|
||||
|
||||
form.add_submit('submit', _('Next'))
|
||||
data = session.get_by_magictoken(magictoken, {})
|
||||
if page_no == 0 and not get_request().form.has_key('magictoken'):
|
||||
magictoken = randbytes(8)
|
||||
else:
|
||||
if page_no == self.page_number - 1:
|
||||
form.add_submit('submit', _('Save Changes'))
|
||||
else:
|
||||
form.add_submit('submit', _('Next'))
|
||||
data = editing.data
|
||||
magictoken = get_request().form['magictoken']
|
||||
form.add_hidden('magictoken', magictoken)
|
||||
data = session.get_by_magictoken(magictoken, {})
|
||||
|
||||
if editing and page_no == self.page_number - 1:
|
||||
form.add_submit('submit', _('Save Changes'))
|
||||
else:
|
||||
form.add_submit('submit', _('Next'))
|
||||
|
||||
if page_no > 0:
|
||||
form.add_submit('previous', _('Previous'))
|
||||
|
@ -511,6 +507,9 @@ class FormPage(Directory):
|
|||
if editing:
|
||||
existing_formdata = editing.data
|
||||
if not get_request().form:
|
||||
# on the initial visit editing the form (i.e. not after
|
||||
# clicking for previous or next page), we need to load the
|
||||
# existing data into the session
|
||||
token = randbytes(8)
|
||||
get_request().form['magictoken'] = token
|
||||
session.add_magictoken(token, editing.data)
|
||||
|
|
Loading…
Reference in New Issue