eca_render: Embedding a custom form with a submit button may lead to a 303 status code

Issue information

From user: mxh

Related to !258 (merged)

Contribution record

Fork management

Problem/Motivation

When embedding a custom form on a page with the new ECA Render module, and adding a submit button there, there is a conflict with the generated HTTP response:

When submit logic is applied, everything is being executed on the server side, but the server responds with a 303 status code (possibly due to caching mechanics when rendering the page). The 303 status code instructs the client (browser) to do another request, and so the generated page contents before were not shown to the user.

This can be prevented by explicitly setting the form state to do a rebuild after form submission, but this may be something the user who creates the ECA configuration does not know of. We should therefore include a default mechanic that avoids this confusing situation.

Steps to reproduce

Proposed resolution

Remaining tasks

Fix the bug, directly in the custom form logic.

User interface changes

API changes

Data model changes

Edited by drupalbot
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information