CambiosRevision

This commit is contained in:
2026-05-27 10:24:47 -03:00
30 changed files with 867 additions and 229 deletions
+21 -14
View File
@@ -13,6 +13,8 @@ use App\Http\Controllers\TallerController;
use App\Http\Controllers\AgendaController;
use App\Http\Controllers\AppointmentController;
use App\Http\Controllers\SupplierController;
use App\Http\Controllers\PasswordResetLinkController;
use App\Http\Controllers\NewPasswordController;
use App\Models\Product;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
@@ -23,6 +25,21 @@ Route::resource('catalogo', CatalogoController::class)->only(['index', 'show'])-
Route::get('login', function(){ return view('login'); })->name('login');
Route::post('login', LoginController::class)->middleware('throttle:5,1')->name('login.attempt');
Route::middleware('guest')->group(function () {
Route::get('forgot-password', [PasswordResetLinkController::class, 'create'])
->name('password.request');
Route::post('forgot-password', [PasswordResetLinkController::class, 'store'])
->name('password.email');
Route::get('reset-password/{token}', [NewPasswordController::class, 'create'])
->name('password.reset');
Route::post('reset-password', [NewPasswordController::class, 'store'])
->name('password.store');
});
Route::view('register', 'register')->name('register');
Route::post('register', RegisterController::class)->name('register.store');
@@ -54,18 +71,8 @@ Route::middleware(['auth'])->group(function () {
Route::post('/', 'store')->name('store');
Route::patch('/{appointment}/status', 'updateStatus')->name('updateStatus');
});
// 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']);
});
Route::get('/agenda', [AgendaController::class, 'index'])->name('agenda');
Route::get('/appointments/{appointment}', [AppointmentController::class, 'show'])
->name('appointments.show');
Route::view('/faq', 'faq')->name('faq');
});