diff --git a/app/Filters/InvoiceFilters.php b/app/Filters/InvoiceFilters.php index 120c7ad7a2ed..0609864de918 100644 --- a/app/Filters/InvoiceFilters.php +++ b/app/Filters/InvoiceFilters.php @@ -247,24 +247,25 @@ class InvoiceFilters extends QueryFilters return $this->builder->where('due_date', '>=', $date); } + /** + * 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) != 3) { + if (count($parts) != 2) { return $this->builder; } - - if(!in_array($parts[0], ['date','due_date'])) { - return $this->builder; - } - try { - $start_date = Carbon::parse($parts[1]); - $end_date = Carbon::parse($parts[2]); + $start_date = Carbon::parse($parts[0]); + $end_date = Carbon::parse($parts[1]); - return $this->builder->whereBetween($parts[0], [$start_date, $end_date]); + return $this->builder->whereBetween('date', [$start_date, $end_date]); } catch(\Exception $e) { return $this->builder; } @@ -272,6 +273,33 @@ class InvoiceFilters extends QueryFilters return $this->builder; } + /** + * Filter by due date range + * + * @param string $date_range + * @return Builder + */ + public function due_date_range(string $date_range = ''): Builder + { + $parts = explode(",", $date_range); + + if (count($parts) != 2) { + return $this->builder; + } + try { + + $start_date = Carbon::parse($parts[0]); + $end_date = Carbon::parse($parts[1]); + + return $this->builder->whereBetween('date', [$start_date, $end_date]); + } catch(\Exception $e) { + return $this->builder; + } + + return $this->builder; + } + + /** * Sorts the list based on $sort. *