Login: busqueda de usuario insensible a mayusculas/minisculas

This commit is contained in:
2026-09-08 21:55:02 +00:00
parent 4f9a16103f
commit b101468c7a

View File

@@ -94,7 +94,10 @@ class SkeenFrontendController(http.Controller):
if not login or not password: if not login or not password:
return json_response({'status': 'error', 'message': 'Usuario y contraseña son obligatorios'}, 400) return json_response({'status': 'error', 'message': 'Usuario y contraseña son obligatorios'}, 400)
User = request.env['skeen.frontend.user'].sudo() User = request.env['skeen.frontend.user'].sudo()
user = User.search([('login', '=', login), ('active', '=', True)], limit=1) # 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)
if not user or not user.check_password(password): if not user or not user.check_password(password):
return json_response({'status': 'error', 'message': 'Credenciales inválidas'}, 401) return json_response({'status': 'error', 'message': 'Credenciales inválidas'}, 401)
user.write({'last_login': fields.Datetime.now()}) user.write({'last_login': fields.Datetime.now()})