From 9da3ee99014ff61bd636a63d83bd7b8cfea3213b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 20 Sep 2019 12:00:14 +0200 Subject: [PATCH] misc: recreate workflow form after submission, to get live items (#35903) --- wcs/forms/common.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/wcs/forms/common.py b/wcs/forms/common.py index e4c60adb4..e40f39228 100644 --- a/wcs/forms/common.py +++ b/wcs/forms/common.py @@ -263,16 +263,19 @@ class FormStatusPage(Directory, FormTemplateMixin): def get_workflow_form(self, user): submitted_fields = [] form = self.filled.get_workflow_form(user, displayed_fields=submitted_fields) - if form: - form.attrs['data-live-url'] = self.filled.get_url() + 'live' if form and form.is_submitted(): with get_publisher().substitutions.temporary_feed(self.filled, force_mode='lazy'): # remove fields that could be required but are not visible self.filled.evaluate_live_workflow_form(user, form) + get_publisher().substitutions.invalidate_cache() get_publisher().substitutions.feed(self.filled) + # recreate form to get live data source items + form = self.filled.get_workflow_form(user, displayed_fields=submitted_fields) for field in submitted_fields: if not field.is_visible(self.filled.data, self.formdef) and 'f%s' % field.id in form._names: del form._names['f%s' % field.id] + if form: + form.attrs['data-live-url'] = self.filled.get_url() + 'live' return form