forked from ScoDoc/ScoDoc
Améliore mail création de compte utilisateur si CAS forcé. Fix #801
This commit is contained in:
parent
20407be7ee
commit
c316a5ee35
@ -3,8 +3,14 @@
|
||||
Votre accès à ScoDoc vient d'être validé.
|
||||
</p>
|
||||
<p>
|
||||
Votre identifiant de connexion est: <b>{{ user.user_name }}</b>
|
||||
Votre identifiant ScoDoc est: <b>{{ user.user_name }}</b>
|
||||
</p>
|
||||
{% if cas_force %}
|
||||
<p>
|
||||
Pour vous connecter, vous devrez utiliser votre identifiant universitaire
|
||||
sur le système d'authentification de votre établissement (CAS, ENT).
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if token %}
|
||||
<p>Pour initialiser votre mot de passe ScoDoc,
|
||||
<a href="{{ url_for('auth.reset_password', token=token, _external=True) }}">
|
||||
|
@ -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 %}
|
||||
<p>
|
||||
Pour vous connecter, vous devrez utiliser votre identifiant universitaire
|
||||
sur le système d'authentification de votre établissement (CAS, ENT).
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% if token %}
|
||||
Pour initialiser votre mot de passe ScoDoc, suivre le lien:
|
||||
|
@ -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(
|
||||
|
@ -1,7 +1,7 @@
|
||||
# -*- mode: python -*-
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
SCOVERSION = "9.6.71"
|
||||
SCOVERSION = "9.6.72"
|
||||
|
||||
SCONAME = "ScoDoc"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user