Updated the helpdesk module
This commit is contained in:
@@ -16,8 +16,8 @@ final class TicketPolicy
|
||||
|
||||
public function view(User $user, Ticket $ticket): bool
|
||||
{
|
||||
return (bool) ($user->helpdesk_admin ?? false)
|
||||
|| (bool) ($user->helpdesk_agent ?? false) && ((int) $ticket->agent_id === (int) $user->id || (int) $ticket->user_id === (int) $user->id)
|
||||
return $this->isPrivileged($user)
|
||||
|| ((bool) ($user->helpdesk_agent ?? false) && ((int) $ticket->agent_id === (int) $user->id || (int) $ticket->user_id === (int) $user->id))
|
||||
|| (int) $ticket->user_id === (int) $user->id;
|
||||
}
|
||||
|
||||
@@ -28,9 +28,9 @@ final class TicketPolicy
|
||||
|
||||
public function update(User $user, Ticket $ticket): bool
|
||||
{
|
||||
return (bool) ($user->helpdesk_admin ?? false)
|
||||
|| (bool) ($user->helpdesk_agent ?? false)
|
||||
|| (int) $ticket->agent_id === (int) $user->id;
|
||||
return $this->isPrivileged($user)
|
||||
|| (int) $ticket->agent_id === (int) $user->id
|
||||
|| (int) $ticket->user_id === (int) $user->id;
|
||||
}
|
||||
|
||||
public function comment(User $user, Ticket $ticket): bool
|
||||
@@ -40,6 +40,19 @@ final class TicketPolicy
|
||||
|
||||
public function delete(User $user, Ticket $ticket): bool
|
||||
{
|
||||
return (bool) ($user->helpdesk_admin ?? false);
|
||||
return $this->isPrivileged($user);
|
||||
}
|
||||
|
||||
private function isPrivileged(User $user): bool
|
||||
{
|
||||
if ((bool) ($user->helpdesk_admin ?? false)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (method_exists($user, 'isMpbaPlatformAdmin') && $user->isMpbaPlatformAdmin()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user