Файловый менеджер - Редактировать - /home/clickysoft/public_html/assets.clickysoft.net/app/Repositories/TicketsRepository.php
Назад
<?php namespace App\Repositories; use App\Models\Ticket; use DB; use Exception; use Illuminate\Http\Request; use Storage; use Symfony\Component\HttpFoundation\Response; class TicketsRepository implements TicketsRepositoryInterface { public function getAllTickets(Request $request) { $tickets = Ticket::with(['user', 'assignedTo']) ->withCount('replies') ->orderBy("id", "desc"); if ($request->filled('search')) { $tickets = Ticket::where("subject", "like", "%" . $request->get("search") . "%") ->orWhere("message", "like", "%" . $request->get("search") . "%") ->orWhere("priority", "like", "%" . $request->get("search") . "%") ->orWhere("status", "like", "%" . $request->get("search") . "%"); $tickets = $tickets->orWhereHas('user', function ($q) use ($request) { $q->where('first_name', 'like', "%$request->search%")->orWhere('last_name', 'like', "%$request->search%"); }); $tickets = $tickets->orWhereHas('assignedTo', function ($q) use ($request) { $q->where('first_name', 'like', "%$request->search%")->orWhere('last_name', 'like', "%$request->search%"); }); } if (!auth()->user()->is_org_admin) { $tickets = $tickets->where('user_id', auth()->id()) ->orWhere('assigned_to', auth()->id()); } return $tickets->paginate(50); } public function getTicket($ticketId) { return Ticket::find($ticketId); } public function storeTicket(Request $request) { $request->merge(['user_id' => auth()->id()]); $ticket = Ticket::create($request->all()); if ($request->file('attachment')) { $ticket->attachment = $request->file('attachment')->store('tickets'); $ticket->save(); } return $ticket; } public function updateTicket(Request $request, Ticket $ticket) { if ($request->file('attachment')) { if ($ticket->attachment) { Storage::delete($ticket->attachment); } $ticket->attachment = $request->file('attachment')->store('tickets'); $ticket->save(); } $ticket->update($request->all()); return $ticket; } public function destroyTicket(Ticket $ticket) { if ($ticket->attachment) { Storage::delete($ticket->attachment); } $ticket->delete(); } public function massDestroyTickets($ids) { try { DB::beginTransaction(); $tickets = Ticket::whereIn("id", $ids)->get(); foreach ($tickets as $ticket) { if ($ticket->attachment) { Storage::delete($ticket->attachment); } $ticket->delete(); } DB::commit(); return response(null, Response::HTTP_NO_CONTENT); } catch (Exception $error) { DB::rollBack(); return response(["message" => "Could not delete tickets"], Response::HTTP_INTERNAL_SERVER_ERROR); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0.01 |
proxy
|
phpinfo
|
Настройка