public function show(Ticket $Ticket, $id, Request $request) { $ticket = Ticket::where('student_id', student()->id)->with('replies', 'replies.student', 'replies.user')->findOrFail($id); $departments = TicketDepartment::withDepth()->get(); $options = [NULL => NULL]; foreach ($departments as $department) { $options[$department->id] = str_repeat("----", $department->depth) . $department->name; } foreach ($ticket->replies as $reply) { if (!empty($reply->user_id)) { $reply->seen = 1; $reply->save(); } } if ($request->ajax()) { return response()->json(['total' => $ticket->replies->count(), 'view' => view('students::tickets._show_list', compact('ticket'))->render()]); } return view('students::tickets.show', compact('ticket', 'options')); }
public function show(Ticket $tickets, Request $request) { $ticket = $tickets; $ticket->load('replies', 'replies.files', 'replies.student', 'replies.user', 'history'); $seen = false; $ticket->replies->each(function ($reply) use(&$seen) { if ($reply->owner_type == 'students' && $reply->seen == 0) { $seen = true; $reply->seen = 1; $reply->save(); } }); if ($seen) { event(new UserSeenTicket($ticket->id, $ticket->student_id)); } $tickets = Ticket::where('student_id', $ticket->student_id)->pluck('subject', 'id'); if ($request->ajax()) { return response()->json(['total' => $ticket->replies->count(), 'view' => view('tickets::tickets._replies', compact('ticket'))->render()]); } $options = []; $departments = TicketDepartment::withDepth()->defaultOrder()->orderBy('parent_id', 'ASC')->get(); foreach ($departments as $department) { $options[$department->id] = str_repeat("----", $department->depth) . $department->name; } return view('tickets::tickets.show', compact('ticket', 'tickets', 'options')); }