267 |
267 |
form.attrs['data-live-url'] = self.filled.get_url() + 'live'
|
268 |
268 |
if form and form.is_submitted():
|
269 |
269 |
with get_publisher().substitutions.temporary_feed(self.filled, force_mode='lazy'):
|
270 |
|
# remove fields that could be required but are not visible
|
271 |
270 |
self.filled.evaluate_live_workflow_form(user, form)
|
272 |
271 |
get_publisher().substitutions.invalidate_cache()
|
273 |
272 |
get_publisher().substitutions.feed(self.filled)
|
274 |
273 |
# recreate form to get live data source items
|
|
274 |
submitted_fields = []
|
|
275 |
form = self.filled.get_workflow_form(user, displayed_fields=submitted_fields)
|
|
276 |
|
|
277 |
self.filled.evaluate_live_workflow_form(user, form)
|
|
278 |
get_publisher().substitutions.invalidate_cache()
|
|
279 |
get_publisher().substitutions.feed(self.filled)
|
|
280 |
# recreate form to get live data source items
|
|
281 |
submitted_fields = []
|
275 |
282 |
form = self.filled.get_workflow_form(user, displayed_fields=submitted_fields)
|
276 |
283 |
for field in submitted_fields:
|
277 |
284 |
if not field.is_visible(self.filled.data, self.formdef) and 'f%s' % field.id in form._names:
|
... | ... | |
677 |
684 |
if not session:
|
678 |
685 |
return result_error('missing session')
|
679 |
686 |
|
680 |
|
displayed_fields = []
|
681 |
687 |
user = get_request().user
|
|
688 |
displayed_fields = []
|
682 |
689 |
form = self.filled.get_workflow_form(user, displayed_fields=displayed_fields)
|
|
690 |
|
683 |
691 |
self.filled.evaluate_live_workflow_form(user, form)
|
684 |
|
get_publisher().substitutions.unfeed(lambda x: x is self.filled)
|
|
692 |
get_publisher().substitutions.invalidate_cache()
|
685 |
693 |
get_publisher().substitutions.feed(self.filled)
|
686 |
|
# reevaluate workflow form according to possible new content
|
687 |
694 |
displayed_fields = []
|
688 |
695 |
form = self.filled.get_workflow_form(user, displayed_fields=displayed_fields)
|
|
696 |
|
|
697 |
self.filled.evaluate_live_workflow_form(user, form)
|
|
698 |
get_publisher().substitutions.invalidate_cache()
|
|
699 |
get_publisher().substitutions.feed(self.filled)
|
|
700 |
displayed_fields = []
|
|
701 |
form = self.filled.get_workflow_form(user, displayed_fields=displayed_fields)
|
|
702 |
|
689 |
703 |
return self.live_process_fields(form, self.filled, displayed_fields)
|
690 |
704 |
|
691 |
705 |
def _q_lookup(self, component):
|
692 |
|
-
|