Ordering portal - manage contacts via v3 endpoint
Project Contacts management on the customer-facing project view migrated to the v3 contacts API endpoint
Overview
Manage Project Contacts on the ordering portal's customer-facing project view used to call a legacy contacts endpoint. Release 3.10 migrates that flow to the v3 contacts API, with a new dedicated controller for contacts updates and a refreshed Twig template for the project view.
What changed
- A new
ProjectContactsUpdateControlleron the ordering portal wraps the contact mutation flow against the v3 contacts endpoint. ProjectContactProviderandProjectCreationServicewere updated to align with the v3 contract, including normalisation of contact payloads on creation paths.- The
customer/projects/view.html.twigtemplate was significantly expanded to render the v3 contacts UI alongside the existing project information panels. - A new
ProjectsProxyControlleron the ordering side provides the API endpoints the customer-facing UI hits when adding / updating / removing contacts.
Behaviour
The user-visible behaviour is unchanged: builders / developers manage contacts on a project through the same panel they always have. Under the hood, the contact data flows through the v3 endpoint that the rest of the platform's contacts work has been moving to. This unblocks subsequent contacts-related changes from continuing to carry the legacy code path.
Verification
Manual verification on preprod with a real builder-side project: add, edit, and remove flows all complete and round-trip via the v3 API. Browser-verified on production after deploy.
Related
- Git tag v3.13.3.
Async failed-queue hardening
Null-guards and post-deploy-verify additions on RFI / address-discovery paths reduce transient failures landing in the failed transport
Release 3.9 Overview
Ordering impersonation picker, reporting-tool UX refresh, project attachment fixes, Sale Check form-save, MYOB sync serialisation, RFI template clone checklist status, silent Project status revert fix, ordering portal LOT address canonicalisation, and admin dashboard logo cap on mobile