Store silent in session to prevent entities being viewed by admins

This commit is contained in:
David Bomba 2022-06-10 13:03:05 +10:00
parent c285e26302
commit 7885813c1a
4 changed files with 11 additions and 5 deletions

View File

@ -154,9 +154,11 @@ class EntityViewController extends Controller
if (! $invitation->viewed_date) {
$invitation->markViewed();
event(new InvitationWasViewed($invitation->{$request->entity_type}, $invitation, $invitation->{$request->entity_type}->company, Ninja::eventVars()));
if(!session()->get('is_silent'))
event(new InvitationWasViewed($invitation->{$request->entity_type}, $invitation, $invitation->{$request->entity_type}->company, Ninja::eventVars()));
$this->fireEntityViewedEvent($invitation, $request->entity_type);
if(!session()->get('is_silent'))
$this->fireEntityViewedEvent($invitation, $request->entity_type);
}
return redirect()->route('client.'.$request->entity_type.'.show', [$request->entity_type => $this->encodePrimaryKey($invitation->{$key})]);

View File

@ -129,9 +129,11 @@ class InvitationController extends Controller
if (auth()->guard('contact')->user() && ! request()->has('silent') && ! $invitation->viewed_date) {
$invitation->markViewed();
event(new InvitationWasViewed($invitation->{$entity}, $invitation, $invitation->{$entity}->company, Ninja::eventVars()));
if(!session()->get('is_silent'))
event(new InvitationWasViewed($invitation->{$entity}, $invitation, $invitation->{$entity}->company, Ninja::eventVars()));
$this->fireEntityViewedEvent($invitation, $entity);
if(!session()->get('is_silent'))
$this->fireEntityViewedEvent($invitation, $entity);
}
else{
$is_silent = 'true';

View File

@ -61,7 +61,7 @@ class InvoiceController extends Controller
$invitation = $invoice->invitations()->where('client_contact_id', auth()->guard('contact')->user()->id)->first();
if ($invitation && auth()->guard('contact') && ! request()->has('silent') && ! $invitation->viewed_date) {
if ($invitation && auth()->guard('contact') && !session()->get('is_silent') && ! $invitation->viewed_date) {
$invitation->markViewed();

View File

@ -60,6 +60,8 @@ class CheckClientExistence
session()->put('multiple_contacts', $multiple_contacts);
session()->put('is_silent', request()->has('silent'));
return $next($request);
}
}