From 5d1ffa2d9005045cb2ea9d282e7ea2aa23396fd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=BCneyt=20=C5=9Eent=C3=BCrk?= Date: Mon, 26 Aug 2024 13:26:23 +0100 Subject: [PATCH] Added report listener skip event fire feature.. --- app/Abstracts/Listeners/Report.php | 20 ++++++++++++++++++++ app/Events/Report/SkipClass.php | 20 ++++++++++++++++++++ app/Events/Report/SkipRowsShowing.php | 20 ++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 app/Events/Report/SkipClass.php create mode 100644 app/Events/Report/SkipRowsShowing.php diff --git a/app/Abstracts/Listeners/Report.php b/app/Abstracts/Listeners/Report.php index 520b9799e..b9cb77a1a 100644 --- a/app/Abstracts/Listeners/Report.php +++ b/app/Abstracts/Listeners/Report.php @@ -25,11 +25,20 @@ abstract class Report public function skipThisClass($event) { + $fire_event = $event; + + $this->fireEvent('App\Events\Report\SkipClass', $fire_event); + return (empty($event->class) || !in_array(get_class($event->class), $this->classes)); } public function skipRowsShowing($event, $group) { + $fire_event = $event; + $fire_group = $group; + + $this->fireEvent('App\Events\Report\SkipRowsShowing', $fire_event, $fire_group); + return $this->skipThisClass($event) || empty($event->class->model->settings->group) || ($event->class->model->settings->group != $group); @@ -280,6 +289,17 @@ abstract class Report return $this->getPeriodicDate($date, $event->class->getSetting('period'), $event->class->year); } + protected function fireEvent($event_class, $event, $group = null) + { + $this->class = $event->class; + + if ($group) { + $this->group = $group; + } + + event(new $event_class($this)); + } + /** * Register the listeners for the subscriber. * diff --git a/app/Events/Report/SkipClass.php b/app/Events/Report/SkipClass.php new file mode 100644 index 000000000..43b885459 --- /dev/null +++ b/app/Events/Report/SkipClass.php @@ -0,0 +1,20 @@ +classes = $classes; + } +} diff --git a/app/Events/Report/SkipRowsShowing.php b/app/Events/Report/SkipRowsShowing.php new file mode 100644 index 000000000..3f8b47f07 --- /dev/null +++ b/app/Events/Report/SkipRowsShowing.php @@ -0,0 +1,20 @@ +classes = $classes; + } +}