ajax()) { $data = Ticket::select('*'); // Convert the Eloquent Collection to a regular PHP array $data->each(function ($item, $key) { $item->rowIndex = $key + 1; }); return Datatables::of($data) ->addIndexColumn() ->addColumn('ticket-invoice', function($row){ $text = '

#' . strtoupper(explode('-', $row->id)[0]) . '

'; return $text; }) ->addColumn('title-post', function($row){ $text = '

' . $row->subject . '

Terakhir diperbarui pada ' . $row->updated_at . '

'; return $text; }) ->addColumn('sender', function($row){ return '
' . $row->user->name . '
'; }) ->addColumn('action', function($row){ $view = route('ticket.view', ['id' => $row->id]); $delete = route('ticket.delete', ['id' => $row->id]); $btn = ' '; return $btn; }) ->addColumn('status', function($row){ if ($row->is_status == GlobalEnum::isTicketSellerPending) { return 'Pending'; } elseif($row->is_status == GlobalEnum::isTicketAdminReplied) { return 'Admin Membalas'; } elseif($row->is_status == GlobalEnum::isTicketSellerClosed) { return 'Ditutup'; } elseif($row->is_status == GlobalEnum::isTicketUserReplied) { return 'User Membalas'; } }) ->addColumn('priority', function($row){ if ($row->is_priority == GlobalEnum::isTicketPriorityNormal) { return 'Normal'; } elseif($row->is_priority == GlobalEnum::isTicketPriorityMedium) { return 'Medium'; } elseif($row->is_priority == GlobalEnum::isTicketPriorityHigh) { return 'Tinggi'; } }) ->rawColumns(['ticket-invoice','title-post','action','status','priority','sender']) ->filter(function ($query) use ($request) { if ($request->has('search')) { $search = $request->get('search')['value']; // Apply your search logic here. $query->where('id', 'LIKE', "%$search%"); } }) ->make(true); } $data = [ 'subtitle' => 'Aduan Pelanggaran' ]; return view('admin.app.ticket.index', compact('data')); } public function view($id) { $data = [ 'subtitle' => 'Aduan Tiket #' . explode('-', $id)[0], ]; $ticketResponse = TicketModel::find($id)->responses; return view('admin.app.ticket.detail', compact('data', 'ticketResponse')); } public function update(Request $request, $id) { $validator = Validator::make($request->all(), [ 'message' => 'required', ]); if($validator->fails()) { return redirect()->back()->withErrors($validator->errors()); } $input = $request->all(); $ticket = TicketModel::find($id); if($ticket) { $post = new TicketResponseModel([ 'id' => Str::uuid(), 'id_ticket' => $id, 'user_id' => auth()->user()->id, 'message' => $input['message'] ]); $ticket->is_status = 3; if($post->save() && $ticket->save()) { return redirect()->route('ticket.view', ['id' => $id])->with('swal', swal_alert('success', 'Anda berhasil membalas tiket.')); } else { return redirect()->route('ticket.view', ['id' => $id])->with('swal', swal_alert('error', 'Terjadi kesalahan saat membalas tiket.')); } } } }