From 11ac183fb1613c4c8f332437db244e1f86a70773 Mon Sep 17 00:00:00 2001 From: Jeppe Bundgaard Date: Tue, 23 Sep 2025 16:04:35 +0200 Subject: [PATCH] Add support for tracking last submitted form and booking object - Introduced `last_submitted_form` and `form_submission` properties in the `form` class to retain details of the most recently submitted form. - Updated form submission logic to assign `booking_object` where applicable. - Enhanced response in `formRoute.php` to include booking data when available. --- services/nginx/app/classes/form.php | 5 +++++ services/nginx/app/modules/forms/objects/book_wash_f.php | 2 ++ services/nginx/app/routes/formRoute.php | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/services/nginx/app/classes/form.php b/services/nginx/app/classes/form.php index 04bff56d..9a3a6132 100644 --- a/services/nginx/app/classes/form.php +++ b/services/nginx/app/classes/form.php @@ -14,6 +14,7 @@ use forms\objects\book_interior_wash_f; use forms\objects\book_wash_f; use forms\objects\complete_booking_f; use forms\objects\generate_booking_wash_certificate_f; +use objects\form_submissions_o; use traits\form_t; /** Require the forms using glob */ @@ -40,6 +41,8 @@ class form * @var complete_booking_f $complete_booking_without_wash_certificate The COMPLETE_BOOKING_WITHOUT_WASH_CERTIFICATE form */ public complete_booking_f $complete_booking_without_wash_certificate; + public $last_submitted_form; + public form_submissions_o $form_submission; public function __construct() { @@ -59,6 +62,8 @@ class form { /** @var form_t|object $form */ $form->submit(); + $this->last_submitted_form = $form; + $this->form_submission = $form->form_submissions_o; } /** diff --git a/services/nginx/app/modules/forms/objects/book_wash_f.php b/services/nginx/app/modules/forms/objects/book_wash_f.php index 12c93e9f..80d34937 100644 --- a/services/nginx/app/modules/forms/objects/book_wash_f.php +++ b/services/nginx/app/modules/forms/objects/book_wash_f.php @@ -13,6 +13,7 @@ use traits\form_t; class book_wash_f extends form_helper_c { use form_t; + public ?bookings_o $booking_object = null; /** * @inheritDoc @@ -100,6 +101,7 @@ class book_wash_f extends form_helper_c $email->sendBookingConfirmationEmail( $bookings->id, ); + $this->booking_object = $bookings; // TODO: Implement afterSubmit() method. } diff --git a/services/nginx/app/routes/formRoute.php b/services/nginx/app/routes/formRoute.php index 25378390..9f307fa7 100644 --- a/services/nginx/app/routes/formRoute.php +++ b/services/nginx/app/routes/formRoute.php @@ -49,7 +49,7 @@ class formRoute ); $response->success( - 'Form submitted successfully' + (isset($form->last_submitted_form->booking_object)) ? $form->last_submitted_form->booking_object->asArray() : $form->form_submission->asArray() ); }); }