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'])
|
form.submit_widgets.remove(form._names['prefill'])
|
||||||
del form._names['prefill']
|
del form._names['prefill']
|
||||||
|
|
||||||
if not editing:
|
if page_no == 0 and not get_request().form.has_key('magictoken'):
|
||||||
if page_no == 0 and not get_request().form.has_key('magictoken'):
|
magictoken = randbytes(8)
|
||||||
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, {})
|
|
||||||
else:
|
else:
|
||||||
if page_no == self.page_number - 1:
|
magictoken = get_request().form['magictoken']
|
||||||
form.add_submit('submit', _('Save Changes'))
|
form.add_hidden('magictoken', magictoken)
|
||||||
else:
|
data = session.get_by_magictoken(magictoken, {})
|
||||||
form.add_submit('submit', _('Next'))
|
|
||||||
data = editing.data
|
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:
|
if page_no > 0:
|
||||||
form.add_submit('previous', _('Previous'))
|
form.add_submit('previous', _('Previous'))
|
||||||
|
@ -511,6 +507,9 @@ class FormPage(Directory):
|
||||||
if editing:
|
if editing:
|
||||||
existing_formdata = editing.data
|
existing_formdata = editing.data
|
||||||
if not get_request().form:
|
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)
|
token = randbytes(8)
|
||||||
get_request().form['magictoken'] = token
|
get_request().form['magictoken'] = token
|
||||||
session.add_magictoken(token, editing.data)
|
session.add_magictoken(token, editing.data)
|
||||||
|
|
Loading…
Reference in New Issue