Code Duplication    Length = 4-4 lines in 4 locations

src/Controllers/TicketController.php 4 locations

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