Exemplo n.º 1
0
 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'));
 }
Exemplo n.º 2
0
 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'));
 }