Agregue middleware a productos Destroy y Edit. Y cambios en la vista de stock.

This commit is contained in:
2026-04-10 16:15:01 -03:00
parent cf0b40d79e
commit 00247399a4
4 changed files with 176 additions and 87 deletions
+23 -13
View File
@@ -16,41 +16,51 @@ use App\Models\Product;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
Route::get('/',HomeController::class);
// Route::get('/catalogo', [CatalogoController::class,'catalogo'])->name('catalogo');
// --- RUTAS PÚBLICAS (Cualquiera accede) ---
Route::get('/', HomeController::class);
Route::resource('catalogo', CatalogoController::class)->only(['index', 'show'])->parameters(['catalogo' => 'product']);
Route::get('login', function(){ return view('login'); })->name('login');
Route::post('login', LoginController::class)->middleware('throttle:5,1')->name('login.attempt');
Route::view('register', 'register')->name('register');
Route::post('register', RegisterController::class)->name('register.store');
Route::post('logout', function(){
Auth::guard('web')->logout();
Session::invalidate();
Session::regenerateToken();
return redirect('/');
})->name('logout');
// --- RUTAS PROTEGIDAS (Requieren Login) ---
Route::middleware(['auth'])->group(function () {
Route::view('dashboard', 'dashboard')->name('dashboard');
Route::resource('clients', ClientController::class);
Route::resource('productos', ProductosController::class)->parameters([
'productos' => 'product'
]);
Route::resource('sales', SaleController::class)->only(['index', 'create', 'store', 'show']);
// Rutas de Taller
Route::get('/agenda', [AgendaController::class, 'index'])->name('agenda');
Route::get('/appointments/{appointment}', [AppointmentController::class, 'show'])->name('appointments.show');
// Taller
Route::controller(TallerController::class)->prefix('taller')->name('taller.')->group(function () {
Route::get('/', 'index')->name('index');
Route::get('/create', 'create')->name('create');
Route::post('/', 'store')->name('store');
Route::patch('/{appointment}/status', 'updateStatus')->name('updateStatus');
});
Route::get('/agenda', [AgendaController::class, 'index'])->name('agenda');
Route::get('/appointments/{appointment}', [AppointmentController::class, 'show'])
->name('appointments.show');
// Productos: Rutas de lectura para cualquier usuario logueado
Route::resource('productos', ProductosController::class)
->only(['index', 'show'])
->parameters(['productos' => 'product']);
// --- RUTAS DE ADMINISTRADOR (Solo Admin) ---
Route::middleware(['admin'])->group(function () {
// Solo el admin puede crear, editar o borrar productos
Route::resource('productos', ProductosController::class)
->only(['create', 'store', 'edit', 'update', 'destroy'])
->parameters(['productos' => 'product']);
// Si tienes más cosas de admin (ej: reportes), van aquí
});
});