PHP 8.2.30
Preview: TicketController.php Size: 1.91 KB
/home/byroehnu/easetack.com/app/Http/Controllers/Frontend/TicketController.php

<?php

namespace App\Http\Controllers\Frontend;

use App\Http\Controllers\Controller;
use App\Http\Requests\Frontend\Ticket\TicketReplyStoreRequest;
use App\Http\Requests\Frontend\Ticket\TicketStoreRequest;
use App\Models\Ticket;
use App\Repositories\Frontend\TicketRepository;
use Illuminate\Http\RedirectResponse;
use Illuminate\Support\Facades\Lang;
use Inertia\Inertia;
use Inertia\Response;

class TicketController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function index(TicketRepository $repository): Response
    {
        $data['tickets'] = $repository->paginateSearchResult();

        return Inertia::render('User/Tickets/Index', $data);
    }

    /**
     * Show the form for creating a new resource.
     */
    public function create(): Response
    {
        return Inertia::render('User/Tickets/Create');
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(TicketStoreRequest $request, TicketRepository $repository): RedirectResponse
    {
        $repository->create($request);

        return redirect()->back()->with('success', Lang::get('Ticket Successfully Created'));
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function reply(Ticket $ticket): Response
    {
        $data['ticket'] = $ticket->load([
            'user',
            'replies.user' => function ($query) {
                $query->orderBy('created_at', 'desc');
            },
        ]);

        return Inertia::render('User/Tickets/Reply', $data);
    }

    /**
     * Store a newly created resource in storage.
     */
    public function submitReply(TicketReplyStoreRequest $request, Ticket $ticket, TicketRepository $repository): RedirectResponse
    {
        $repository->createReply($request, $ticket);

        return redirect()->back()->with('success', Lang::get('Ticket reply successfully send to admin'));
    }
}

Directory Contents

Dirs: 0 × Files: 19

Name Size Perms Modified Actions
2.51 KB lrw-rw-rw- 2025-04-26 11:30:31
Edit Download
2.26 KB lrw-rw-rw- 2025-05-08 11:48:26
Edit Download
3.24 KB lrw-rw-rw- 2025-05-15 11:24:11
Edit Download
551 B lrw-rw-rw- 2025-04-19 04:22:18
Edit Download
1.72 KB lrw-rw-rw- 2025-05-08 11:48:26
Edit Download
5.96 KB lrw-rw-rw- 2025-05-08 11:48:26
Edit Download
4.00 KB lrw-rw-rw- 2025-05-15 11:24:11
Edit Download
2.63 KB lrw-rw-rw- 2025-05-08 11:48:26
Edit Download
3.47 KB lrw-rw-rw- 2025-05-08 11:48:26
Edit Download
2.29 KB lrw-rw-rw- 2025-05-08 11:48:26
Edit Download
1.63 KB lrw-rw-rw- 2025-04-15 10:33:57
Edit Download
2.00 KB lrw-rw-rw- 2025-05-08 11:48:26
Edit Download
1.44 KB lrw-rw-rw- 2025-04-19 04:22:18
Edit Download
2.13 KB lrw-rw-rw- 2025-05-08 11:48:26
Edit Download
408 B lrw-rw-rw- 2025-04-19 04:22:18
Edit Download
532 B lrw-rw-rw- 2025-04-08 04:12:56
Edit Download
2.09 KB lrw-rw-rw- 2025-04-30 16:51:31
Edit Download
1.91 KB lrw-rw-rw- 2025-04-13 07:02:31
Edit Download
2.96 KB lrw-rw-rw- 2025-05-08 11:48:26
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).