File: /home/armgroup/libs/app/Http/Controllers/Account/TicketController.php
<?php
namespace App\Http\Controllers\Account;
use App\Enums\TicketStatus;
use App\Http\Controllers\Controller;
use App\Models\Ticket;
use Artesaos\SEOTools\Facades\SEOTools;
class TicketController extends Controller
{
public function index()
{
SEOTools::setTitle('پنل کاربری');
$tickets = Ticket::where('user_id', auth()->id())->latest('updated_at')->paginate($this->pageLimit);
return view('account.tickets.index', compact('tickets'));
}
public function create()
{
SEOTools::setTitle('پنل کاربری');
return view('account.tickets.create');
}
public function edit(Ticket $ticket)
{
abort_unless($ticket->user_id == auth()->id(), 403);
SEOTools::setTitle('پنل کاربری');
$ticket->load('messages', 'messages.attachments', 'user', 'messages.user', 'messages.user.roles');
return view('account.tickets.edit', compact('ticket'));
}
public function update(Ticket $ticket)
{
abort_unless($ticket->user_id == auth()->id(), 403);
$ticket->update(['status' => TicketStatus::CLOSED]);
$this->doneMessage();
return redirect()->route('account.tickets.index');
}
}