From c593f2bd582b475cde48c75f1535df24acfe2a02 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 17 Jul 2020 10:31:19 +1000 Subject: [PATCH] Add event listeners --- .../Activity/ArchivedClientActivity.php | 53 +++++++++++++++++++ .../Activity/DeleteClientActivity.php | 53 +++++++++++++++++++ .../Activity/RestoreClientActivity.php | 53 +++++++++++++++++++ app/Models/Activity.php | 12 ++--- app/Providers/EventServiceProvider.php | 6 +++ 5 files changed, 171 insertions(+), 6 deletions(-) create mode 100644 app/Listeners/Activity/ArchivedClientActivity.php create mode 100644 app/Listeners/Activity/DeleteClientActivity.php create mode 100644 app/Listeners/Activity/RestoreClientActivity.php diff --git a/app/Listeners/Activity/ArchivedClientActivity.php b/app/Listeners/Activity/ArchivedClientActivity.php new file mode 100644 index 000000000000..e847b90d62a1 --- /dev/null +++ b/app/Listeners/Activity/ArchivedClientActivity.php @@ -0,0 +1,53 @@ +activity_repo = $activity_repo; + } + + /** + * Handle the event. + * + * @param object $event + * @return void + */ + public function handle($event) + { + MultiDB::setDb($event->company->db); + + $fields = new \stdClass; + + $fields->client_id = $event->client->id; + $fields->user_id = $event->client->user_id; + $fields->company_id = $event->client->company_id; + $fields->activity_type_id = Activity::ARCHIVE_CLIENT; + + $this->activity_repo->save($fields, $event->client, $event->event_vars); + } +} diff --git a/app/Listeners/Activity/DeleteClientActivity.php b/app/Listeners/Activity/DeleteClientActivity.php new file mode 100644 index 000000000000..bc8bfd9ba3c5 --- /dev/null +++ b/app/Listeners/Activity/DeleteClientActivity.php @@ -0,0 +1,53 @@ +activity_repo = $activity_repo; + } + + /** + * Handle the event. + * + * @param object $event + * @return void + */ + public function handle($event) + { + MultiDB::setDb($event->company->db); + + $fields = new \stdClass; + + $fields->client_id = $event->client->id; + $fields->user_id = $event->client->user_id; + $fields->company_id = $event->client->company_id; + $fields->activity_type_id = Activity::DELETE_CLIENT; + + $this->activity_repo->save($fields, $event->client, $event->event_vars); + } +} diff --git a/app/Listeners/Activity/RestoreClientActivity.php b/app/Listeners/Activity/RestoreClientActivity.php new file mode 100644 index 000000000000..35e4cd4bc5f9 --- /dev/null +++ b/app/Listeners/Activity/RestoreClientActivity.php @@ -0,0 +1,53 @@ +activity_repo = $activity_repo; + } + + /** + * Handle the event. + * + * @param object $event + * @return void + */ + public function handle($event) + { + MultiDB::setDb($event->company->db); + + $fields = new \stdClass; + + $fields->client_id = $event->client->id; + $fields->user_id = $event->client->user_id; + $fields->company_id = $event->client->company_id; + $fields->activity_type_id = Activity::RESTORE_CLIENT; + + $this->activity_repo->save($fields, $event->client, $event->event_vars); + } +} diff --git a/app/Models/Activity.php b/app/Models/Activity.php index a2f6487cb600..d31e92194d92 100644 --- a/app/Models/Activity.php +++ b/app/Models/Activity.php @@ -15,12 +15,12 @@ use Illuminate\Database\Eloquent\Model; class Activity extends StaticModel { - const CREATE_CLIENT=1; - const ARCHIVE_CLIENT=2; - const DELETE_CLIENT=3; - const CREATE_INVOICE=4; - const UPDATE_INVOICE=5; - const EMAIL_INVOICE=6; + const CREATE_CLIENT=1; // + const ARCHIVE_CLIENT=2; // + const DELETE_CLIENT=3; // + const CREATE_INVOICE=4; // + const UPDATE_INVOICE=5; // + const EMAIL_INVOICE=6; // const VIEW_INVOICE=7; const ARCHIVE_INVOICE=8; const DELETE_INVOICE=9; diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php index 9b8a3348f145..86e13b666212 100644 --- a/app/Providers/EventServiceProvider.php +++ b/app/Providers/EventServiceProvider.php @@ -41,11 +41,14 @@ use App\Events\Quote\QuoteWasApproved; use App\Events\User\UserLoggedIn; use App\Events\User\UserWasCreated; use App\Events\User\UserWasDeleted; +use App\Listeners\Activity\ArchivedClientActivity; use App\Listeners\Activity\CreatedClientActivity; +use App\Listeners\Activity\DeleteClientActivity; use App\Listeners\Activity\PaymentCreatedActivity; use App\Listeners\Activity\PaymentDeletedActivity; use App\Listeners\Activity\PaymentRefundedActivity; use App\Listeners\Activity\PaymentVoidedActivity; +use App\Listeners\Activity\RestoreClientActivity; use App\Listeners\Contact\UpdateContactLastLogin; use App\Listeners\Document\DeleteCompanyDocuments; use App\Listeners\Invoice\CreateInvoiceActivity; @@ -105,12 +108,15 @@ class EventServiceProvider extends ServiceProvider CreatedClientActivity::class, ], ClientWasArchived::class =>[ + ArchivedClientActivity::class, ], ClientWasUpdated::class =>[ ], ClientWasDeleted::class =>[ + DeleteClientActivity::class, ], ClientWasRestored::class =>[ + RestoreClientActivity::class, ], // Documents DocumentWasCreated::class =>[