From 9846ed201b25659bac8508617bb1fd6f73572318 Mon Sep 17 00:00:00 2001 From: Basile Clement Date: Sat, 5 Nov 2016 18:31:40 +0100 Subject: [PATCH] Normalise les logins clipper venant du CAS Le CAS de l'ENS autorise les logins avec des espaces/une casse variable, par exemple il considere equivalents les logins ' bCLeMeNt ' et 'bclement'. Ceci peut etre la cause de creation de doublons sur gestioCOF en cas de faute de frappe (ou utilisateur malicieux ;-) ) Ce patch normalise les logins a la sortie du CAS (strip + lowercase) pour eviter des desagrements. --- gestioncof/shared.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gestioncof/shared.py b/gestioncof/shared.py index 87021a00..8fe17d43 100644 --- a/gestioncof/shared.py +++ b/gestioncof/shared.py @@ -29,6 +29,12 @@ class COFCASBackend(CASBackend): request.session['attributes'] = attributes if not username: return None + + # Le CAS de l'ENS accepte les logins avec des espaces au début + # et à la fin, ainsi qu’avec une casse variable. On normalise pour + # éviter les doublons. + username = username.strip().lower() + profiles = CofProfile.objects.filter(login_clipper=username) if len(profiles) > 0: profile = profiles.order_by('-is_cof')[0]