with([ 'server' => $server ]); } /** * Update the specified resource in storage. * * @param Request $request * @param Server $server * @return Response */ public function update(Request $request, Server $server) { $request->validate([ "identifier" => "required|string", ]); $server->update($request->all()); return redirect()->route('admin.servers.index')->with('success', 'Server updated!'); } /** * Remove the specified resource from storage. * * @param Server $server * @return RedirectResponse|Response */ public function destroy(Server $server) { try { $server->delete(); return redirect()->route('admin.servers.index')->with('success', __('Server removed')); } catch (Exception $e) { return redirect()->route('admin.servers.index')->with('error', __('An exception has occurred while trying to remove a resource "') . $e->getMessage() . '"'); } } /** * @param Server $server * @return RedirectResponse */ public function toggleSuspended(Server $server) { try { $server->isSuspended() ? $server->unSuspend() : $server->suspend(); } catch (Exception $exception) { return redirect()->back()->with('error', $exception->getMessage()); } return redirect()->back()->with('success', __('Server has been updated!')); } /** * @return JsonResponse|mixed * @throws Exception */ public function dataTable(Request $request) { $query = Server::with(['user', 'product']); if ($request->has('product')) $query->where('product_id', '=', $request->input('product')); if ($request->has('user')) $query->where('user_id', '=', $request->input('user')); $query->select('servers.*'); return datatables($query) ->addColumn('user', function (Server $server) { return '' . $server->user->name . ''; }) ->addColumn('resources', function (Server $server) { return $server->product->description; }) ->addColumn('actions', function (Server $server) { $suspendColor = $server->isSuspended() ? "btn-success" : "btn-warning"; $suspendIcon = $server->isSuspended() ? "fa-play-circle" : "fa-pause-circle"; $suspendText = $server->isSuspended() ? __("Unsuspend") : __("Suspend"); return '
' . csrf_field() . '
' . csrf_field() . ' ' . method_field("DELETE") . '
'; }) ->addColumn('status', function (Server $server) { $labelColor = $server->isSuspended() ? 'text-danger' : 'text-success'; return ''; }) ->editColumn('created_at', function (Server $server) { return $server->created_at ? $server->created_at->diffForHumans() : ''; }) ->editColumn('suspended', function (Server $server) { return $server->suspended ? $server->suspended->diffForHumans() : ''; }) ->editColumn('name', function (Server $server) { return 'pterodactyl_id . '">' . strip_tags($server->name) . ''; }) ->rawColumns(['user', 'actions', 'status', 'name']) ->make(); } }