diff --git a/app/Http/Controllers/ClientPortal/InvitationController.php b/app/Http/Controllers/ClientPortal/InvitationController.php index ec613405a3b8..8061672d3c61 100644 --- a/app/Http/Controllers/ClientPortal/InvitationController.php +++ b/app/Http/Controllers/ClientPortal/InvitationController.php @@ -44,8 +44,10 @@ class InvitationController extends Controller } else { auth()->guard('contact')->login($invitation->contact, true); } - - if (!request()->has('silent')) { + + if (!request()->has('silent') && !$invitation->viewed_date) { +// if (!request()->has('silent')) { + $invitation->markViewed(); event(new InvitationWasViewed($invitation->{$entity}, $invitation, $invitation->{$entity}->company, Ninja::eventVars())); diff --git a/app/Listeners/Misc/InvitationViewedListener.php b/app/Listeners/Misc/InvitationViewedListener.php index 6f6b74227d29..501655e20698 100644 --- a/app/Listeners/Misc/InvitationViewedListener.php +++ b/app/Listeners/Misc/InvitationViewedListener.php @@ -46,6 +46,7 @@ class InvitationViewedListener implements ShouldQueue $invitation = $event->invitation; $notification = new EntityViewedNotification($invitation, $entity_name); + $notification_not_fired_yet = true; foreach ($invitation->company->company_users as $company_user) { @@ -53,11 +54,12 @@ class InvitationViewedListener implements ShouldQueue $methods = $this->findUserNotificationTypes($invitation, $company_user, $entity_name, ['all_notifications', $entity_viewed]); - if (($key = array_search('mail', $methods)) !== false) { + if (($key = array_search('mail', $methods)) !== false && $notification_not_fired_yet) { unset($methods[$key]); EntityViewedMailer::dispatch($invitation, $entity_name, $company_user->user, $invitation->company); - + $notification_not_fired_yet = false; + } $notification->method = $methods; diff --git a/app/Models/CreditInvitation.php b/app/Models/CreditInvitation.php index 3220a568711f..c1171e752d9a 100644 --- a/app/Models/CreditInvitation.php +++ b/app/Models/CreditInvitation.php @@ -42,37 +42,37 @@ class CreditInvitation extends BaseModel return CreditInvitation::class; } - public function getSignatureDateAttribute($value) - { - if (!$value) { - return (new Carbon($value))->format('Y-m-d'); - } - return $value; - } + // public function getSignatureDateAttribute($value) + // { + // if (!$value) { + // return (new Carbon($value))->format('Y-m-d'); + // } + // return $value; + // } - public function getSentDateAttribute($value) - { - if (!$value) { - return (new Carbon($value))->format('Y-m-d'); - } - return $value; - } + // public function getSentDateAttribute($value) + // { + // if (!$value) { + // return (new Carbon($value))->format('Y-m-d'); + // } + // return $value; + // } - public function getViewedDateAttribute($value) - { - if (!$value) { - return (new Carbon($value))->format('Y-m-d'); - } - return $value; - } + // public function getViewedDateAttribute($value) + // { + // if (!$value) { + // return (new Carbon($value))->format('Y-m-d'); + // } + // return $value; + // } - public function getOpenedDateAttribute($value) - { - if (!$value) { - return (new Carbon($value))->format('Y-m-d'); - } - return $value; - } + // public function getOpenedDateAttribute($value) + // { + // if (!$value) { + // return (new Carbon($value))->format('Y-m-d'); + // } + // return $value; + // } public function entityType() { diff --git a/app/Models/InvoiceInvitation.php b/app/Models/InvoiceInvitation.php index e41a310d13b6..57675418b247 100644 --- a/app/Models/InvoiceInvitation.php +++ b/app/Models/InvoiceInvitation.php @@ -41,37 +41,37 @@ class InvoiceInvitation extends BaseModel return InvoiceInvitation::class; } - public function getSignatureDateAttribute($value) - { - if (!$value) { - return (new Carbon($value))->format('Y-m-d'); - } - return $value; - } + // public function getSignatureDateAttribute($value) + // { + // if (!$value) { + // return (new Carbon($value))->format('Y-m-d'); + // } + // return $value; + // } - public function getSentDateAttribute($value) - { - if (!$value) { - return (new Carbon($value))->format('Y-m-d'); - } - return $value; - } + // public function getSentDateAttribute($value) + // { + // if (!$value) { + // return (new Carbon($value))->format('Y-m-d'); + // } + // return $value; + // } - public function getViewedDateAttribute($value) - { - if (!$value) { - return (new Carbon($value))->format('Y-m-d'); - } - return $value; - } + // public function getViewedDateAttribute($value) + // { + // if (!$value) { + // return (new Carbon($value))->format('Y-m-d'); + // } + // return $value; + // } - public function getOpenedDateAttribute($value) - { - if (!$value) { - return (new Carbon($value))->format('Y-m-d'); - } - return $value; - } + // public function getOpenedDateAttribute($value) + // { + // if (!$value) { + // return (new Carbon($value))->format('Y-m-d'); + // } + // return $value; + // } public function entityType() { @@ -126,10 +126,18 @@ class InvoiceInvitation extends BaseModel public function markViewed() { + info('marking viewed here'); + $this->viewed_date = Carbon::now(); $this->save(); } + public function markOpened() + { + $this->opened_date = Carbon::now(); + $this->save(); + } + public function pdf_file_path() { $storage_path = Storage::url($this->invoice->client->invoice_filepath() . $this->invoice->number . '.pdf'); diff --git a/app/Models/QuoteInvitation.php b/app/Models/QuoteInvitation.php index b8b37cda9227..4558f489943e 100644 --- a/app/Models/QuoteInvitation.php +++ b/app/Models/QuoteInvitation.php @@ -36,37 +36,37 @@ class QuoteInvitation extends BaseModel return QuoteInvitation::class; } - public function getSignatureDateAttribute($value) - { - if (!$value) { - return (new Carbon($value))->format('Y-m-d'); - } - return $value; - } + // public function getSignatureDateAttribute($value) + // { + // if (!$value) { + // return (new Carbon($value))->format('Y-m-d'); + // } + // return $value; + // } - public function getSentDateAttribute($value) - { - if (!$value) { - return (new Carbon($value))->format('Y-m-d'); - } - return $value; - } + // public function getSentDateAttribute($value) + // { + // if (!$value) { + // return (new Carbon($value))->format('Y-m-d'); + // } + // return $value; + // } - public function getViewedDateAttribute($value) - { - if (!$value) { - return (new Carbon($value))->format('Y-m-d'); - } - return $value; - } + // public function getViewedDateAttribute($value) + // { + // if (!$value) { + // return (new Carbon($value))->format('Y-m-d'); + // } + // return $value; + // } - public function getOpenedDateAttribute($value) - { - if (!$value) { - return (new Carbon($value))->format('Y-m-d'); - } - return $value; - } + // public function getOpenedDateAttribute($value) + // { + // if (!$value) { + // return (new Carbon($value))->format('Y-m-d'); + // } + // return $value; + // } public function entityType() {