Actualizacion

This commit is contained in:
Marcos Elias Rios Nuñez 2025-09-26 11:02:01 -03:00
parent 2679a3ba6f
commit 64b99c9194
2 changed files with 69 additions and 11 deletions

View File

@ -0,0 +1,58 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
class ProductoController extends Controller
{
/**
* Aplica el middleware a métodos específicos.
*/
public function __construct()
{
// Aplica el middleware 'auth' a todos los métodos del controlador,
// excepto al que muestra la lista de productos y el detalle.
$this->middleware('auth')->except(['index', 'mostrar']);
// Aplica el middleware 'can:administrar-productos' solo a los
// métodos que modifican los datos.
$this->middleware('can:administrar-productos')->only(['crear', 'guardar', 'editar', 'actualizar', 'eliminar']);
}
public function index()
{
// Muestra la lista de productos al público.
}
public function mostrar($id)
{
// Muestra los detalles de un producto al público.
}
public function crear()
{
// Muestra el formulario para crear un producto.
}
public function guardar(Request $request)
{
// Guarda el nuevo producto en la base de datos.
}
public function editar($id)
{
// Muestra el formulario para editar un producto.
}
public function actualizar(Request $request, $id)
{
// Actualiza el producto en la base de datos.
}
public function eliminar($id)
{
// Elimina el producto de la base de datos.
}
}

View File

@ -3,16 +3,16 @@
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\CatalogoController;
// Route::get('/', function () {
// return view('welcome');
// });
use App\Http\Controllers\ProductoController;
// Route::get('/{dni}', function ($dni) {
// return view('home',['dni'=>$dni]);
// });
// Se aplica el middleware a todas las rutas dentro del grupo.
Route::middleware(['auth', 'can:administrar-productos'])->group(function () {
Route::get('/catalogo/productos/crear', [ProductoController::class, 'crear']);
Route::post('/catalogo/productos', [ProductoController::class, 'guardar']);
Route::get('/catalogo/productos/{id}/editar', [ProductoController::class, 'editar']);
Route::put('/catalogo/productos/{id}', [ProductoController::class, 'actualizar']);
Route::delete('/catalogo/productos/{id}', [ProductoController::class, 'eliminar']);
});
// Ruta para ver el catálogo.
Route::get('/catalogo', [CatalogoController::class, 'mostrarCatalogo'])->name('catalogo.mostrar');
// Ruta para ver el formulario de creación.
Route::get('/catalogo/crear', [CatalogoController::class, 'crear'])->name('catalogo.crear');
// Esta ruta es pública, no requiere middleware.
Route::get('/catalogo', [CatalogoController::class, 'index']);