Fix pantalla en blanco al entrar: landing por rol cuando el Dashboard no es visible + matrices de menus coherentes

This commit is contained in:
2026-09-08 22:17:21 +00:00
parent b101468c7a
commit c7dcd171ee
4 changed files with 31 additions and 11 deletions

View File

@@ -94,10 +94,9 @@ class SkeenFrontendController(http.Controller):
if not login or not password:
return json_response({'status': 'error', 'message': 'Usuario y contraseña son obligatorios'}, 400)
User = request.env['skeen.frontend.user'].sudo()
# Login insensible a mayúsculas/minúsculas (la gente escribe "Andrea").
# =ilike trata % y _ como comodines: se quitan para buscar literal.
login_lookup = login.replace('%', '').replace('_', '')
user = User.search([('login', '=ilike', login_lookup), ('active', '=', True)], limit=1)
# Login insensible a mayúsculas/minúsculas: los logins guardados
# están en minúsculas, se busca la forma exacta en minúsculas.
user = User.search([('login', '=', login.lower()), ('active', '=', True)], limit=1)
if not user or not user.check_password(password):
return json_response({'status': 'error', 'message': 'Credenciales inválidas'}, 401)
user.write({'last_login': fields.Datetime.now()})
@@ -134,7 +133,7 @@ class SkeenFrontendController(http.Controller):
def auth_users_create(self, **kw):
try:
data = _parse_json_body()
login = (data.get('login') or '').strip()
login = (data.get('login') or '').strip().lower()
name = (data.get('name') or '').strip()
password = data.get('password') or ''
role = data.get('role') or 'recepcion'

View File

@@ -47,7 +47,7 @@ MENU_ROLES_KEY = 'skeen.menu_roles'
# operación EXCEPTO /configuracion (solo admin del sistema), /mis-ventas,
# /cumpleanos y /wacrm/*.
DEFAULT_MENU_ROLES = {
'/': ['admin', 'recepcion', 'medico', 'lectura', 'gerencia'],
'/' : ['admin', 'medico', 'recepcion', 'enfermeria', 'cosmetologia', 'psicologa', 'farmacia', 'gerencia', 'marketing', 'lectura'],
'/agenda': ['admin', 'recepcion', 'medico', 'gerencia'],
'/mis-ventas': ['medico'],
'/pacientes': ['admin', 'recepcion', 'medico', 'lectura', 'gerencia'],