get(); return view('servers.create', ['datastores_pcc' => $datastores_pcc]); } /** * Store a newly created resource in storage. * * @param \App\Http\Requests\Servers\StoreServerRequest $request * @return \Illuminate\Http\Response */ public function store(StoreServerRequest $request) { $server = new Server(); $server->fill($request->validated()); $this->makeChanges($request, $server); if ($server->saveOrFail()) { return redirect()->route('servers.edit', compact('servers')) ->with('success', trans('Server créé.')); } return \back(); } /** * Show the form for editing the specified resource. * * @param \App\Models\Server $server * @return \Illuminate\Http\Response */ public function edit(Server $server) { $datastores_pcc = DatastorePcc::orderBy('title')->get(); return view('servers.edit', ['server' => $server, 'datastores_pcc' => $datastores_pcc]); } /** * Update the specified resource in storage. * * @param \App\Http\Requests\Servers\UpdateServerRequest $request * @param \App\Models\Server $server * @return \Illuminate\Http\Response */ public function update(UpdateServerRequest $request, Server $server) { $server->fill($request->validated()); if ($server->saveOrFail()) { return redirect()->route('servers.edit', compact('server')) ->with('success', trans('Server mis à jour.')); } return \back(); } /** * Remove the specified resource from storage. * * @param \App\Models\Server $server * @return \Illuminate\Http\Response */ public function destroy(Server $server) { $isUsed = false; if ($server->type === 'DB' || $server->type === 'WEB') { $projects = Project::where('dev_db_server_id', '=', $server->id) ->orWhere('dev_web_server_id', '=', $server->id) ->orWhere('prod_db_server_id', '=', $server->id) ->orWhere('prod_web_server_id', '=', $server->id) ->get(); $isUsed = $projects->count() ? $projects : false; } return view('servers.delete', ['server' => $server, 'isUsed' => $isUsed]); } /** * Remove the specified resource from storage. * * @param \App\Http\Requests\ValidateOtpRequest $request * @param \App\Models\Server $server * @return \Illuminate\Http\Response * @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed */ public function destroySubmit(ValidateOtpRequest $request, Server $server) { // phpcs:enable if ($server->deleteOrFail()) { return redirect()->route('servers.index') ->with('warning', 'Server supprimée !'); } return back(); } }