HEX
Server: LiteSpeed
System: Linux sv4.hami.host 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: armgroup (1008)
PHP: 8.2.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, mail, socket_create, socket_create_listen, socket_create_pair, link, dl, openlog, syslog, stream_socket_server, curl_multi_init
Upload Files
File: /home/armgroup/libs/app/Http/Controllers/Admin/TicketController.php
<?php

namespace App\Http\Controllers\Admin;

use App\DataTables\TicketsDataTable;
use App\Enums\TicketStatus;
use App\Http\Controllers\Controller;
use App\Models\Ticket;
use BenSampo\Enum\Rules\EnumValue;
use Illuminate\Http\Request;

class TicketController extends Controller
{
    public function __construct()
    {
        $this->middleware('permission:manage tickets');
    }

    public function index(TicketsDataTable $dataTable)
    {
        return $dataTable->render('admin.tickets.index');
    }

    public function create()
    {
        return view('admin.tickets.create');
    }

    public function edit(Ticket $ticket)
    {
        $ticket->load('messages', 'messages.attachments', 'user', 'messages.user', 'messages.user.roles');

        return view('admin.tickets.edit', compact('ticket'));
    }

    public function update(Ticket $ticket, Request $request)
    {
        $request->validate([
            'status' => ['required', new EnumValue(TicketStatus::class, false)],
        ]);
        $ticket->update(['status' => $request->status]);
        saveActivity("وضعیت تیکت {$ticket->slug} ویرایش شد", $ticket);
        $this->doneMessage("وضعیت تیکت {$ticket->slug} با موفقیت ویرایش شد");

        return back();

    }

    public function destroy(Ticket $ticket)
    {
        $ticket->delete();
        saveActivity("تیکت {$ticket->slug} حذف شد", $ticket);
        $this->doneMessage("تیکت {$ticket->slug} با موفقیت حذف شد");

        return back();
    }
}