fix(menu): el administrador no veía los módulos a los que sí puede entrar

El módulo Facturas tiene ruta, vista y seed, pero no aparecía en el menú.
No faltaba: MenuMiddleware arma el menú solo con los submódulos del rol del
usuario, y esa parte corre ANTES del bypass de IsAdmin.

O sea que un administrador entra a cualquier ruta escribiéndola, pero solo
ve en el menú lo que su rol tenga asignado. Un módulo completo puede
parecer inexistente por eso, y no hay nada en pantalla que lo explique.

Ahora, si el usuario es administrador, el menú se arma con todos los
submódulos: coincide con el acceso que ya tiene. Para el resto no cambia
nada — siguen viendo solo lo suyo.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-08-15 20:56:21 -05:00
co-authored by Claude Sonnet 5
parent 351454c018
commit 0100986a46
2 changed files with 26 additions and 1 deletions
+11
View File
@@ -82,3 +82,14 @@ func DeleteSumodule(id uint) error {
}
return nil
}
// AllSubmodulesConModulo devuelve todos los submódulos con su módulo cargado.
//
// Lo usa el menú para los administradores: como entran a todas las rutas,
// tienen que ver todos los enlaces. Con Preload porque el menú agrupa por el
// título del módulo, y sin él quedaría todo bajo un grupo vacío.
func AllSubmodulesConModulo() ([]Submodules, error) {
var items []Submodules
err := app.Http.Database.DB.Preload("Module").Order("id ASC").Find(&items).Error
return items, err
}