id == $event->user_id) { return true; } else { $testedUser = $event->guests()->where('users.id', $user->id)->first(); if ($testedUser !== null) { if($testedUser->pivot->is_staff) { return $testedUser->pivot->is_staff; } else if (!$event->private) { return true; } } } return false; } /** * Determine whether the user can delete the model. * * @param User $user * @param Event $event * @return mixed */ public function delete(User $user, Event $event) { return $user->id == $event->user_id; } /** * Determine whether the user can restore the model. * * @param User $user * @param Event $event * @return mixed */ public function restore(User $user, Event $event) { return false; } /** * Determine whether the user can permanently delete the model. * * @param User $user * @param Event $event * @return mixed */ public function forceDelete(User $user, Event $event) { return false; } /** * Determine whether the guest can permanently delete invitation. * * @param User $user * @param Event $event * @return mixed */ public function participation(User $user, Event $event) { $testedUser = $event->guests()->where('users.id', $user->id)->first(); if ($testedUser !== null) { return true; } return false; } }