#5599 - Add form_handlers hooks functionality
| Identifier | #5599 |
|---|---|
| Issue type | Feature request or suggestion |
| Title | Add form_handlers hooks functionality |
| Status | Completed |
| Tags |
Roadmap: Over the horizon (custom) Roadmap: v11 partial implementation (custom) |
| Handling member | PDStig |
| Version | 10.0.46 |
| Addon | core |
| Description | Make new hooks->systems->form_handlers in Composr v10 to handle forms submitted (such as sending form data to external software systems).
A hook can be created within form_handlers to handle forms submitted. Available methods (for now) include handle_catalogue_entry, handle_registration, handle_profile_edit. Document use. Port to v11. |
| Steps to reproduce | |
| Additional information | Normally, as v10 is in maintenance status, I would not accept / implement new features. However, this is for a client. |
| Funded? | No |
| Commits | Fixed MANTIS-5599 (Form handler support) (e2c0560a) · Commits · Composr ecosystem / Composr · GitLab |
The system will post a comment when this issue is modified (e.g., status changes). To be notified of this, click "Enable comment notifications".


Comments
The intention is only certain things would utilize the hooks. For instance, submitting a catalogue entry would call handle_catalogue_entry. Registering a user account would call handle_registration. And editing your profile would call handle_profile_edit.
The idea is that, for example, if someone has third-party CRM software, data from key areas of Composr (catalogues, user registration, and profiles) can be relayed via these hooks to the software. This is not for custom forms (which do not go through the catalogues system).
It could also be used to call webhooks, save / sync data elsewhere, etc.
This hotfix adds basic form handler support for joining and for editing profiles. Catalogue handling has not yet been implemented. By default, this does nothing; developers should write their own form handler hooks. Documentation will be provided later (and so will catalogue support).