15 Commits
Author SHA1 Message Date
frommeandClaude Opus 5 e52f7dcff8 feat: post application forms to MyEP with label-keyed extra values
Forms built in the backend form editor use generated element identifiers
(text-1, multicheckbox-2, ...) that carry no meaning and cannot be renamed
without breaking the other finishers configured on the form. ApplicationApiFinisher
therefore sends two halves: a small mapped core (firstName, lastName, email, ...)
that a developer configures per form and MyEP can rely on, plus every remaining
submitted value keyed by the element label for a human to read.

Each submission also carries where it came from: the form identifier and its
editor-given name, plus the uid and canonical URL of the page it was submitted
from - the same definition is embedded on several pages, so the page is what
distinguishes them. The URL is generated through the site router in the visitor's
language, like AddReferrerFinisher does it.

Labels come from the form definition rather than TranslationService, so the keys
do not shift with the site language. Values are normalized for JSON: dates to
Y-m-d, uploads to the file name, multi-value elements to a list, empty values
dropped, unsupported objects skipped with a log warning.

Like BpnApiFinisher the request failure is only logged, so a MyEP outage never
costs the application mail.

The endpoint (POST applications) does not exist in MyEP yet; the contract handed
over to that team lives in .ddev/plans/MYEP-APPLICATION-ENDPOINT.md. Until it is
built the finisher is registered but attached to no form.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-22 13:42:07 +02:00
Björn Fromme 9933a0d3f7 feat: webhook form finisher for generic post requests
addresses #869cupm97
2026-06-16 11:18:07 +02:00
Björn Fromme 1a517f4584 fix: include phone number in form finisher for myep api 2026-06-16 10:25:00 +02:00
Björn Fromme 7e87d15372 feat: various a11y improvements 2025-06-22 16:28:29 +02:00
Björn Fromme e6c4948644 fix: add missing finisher implementation 2024-07-19 10:49:47 +02:00
Björn Fromme 4991d972c2 feat: captcha field for form editor 2024-07-17 15:57:01 +02:00
Björn Fromme 57ab8836ae Enable file upload field in form editor 2022-10-11 12:32:49 +02:00
Björn Fromme 102e55e54c Adopt changes in default finisher configuration to backend 2021-09-14 18:35:34 +02:00
Björn Fromme b25b675227 Merge branch 'master' into feature/stimulus 2021-09-14 18:34:00 +02:00
Björn Fromme e08b0ea803 Adjust default finisher configuration to match previous plugin 2021-09-14 18:33:31 +02:00
Björn Fromme 65f63b8bcb Merge branch 'develop' into feature/stimulus 2021-09-10 12:10:11 +02:00
Björn Fromme 4ce449e870 Reduce number of selectable form fields, adjust naming 2021-09-10 11:39:06 +02:00
Björn Fromme 78e9a5046f Merge branch 'master' into feature/stimulus 2021-09-08 09:41:34 +02:00
Björn Fromme d3647320fb Finalize referrer form finisher by adding request middlewareπ 2021-09-07 14:37:27 +02:00
Björn Fromme 4ab82c714d WIP Implement referrer form finisher 2021-09-07 14:35:35 +02:00