From dd7d05c87e15795133f446fbe769f4cbab79b29d Mon Sep 17 00:00:00 2001
From: Emmanuel Viennet <emmanuel.viennet@gmail.com>
Date: Mon, 20 Jan 2025 20:14:44 +0100
Subject: [PATCH] =?UTF-8?q?User:=20essaie=20d'=C3=A9viter=20l'autofill=20d?=
 =?UTF-8?q?e=20user=5Fname=20dans=20le=20form=20creation.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/views/users.py | 14 ++++++++++++--
 sco_version.py     |  2 +-
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/app/views/users.py b/app/views/users.py
index 9e226220..9dceb275 100644
--- a/app/views/users.py
+++ b/app/views/users.py
@@ -360,7 +360,7 @@ def create_user_form(user_name=None, edit=0, all_roles=True):
     if not edit:
         descr += [
             (
-                "user_name",
+                "obusfacted_u_ser_nam_",  # evite "user_name" à cause de l'autofill des browsers
                 {
                     "title": "Pseudo (login)",
                     "size": 20,
@@ -368,7 +368,9 @@ def create_user_form(user_name=None, edit=0, all_roles=True):
                     "explanation": """nom utilisé pour la connexion.
                         Doit être unique parmi tous les utilisateurs.
                         Lettres ou chiffres uniquement.""",
-                    "attributes": ['autocomplete="off"'],
+                    "attributes": [
+                        'autocomplete="off"'
+                    ],  # insuffisant pour éviter autofill...
                 },
             ),
             ("formsemestre_id", {"input_type": "hidden"}),
@@ -626,6 +628,10 @@ def create_user_form(user_name=None, edit=0, all_roles=True):
             set(vals["roles"]).union(orig_roles_strings - editable_roles_strings)
         )
 
+    if "user_name" in vals:
+        vals["obusfacted_u_ser_nam_"] = vals["user_name"]
+    if "user_name" in initvalues:
+        initvalues["obusfacted_u_ser_nam_"] = initvalues["user_name"]
     tf = TrivialFormulator(
         request.base_url,
         vals,
@@ -644,6 +650,10 @@ def create_user_form(user_name=None, edit=0, all_roles=True):
         return flask.redirect(url_for("users.index_html", scodoc_dept=g.scodoc_dept))
 
     vals = tf[2]
+    if "obusfacted_u_ser_nam_" in vals:
+        vals["user_name"] = vals["obusfacted_u_ser_nam_"]
+    if "obusfacted_u_ser_nam_" in initvalues:
+        initvalues["user_name"] = initvalues["obusfacted_u_ser_nam_"]
     roles = set(vals["roles"]).intersection(editable_roles_strings)
     if not current_user.is_administrator():
         # empeche modification des paramètres CAS
diff --git a/sco_version.py b/sco_version.py
index b2ad9271..df5a1143 100644
--- a/sco_version.py
+++ b/sco_version.py
@@ -3,7 +3,7 @@
 
 "Infos sur version ScoDoc"
 
-SCOVERSION = "9.7.55"
+SCOVERSION = "9.7.56"
 
 SCONAME = "ScoDoc"
 
-- 
GitLab