diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index c34cdcf..bfe3685 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -63,5 +63,6 @@ class Kernel extends HttpKernel 'signed' => \App\Http\Middleware\ValidateSignature::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + 'admin' => \App\Http\Middleware\AdminMiddleware::class, ]; } diff --git a/app/Http/Middleware/AdminMiddleware.php b/app/Http/Middleware/AdminMiddleware.php new file mode 100644 index 0000000..b36ca95 --- /dev/null +++ b/app/Http/Middleware/AdminMiddleware.php @@ -0,0 +1,19 @@ +email === 'monse@admin.com') { + return $next($request); + } + + return redirect('/')->with('error', 'Acceso denegado. Solo los administradores pueden acceder a esta página.'); + } +} diff --git a/config/session.php b/config/session.php index 8fed97c..d59cef2 100644 --- a/config/session.php +++ b/config/session.php @@ -31,9 +31,9 @@ return [ | */ - 'lifetime' => env('SESSION_LIFETIME', 120), + 'lifetime' => env('SESSION_LIFETIME', 0.1), - 'expire_on_close' => false, + 'expire_on_close' => true, /* |-------------------------------------------------------------------------- diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index 8d71422..09a4e56 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -31,9 +31,9 @@ return new class extends Migration }); DB::table('users')->insert([ - 'name'=> 'Administrador', - 'email'=> 'admin@admin.com', - 'password'=> bcrypt('12345678') + 'name'=> 'monse', + 'email'=> 'monse@admin.com', + 'password'=> bcrypt('tecmm2025') ]); } diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index a33b73f..2e91f86 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -14,7 +14,7 @@ - + @@ -51,22 +51,14 @@ @endif @else - @endguest diff --git a/resources/views/layouts/dashboard.blade.php b/resources/views/layouts/dashboard.blade.php index c9c4ead..6c9e2f4 100644 --- a/resources/views/layouts/dashboard.blade.php +++ b/resources/views/layouts/dashboard.blade.php @@ -234,41 +234,16 @@
- - -
-
- - - -
-
- @csrf - -
-
-
+
+ Avatar + {{ Auth::user()->name }}
+
+ @csrf + +
diff --git a/routes/web.php b/routes/web.php index c18966c..a8dc6d7 100644 --- a/routes/web.php +++ b/routes/web.php @@ -27,7 +27,7 @@ use App\Http\Controllers\DespartamentoController; return redirect()->route('dashboard'); }); - Auth::routes(['register'=>true,'reset'=>false]); + Auth::routes(['register'=>false,'reset'=>false]); Route::resource('marca', MarcaController::class); Route::resource('docentes', DocentesController::class); @@ -73,21 +73,50 @@ use App\Http\Controllers\DespartamentoController; // Rutas protegidas que requieren autenticación - // Rutas protegidas que requieren autenticación - Route::middleware(['auth'])->group(function () { - - Route::get('/dashboard', [HomeController::class, 'index'])->name('dashboard'); - Route::get('/usuarios', [usuariosController::class,'index'])->name('usuarios'); - Route::get('/usuarios/nuevo', [usuariosController::class, 'create'])->name('usuarios.create'); - Route::post('/usuarios/store', [usuariosController::class,'store'])->name('usuarios.store'); - - Route::get('/usuarios/edit/{id}', [usuariosController::class, 'edit'])->name('usuarios.edit'); - Route::put('/usuarios/{id}', [usuariosController::class, 'update'])->name('usuarios.update'); - Route::delete('/usuarios/destroy/{id}', [usuariosController::class, 'destroy'])->name('usuarios.destroy'); - Route::get('usuarios/excel', [usuariosController::class, 'exportExcel'])->name('usuarios.excel'); - Route::get('usuarios/pdf', [usuariosController::class, 'exportPDF'])->name('usuarios.pdf'); - Route::get('/home', [HomeController::class, 'index'])->name('home'); -////corerecion rubi - -}); + // Rutas protegidas que requieren autenticación + Route::middleware(['auth', 'admin'])->group(function () { + Route::get('/dashboard', [HomeController::class, 'index'])->name('dashboard'); + Route::get('/usuarios', [usuariosController::class,'index'])->name('usuarios'); + Route::get('/usuarios/nuevo', [usuariosController::class, 'create'])->name('usuarios.create'); + Route::post('/usuarios/store', [usuariosController::class,'store'])->name('usuarios.store'); + Route::get('/usuarios/edit/{id}', [usuariosController::class, 'edit'])->name('usuarios.edit'); + Route::put('/usuarios/{id}', [usuariosController::class, 'update'])->name('usuarios.update'); + Route::delete('/usuarios/destroy/{id}', [usuariosController::class, 'destroy'])->name('usuarios.destroy'); + Route::get('usuarios/excel', [usuariosController::class, 'exportExcel'])->name('usuarios.excel'); + Route::get('usuarios/pdf', [usuariosController::class, 'exportPDF'])->name('usuarios.pdf'); + Route::get('/home', [HomeController::class, 'index'])->name('home'); + + // Rutas específicas de vehículos + Route::get('vehiculos/excel', [TiposVeiculosController::class, 'exportExcel'])->name('vehiculos.excel'); + Route::get('vehiculos/pdf', [TiposVeiculosController::class, 'exportPDF'])->name('vehiculos.pdf'); + Route::get('/vehiculos/{id}/toggle-status', [TiposVeiculosController::class, 'toggleStatus'])->name('vehiculos.toggle-status'); + Route::resource('vehiculos', TiposVeiculosController::class); + + // Rutas específicas de tipos de licencias + Route::get('tiposLicencias/excel', [TiposLicenciasController::class, 'exportExcel'])->name('tiposLicencias.excel'); + Route::get('tiposLicencias/pdf', [TiposLicenciasController::class, 'exportPDF'])->name('tiposLicencias.pdf'); + Route::get('tiposLicencias/{id}/toggle-status', [TiposLicenciasController::class, 'toggleStatus'])->name('tiposLicencias.toggle-status'); + Route::resource('tiposLicencias', TiposLicenciasController::class); + + Route::resource('capacidades', CapacidadController::class); + + Route::get('/marcas/excel', [MarcaController::class, 'exportExcel'])->name('marcas.excel'); + Route::get('/marcas/pdf', [MarcaController::class, 'exportPDF'])->name('marcas.pdf'); + + Route::get('/despartamento/export/excel', [DespartamentoController::class, 'exportExcel'])->name('despartamentos.excel'); + Route::get('/despartamento/export/pdf', [DespartamentoController::class, 'exportPDF'])->name('despartamentos.pdf'); + + // Rutas de préstamos + Route::get('/prestamos/excel', [PrestamoController::class, 'exportExcel'])->name('prestamos.excel'); + Route::get('/prestamos/pdf', [PrestamoController::class, 'exportPDF'])->name('prestamos.pdf'); + Route::get('/prestamos/export/{format}', [PrestamoController::class, 'export'])->name('prestamos.export'); + Route::get('/prestamos/aceptados', [PrestamoController::class, 'aceptados'])->name('prestamos.aceptados'); + Route::post('/prestamos/{id}/aceptar', [PrestamoController::class, 'aceptar'])->name('prestamos.aceptar'); + Route::post('/prestamos/{id}/rechazar', [PrestamoController::class, 'rechazar'])->name('prestamos.rechazar'); + Route::get('/prestamos/historial', [PrestamoController::class, 'historial'])->name('prestamos.historial'); + Route::resource('prestamos', PrestamoController::class); + + Route::get('/docentes/export/{format}', [DocentesController::class, 'export'])->name('docentes.export'); + Route::get('/docentes/{id}/toggle-status', [DocentesController::class, 'toggleStatus'])->name('docentes.toggle-status'); + });