diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 370e85a..ea6d985 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -8,39 +8,11 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class LoginController extends Controller { - /* - |-------------------------------------------------------------------------- - | Login Controller - |-------------------------------------------------------------------------- - | - | This controller handles authenticating users for the application and - | redirecting them to your home screen. The controller uses a trait - | to conveniently provide its functionality to your applications. - | - */ use AuthenticatesUsers; - - /** - * Where to redirect users after login. - * - * @var string - */ - protected $redirectTo = '/categorias'; - - /** - * Create a new controller instance. - * - * @return void - */ - public function __construct() - { - $this->middleware('guest')->except('logout'); - $this->middleware('auth')->only('logout'); - } - public function login(Request $request) - { + { + $credentials = $request->validate([ 'email' => 'required|email', @@ -61,7 +33,9 @@ class LoginController extends Controller public function logout(Request $request) { Auth::logout(); + $request->session()->invalidate(); + $request->session()->regenerateToken(); return redirect('/login'); diff --git a/app/Http/Controllers/ProductoController.php b/app/Http/Controllers/ProductoController.php index f9efb5a..7731ec9 100644 --- a/app/Http/Controllers/ProductoController.php +++ b/app/Http/Controllers/ProductoController.php @@ -4,10 +4,68 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Producto; +use App\Models\Categorias; +use App\Models\CodigoBarras; class ProductoController extends Controller { public function index(Request $request){ $productos = Producto::with('categorias','codigo_barras')->get(); return view('productos.index', ["productos"=>$productos]); } + public function show($id){ + + $producto = Producto::with('categorias','codigo_barras')->findOrfail($id); + return view('productos.show', ["prod"=>$producto]); + } + + public function destroy(Request $request, $id){ + $producto = Producto::findOrfail($id); + $producto->delete(); + $request->session()->flash('mensaje-success', 'El producto fue eliminado.'); + return redirect('/productos'); + } + + + public function create(){ + $categorias= Categorias::get(); + return view('productos.new',["categorias"=>$categorias]); + } + + public function store(Request $request){ + + $codigo_barras= new CodigoBarras(); + $codigo_barras->fill([ + 'codigo' => $request->input('codigo_barras'), + ]); + $codigo_barras->save(); + + $producto = new Producto(); + $producto->fill([ + 'nombre' => $request->input('nombre'), + 'descripcion' => $request->input('descripcion'), + 'precio' => $request->input('precio'), + 'categoria_id' => $request->input('categoria'), + 'codigo_barras_id' => $codigo_barras->id_codigo_barras, + ]); + $producto->save(); + $request->session()->flash('mensaje-success', 'El producto fue agregado.'); + return redirect('/productos'); + } + + public function edit($id){ + $producto = Producto::findOrfail($id); + return view('productos.edit', ["prod"=>$producto]); + } + + public function update(Request $request, $id){ + $producto = Producto::findOrfail($id); + $producto->fill([ + 'nombre' => $request->input('nombre'), + 'descripcion' => $request->input('descripcion'), + 'precio' => $request->input('precio'), + ]); + $producto->update(); + $request->session()->flash('mensaje-success', 'El producto fue modificado.'); + return redirect('/productos'); + } } diff --git a/resources/views/productos/edit.blade.php b/resources/views/productos/edit.blade.php new file mode 100644 index 0000000..0bb37dc --- /dev/null +++ b/resources/views/productos/edit.blade.php @@ -0,0 +1,68 @@ +@extends('layouts.admin') +@section('contenido') + + +
+ +
+

Editar Producto

+
+
+
+
+ + @include('compartido.mensajes') + @include('compartido.errores') +
+
+
+ + +
+ @csrf + @method('PUT') + + +
+ +
+ + + +
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + Salir +
+
+
+ +@endsection + +@push('scripts') + +@endpush diff --git a/resources/views/productos/index.blade.php b/resources/views/productos/index.blade.php index 22664ed..89073d5 100644 --- a/resources/views/productos/index.blade.php +++ b/resources/views/productos/index.blade.php @@ -1,15 +1,9 @@ @extends('layouts.admin') @section('contenido') -
- +

Listado de Productos

@@ -17,11 +11,8 @@
- - Nuevo @@ -34,17 +25,14 @@
- + @include('compartido.mensajes') @include('compartido.errores') - +
- + @@ -72,21 +60,21 @@ @csrf @method('DELETE') - + - + - + + +
+ + Salir +
+ + + +@endsection +@push('styles') + +@endpush + +@push('scripts') + + +@endpush diff --git a/resources/views/productos/show.blade.php b/resources/views/productos/show.blade.php new file mode 100644 index 0000000..b1a2e5b --- /dev/null +++ b/resources/views/productos/show.blade.php @@ -0,0 +1,46 @@ +@extends('layouts.admin') +@section ('contenido') +
+
+

Ver Producto

+
+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+ +
+
+ +
+ + + +
+
+ + + +
+
+ + +
+
+ Salir +
+
+ +@endsection \ No newline at end of file