Updated the helpdesk module

This commit is contained in:
Mark Gregory
2026-06-14 14:11:31 +01:00
parent 1c9ed1a537
commit de458cc010
9 changed files with 423 additions and 333 deletions
+19 -6
View File
@@ -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;
}
}