Super User (SU) Administration Panel

Panorama

El panel de administración SU es una interfaz web para gestionar la plataforma. Accesible desde el navegador para administradores autenticados.

URL base: /us/su/lau

Autenticación: Guard auth:super con modelo su_ad (tabla de superusuarios separada de users).

Controlador: app/Http/Controllers/SUController.php (555 líneas)

Layout: resources/views/layouts/app-su.blade.php (sidebar, toast, dark mode)


Rutas del Panel SU

Todas prefijadas con /us/su/lau y protegidas con middleware auth:super:

Route::middleware(['auth:super'])
    ->prefix('us/su/lau')
    ->as('su.')
    ->group(function () {
        // Dashboard
        Route::get('/dashboard', 'dashboard')->name('dash');

        // Universidades
        Route::get('/universidades', 'universidad')->name('uni');
        Route::post('/universidades', 'storeuni')->name('uni.store');
        Route::put('/universidades/{id}', 'updateUni')->name('uni.update');

        // Carreras
        Route::get('/carreras', 'carrera')->name('uni.ca');
        Route::post('/carreras/crear', 'storeCarrera')->name('ca.store');
        Route::post('/carreras/vincular', 'assignCarrera')->name('ca.assign');

        // Usuarios
        Route::get('/usuarios', 'userperfil')->name('usuarios');
        Route::get('/buscar-usuarios', 'buscarUsuarios')->name('user.buscar');
        Route::get('/info/{user:username}', 'info')->name('info');
        Route::delete('/usuarios/{id}', 'destroy')->name('user.destroy');

        // Reportes
        Route::get('/reportes', 'reportes')->name('reportes');

        // Insignias
        Route::get('/insignias', 'insig')->name('insig');
        Route::post('/insignias/create', 'storeinsig')->name('insig.create');
        Route::post('/users/insignia', 'addInsignia')->name('add.insig');
        Route::put('/info/{user:username}/insignia', 'editInsignia')->name('update.insig');
        Route::delete('/info/{user:username}/insignia', 'deleteInsignia')->name('delete.insig');

        // Banners/Anuncios
        Route::get('/ads/create', 'ads')->name('ads');
        Route::post('/ads/create', 'create')->name('ads.create');
        Route::put('/ads/update/{id}', 'update')->name('ads.update');
        Route::delete('/ads/{id}', 'delete')->name('ads.delete');
        Route::post('/ads/{id}/reset-views', 'resetViews')->name('ads.resetviews');

        // App Updates
        Route::get('/updates', 'updateindex')->name('updates.index');
        Route::post('/updates', 'storeup')->name('updates.store');
        Route::patch('/updates/{id}/activate', 'activateup')->name('updates.activate');
        Route::delete('/updates/{id}', 'destroyup')->name('updates.destroy');
    });

Login del Panel SU

Rutas de login (fuera del grupo protegido):


Vistas

Vista Ruta Descripción
su/login /us/su/lau/login Formulario de login del panel SU
su/dashboard /us/su/lau/dashboard Dashboard con estadísticas
su/universidad /us/su/lau/universidades CRUD de universidades
su/carreras /us/su/lau/carreras Gestión de carreras y vinculación
su/usuarios /us/su/lau/usuarios Lista de usuarios con stats
su/perfil /us/su/lau/info/{username} Detalle de perfil de usuario
su/reportes /us/su/lau/reportes Reportes de usuarios
su/insignia /us/su/lau/insignias CRUD de insignias
su/anuncio /us/su/lau/ads/create Gestión de banners/anuncios
su/updates /us/su/lau/updates Gestión de actualizaciones OTA

Siguente página

18-SU-Dashboard-Academic