From 6b06bfc9b3b7dbac3e2705fc64bfd824577f571a Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 16 Oct 2025 09:51:49 +1100 Subject: [PATCH] Clean up for quote email activity --- app/Filters/TaskFilters.php | 25 ++++++++++++++++++++++ app/Listeners/Quote/QuoteEmailActivity.php | 6 +++--- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/app/Filters/TaskFilters.php b/app/Filters/TaskFilters.php index 15d4390dfe..3519ff2d88 100644 --- a/app/Filters/TaskFilters.php +++ b/app/Filters/TaskFilters.php @@ -221,6 +221,31 @@ class TaskFilters extends QueryFilters return $this->builder; } + /** + * Filter by date range + * + * @param string $date_range + * @return Builder + */ + public function date_range(string $date_range = ''): Builder + { + $parts = explode(",", $date_range); + + if (count($parts) != 2 || !in_array('calculated_start_date', \Illuminate\Support\Facades\Schema::getColumnListing($this->builder->getModel()->getTable()))) { + return $this->builder; + } + + try { + + $start_date = \Carbon\Carbon::parse($parts[0]); + $end_date = \Carbon\Carbon::parse($parts[1]); + + return $this->builder->whereBetween('calculated_start_date', [$start_date, $end_date]); + } catch (\Exception $e) { + return $this->builder; + } + + } /** * Filters the query by the users company ID. diff --git a/app/Listeners/Quote/QuoteEmailActivity.php b/app/Listeners/Quote/QuoteEmailActivity.php index eb4a0abf3a..2d89c1bfbb 100644 --- a/app/Listeners/Quote/QuoteEmailActivity.php +++ b/app/Listeners/Quote/QuoteEmailActivity.php @@ -50,10 +50,10 @@ class QuoteEmailActivity implements ShouldQueue $fields->user_id = $user_id; - $fields->quote_id = $event->invitation->quote->id; + $fields->quote_id = $event->invitation->quote_id; $fields->client_id = $event->invitation->quote->client_id; - $fields->company_id = $event->invitation->quote->company_id; - $fields->client_contact_id = $event->invitation->quote->client_contact_id; + $fields->company_id = $event->invitation->company_id; + $fields->client_contact_id = $event->invitation->client_contact_id; $fields->activity_type_id = Activity::EMAIL_QUOTE; $this->activity_repo->save($fields, $event->invitation, $event->event_vars);