diff --git a/app/templates/email/welcome.j2 b/app/templates/email/welcome.j2
index 41fb1c611..a785479c2 100644
--- a/app/templates/email/welcome.j2
+++ b/app/templates/email/welcome.j2
@@ -3,8 +3,14 @@
Votre accès à ScoDoc vient d'être validé.
- Votre identifiant de connexion est: {{ user.user_name }}
+ Votre identifiant ScoDoc est: {{ user.user_name }}
+{% if cas_force %}
+
+ Pour vous connecter, vous devrez utiliser votre identifiant universitaire
+ sur le système d'authentification de votre établissement (CAS, ENT).
+
+{% endif %}
{% if token %}
Pour initialiser votre mot de passe ScoDoc,
diff --git a/app/templates/email/welcome.txt b/app/templates/email/welcome.txt
index 2630a8bd0..dffb870b5 100644
--- a/app/templates/email/welcome.txt
+++ b/app/templates/email/welcome.txt
@@ -1,7 +1,14 @@
Bienvenue {{ user.prenom }} {{ user.nom }},
Votre accès à ScoDoc vient d'être validé.
-Votre identifiant de connexion est: {{ user.user_name }}
+Votre identifiant ScoDoc est: {{ user.user_name }}
+
+{% if cas_force %}
+
+ Pour vous connecter, vous devrez utiliser votre identifiant universitaire
+ sur le système d'authentification de votre établissement (CAS, ENT).
+
+{% endif %}
{% if token %}
Pour initialiser votre mot de passe ScoDoc, suivre le lien:
diff --git a/app/views/users.py b/app/views/users.py
index 80bc4e54e..0b4d6bed4 100644
--- a/app/views/users.py
+++ b/app/views/users.py
@@ -125,9 +125,10 @@ class ChangePasswordForm(FlaskForm):
class Mode(IntEnum):
- WELCOME_AND_CHANGE_PASSWORD = auto()
- WELCOME_ONLY = auto()
- SILENT = auto()
+ "Mode d'envoi de mail lors de création d'utilisateur"
+ WELCOME_AND_CHANGE_PASSWORD = auto() # mail indiquant de changer mdp
+ WELCOME_ONLY = auto() # mail d'accueil simple
+ SILENT = auto() # pas de mail
@bp.route("/")
@@ -467,23 +468,19 @@ def create_user_form(user_name=None, edit=0, all_roles=True):
"welcome",
{
"title": "Message d'accueil",
- "input_type": "checkbox",
+ "input_type": "boolcheckbox",
"explanation": "Envoie un mail d'accueil à l'utilisateur.",
- "labels": ("",),
- "allowed_values": ("1",),
- "default": "1",
+ "default": 1,
},
),
(
"reset_password",
{
"title": "",
- "input_type": "checkbox",
- "explanation": "indiquer par mail de changer le mot de passe initial",
- "labels": ("",),
- "allowed_values": ("1",),
- "default": "1",
- # "attributes": ["style='margin-left:20pt'"],
+ "input_type": "boolcheckbox",
+ "explanation": """indiquer par mail de changer le mot
+ de passe initial (sauf si CAS forcé)""",
+ "default": 1,
},
),
]
@@ -727,8 +724,12 @@ def create_user_form(user_name=None, edit=0, all_roles=True):
# A: envoi de welcome + procedure de reset
# B: envoi de welcome seulement (mot de passe saisie dans le formulaire)
# C: Aucun envoi (mot de passe saisi dans le formulaire)
- if vals["welcome"] != "1":
- if vals["reset_password"] != "1":
+ if vals["welcome"]: # "Envoie un mail d'accueil" coché
+ if vals["reset_password"] and (
+ (not ScoDocSiteConfig.get("cas_force"))
+ or vals.get("cas_allow_scodoc_login", False)
+ ):
+ # nb: si login scodoc non autorisé car CAS seul, n'envoie pas le mot de passe.
mode = Mode.WELCOME_AND_CHANGE_PASSWORD
else:
mode = Mode.WELCOME_ONLY
@@ -771,18 +772,26 @@ def create_user_form(user_name=None, edit=0, all_roles=True):
token = the_user.get_reset_password_token()
else:
token = None
+ cas_force = ScoDocSiteConfig.get("cas_force")
# Le from doit utiliser la préférence du département de l'utilisateur
email.send_email(
"[ScoDoc] Création de votre compte",
sender=email.get_from_addr(),
recipients=[the_user.email],
text_body=render_template(
- "email/welcome.txt", user=the_user, token=token
+ "email/welcome.txt",
+ user=the_user,
+ token=token,
+ cas_force=cas_force,
),
html_body=render_template(
- "email/welcome.j2", user=the_user, token=token
+ "email/welcome.j2",
+ user=the_user,
+ token=token,
+ cas_force=cas_force,
),
)
+ flash(f"Mail accueil envoyé à {the_user.email}")
flash("Nouvel utilisateur créé")
return flask.redirect(
diff --git a/sco_version.py b/sco_version.py
index 92c357e09..88104d881 100644
--- a/sco_version.py
+++ b/sco_version.py
@@ -1,7 +1,7 @@
# -*- mode: python -*-
# -*- coding: utf-8 -*-
-SCOVERSION = "9.6.71"
+SCOVERSION = "9.6.72"
SCONAME = "ScoDoc"