delete(); return redirect()->back()->with('success', 'server has been removed!'); } /** * @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', 'egg']); 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 '' . $server->name . ''; }) ->rawColumns(['user', 'actions', 'status', 'name']) ->make(); } }