Current File : /home/exataengenharia/public_html/app/Http/Controllers/UsuarioController.php |
<?php
namespace App\Http\Controllers;
use App\Models\Information;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;
class UsuarioController extends Controller
{
public function index(Request $request)
{
$informations = Information::all();
return view('usuarios.index', ['informations' => $informations]);
}
public function create()
{
return view('usuarios.create');
}
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'residence' => 'required',
'monthly_generation' => 'required',
'annual_savings' => 'required',
]);
if ($validator->fails()) {
return redirect()->back()
->withErrors($validator)
->withInput();
}
$informations = new Information();
$informations->residence = $request->input('residence');
$informations->monthly_generation = $request->input('monthly_generation');
$informations->annual_savings = $request->input('annual_savings');
if ($request->hasFile('path')) {
$file = $request->file('path');
$filename = $file->getClientOriginalName();
$file->storePubliclyAs('public', $filename);
$informations->path = $filename;
$informations->save();
}
$informations->save();
return redirect()->route('create');
}
public function edit()
{
$informations = Information::all();
return view('usuarios.edit', ['informations' => $informations]);
}
public function update(Request $request, $id)
{
$validator = Validator::make($request->all(), [
'residence' => 'required',
'monthly_generation' => 'required',
'annual_savings' => 'required',
]);
if ($validator->fails()) {
return redirect()->back()
->withErrors($validator)
->withInput();
}
$information = Information::findOrFail($id);
$information->residence = $request->input('residence');
$information->monthly_generation = $request->input('monthly_generation');
$information->annual_savings = $request->input('annual_savings');
if ($request->hasFile('path')) {
$file = $request->file('path');
$filename = $file->getClientOriginalName();
$file->storePubliclyAs('public', $filename);
$information->path = $filename;
}
$information->save();
return redirect()->back();
}
public function destroy($id)
{
$information = Information::findOrFail($id);
$information->delete();
return redirect()->back();
}
}