Code Duplication    Length = 4-4 lines in 4 locations

src/Controllers/TicketControllable.php 4 locations

@@ 172-175 (lines=4) @@
169
     */
170
    public function show(Ticket $ticket)
171
    {
172
        if (! $ticket->user()->get()->contains(\request()->user()) &&
173
            ! request()->user()->can(config('laravel-tickets.permissions.all-ticket'))) {
174
            return abort(403);
175
        }
176
177
        $messages = $ticket->messages()->with('uploads')->orderBy('created_at', 'desc')->paginate(4);
178
@@ 203-206 (lines=4) @@
200
     */
201
    public function message(Request $request, Ticket $ticket)
202
    {
203
        if (! $ticket->user()->get()->contains(\request()->user()) &&
204
            ! request()->user()->can(config('laravel-tickets.permissions.all-ticket'))) {
205
            return abort(403);
206
        }
207
208
        if (! config('laravel-tickets.open-ticket-with-answer') && $ticket->state === 'CLOSED') {
209
            $message = trans('You cannot reply to a closed ticket');
@@ 258-261 (lines=4) @@
255
     */
256
    public function close(Ticket $ticket)
257
    {
258
        if (! $ticket->user()->get()->contains(\request()->user()) &&
259
            ! request()->user()->can(config('laravel-tickets.permissions.all-ticket'))) {
260
            return abort(403);
261
        }
262
        if ($ticket->state === 'CLOSED') {
263
            $message = trans('The ticket is already closed');
264
            return \request()->wantsJson() ?
@@ 294-297 (lines=4) @@
291
     */
292
    public function download(Ticket $ticket, TicketUpload $ticketUpload)
293
    {
294
        if (! $ticket->user()->get()->contains(\request()->user()) &&
295
            ! request()->user()->can(config('laravel-tickets.permissions.all-ticket'))) {
296
            return abort(403);
297
        }
298
299
        $storagePath = storage_path('app/' . $ticketUpload->path);
300
        if (config('laravel-tickets.pdf-force-preview') && pathinfo($ticketUpload->path, PATHINFO_EXTENSION) === 'pdf') {