diff --git a/app/Http/Controllers/Bo/TicketController.php b/app/Http/Controllers/Bo/TicketController.php index 49e13ba..e3b891b 100644 --- a/app/Http/Controllers/Bo/TicketController.php +++ b/app/Http/Controllers/Bo/TicketController.php @@ -150,13 +150,10 @@ class TicketController extends Controller abort(403); } - $linkedTicket = $ticket->linkedTicket()->get(); - $messages = $ticket->messages()->orderBy('created_at', 'DESC')->get(); $isSubscribed = (bool)$ticket->subscriptions()->where('user_id', $user->id)->count(); return view('bo.pages.tickets.show', [ 'ticket' => $ticket, - 'linkedTicket' => $linkedTicket, 'messages' => $messages, 'isSubscribed' => $isSubscribed ]); diff --git a/app/Http/Requests/Bo/LinkTicket.php b/app/Http/Requests/Bo/LinkTicket.php index 3ce7d4e..cc8624b 100644 --- a/app/Http/Requests/Bo/LinkTicket.php +++ b/app/Http/Requests/Bo/LinkTicket.php @@ -3,6 +3,7 @@ namespace App\Http\Requests\Bo; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Support\Facades\Auth; class LinkTicket extends FormRequest { @@ -13,7 +14,9 @@ class LinkTicket extends FormRequest */ public function authorize(): bool { - return auth()->check(); + /** @var \App\Models\User|null $user */ + $user = Auth::user(); + return Auth::check() && $user->isAdmin(); } /** diff --git a/app/Models/Ticket.php b/app/Models/Ticket.php index c56977d..5eda697 100644 --- a/app/Models/Ticket.php +++ b/app/Models/Ticket.php @@ -198,7 +198,7 @@ class Ticket extends Model * * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany */ - public function linkedTicket() + public function linkedTickets() { return $this->belongsToMany(Ticket::class, 'linked_tickets', 'ticket_id', 'linked_ticket_id'); } diff --git a/resources/views/bo/pages/tickets/show.blade.php b/resources/views/bo/pages/tickets/show.blade.php index 1fb8fb8..8f61f7a 100644 --- a/resources/views/bo/pages/tickets/show.blade.php +++ b/resources/views/bo/pages/tickets/show.blade.php @@ -279,6 +279,10 @@ @endforeach @endif + @php + $linkedTickets = $ticket->linkedTickets; + @endphp + @if (!$linkedTickets->isEmpty() or auth()->user()->can('linkTicket', $ticket))
@@ -299,7 +303,7 @@
@endcan
- @foreach ($linkedTicket as $linked) + @foreach ($linkedTickets as $linked)
@can('linkTicket', $ticket)
+ @endif

@can('createGitlabIssue', $ticket)