From 7a74726bf06431968f4df6cb12c55c8b7fb30aef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Tue, 23 Apr 2013 01:38:02 +0200 Subject: [PATCH] forms: fix edition of current formdata (#2789) --- wcs/forms/root.ptl | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/wcs/forms/root.ptl b/wcs/forms/root.ptl index 8c82bf7..55e3d71 100644 --- a/wcs/forms/root.ptl +++ b/wcs/forms/root.ptl @@ -402,21 +402,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) + 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) + data = session.get_by_magictoken(magictoken, {}) - form.add_submit('submit', _('Next')) - data = session.get_by_magictoken(magictoken, {}) + if editing and page_no == self.page_number - 1: + form.add_submit('submit', _('Save Changes')) else: - if page_no == self.page_number - 1: - form.add_submit('submit', _('Save Changes')) - else: - form.add_submit('submit', _('Next')) - data = editing.data + form.add_submit('submit', _('Next')) if page_no > 0: form.add_submit('previous', _('Previous')) @@ -499,6 +495,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) -- 1.7.10.4