Formulaire personnalisé de réinitialisation de mot de passe #55
2 changed files with 17 additions and 4 deletions
17
README.md
17
README.md
|
@ -47,9 +47,9 @@ en plus du site.
|
|||
|
||||
### Dans le fichier `settings.py`
|
||||
|
||||
- Ajouter `"authens"` dans les [`INSTALLED_APPS`](https://docs.djangoproject.com/en/3.0/ref/settings/#installed-apps).
|
||||
- Ajouter `"authens"` dans les [`INSTALLED_APPS`](https://docs.djangoproject.com/en/3.2/ref/settings/#installed-apps).
|
||||
- Ajouter `"authens.backends.ENSCASBackend"` dans les
|
||||
[`AUTHENTICATION_BACKENDS`](https://docs.djangoproject.com/en/3.0/ref/settings/#authentication-backends).
|
||||
[`AUTHENTICATION_BACKENDS`](https://docs.djangoproject.com/en/3.2/ref/settings/#authentication-backends).
|
||||
Si `AUTHENTICATION_BACKENDS` n'apparaît pas dans vos settings, utiliser :
|
||||
|
||||
```python
|
||||
|
@ -85,11 +85,20 @@ AUTHENS_ALLOW_STAFF = True
|
|||
|
||||
|
||||
- (Optionnel) AuthENS utilise le paramètre Django standard
|
||||
[`LOGIN_REDIRECT_URL`](https://docs.djangoproject.com/en/3.0/ref/settings/#login-redirect-url)
|
||||
[`LOGIN_REDIRECT_URL`](https://docs.djangoproject.com/en/3.2/ref/settings/#login-redirect-url)
|
||||
par défaut pour rediriger l'utilisateurice en cas de connexion réussie.
|
||||
Il peut être utile de définir ce paramètre.
|
||||
|
||||
|
||||
- (Optionnel) Pour filtrer quels utilisateurs peuvent réinitialiser leur mot de
|
||||
passe, il est possible de définir un formulaire personnalisé pour remplacer le
|
||||
formulaire Django standard [`PasswordResetForm`](https://docs.djangoproject.com/en/3.2/topics/auth/default/#django.contrib.auth.forms.PasswordResetForm)
|
||||
|
||||
```python
|
||||
AUTHENS_PASSWORD_RESET_FORM = CustomPwdResetForm
|
||||
```
|
||||
|
||||
|
||||
## Utilisation
|
||||
|
||||
À lire
|
||||
|
@ -144,7 +153,7 @@ celui-ci. Les templates à substituer sont :
|
|||
### Migration depuis `django_cas_ng`
|
||||
|
||||
Pour migrer depuis `django_cas_ng`, il est recommandé de faire une
|
||||
[data migration](https://docs.djangoproject.com/en/3.1/howto/writing-migrations/#migrating-data-between-third-party-apps)
|
||||
[data migration](https://docs.djangoproject.com/en/3.2/howto/writing-migrations/#migrating-data-between-third-party-apps)
|
||||
et d'appliquer la fonction `register_cas_account` sur tou⋅tes les
|
||||
utilisateurices.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ from urllib.parse import urlparse, urlunparse
|
|||
from django.conf import settings
|
||||
from django.contrib import auth
|
||||
from django.contrib.auth import views as auth_views
|
||||
from django.contrib.auth.forms import PasswordResetForm
|
||||
from django.contrib.messages.views import SuccessMessageMixin
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.shortcuts import redirect
|
||||
|
@ -101,6 +102,9 @@ class PasswordResetView(SuccessMessageMixin, auth_views.PasswordResetView):
|
|||
subject_template_name = "authens/pwd_reset_subject.txt"
|
||||
success_url = reverse_lazy("authens:login")
|
||||
|
||||
def get_form_class(self):
|
||||
return getattr(settings, "AUTHENS_PASSWORD_RESET_FORM", PasswordResetForm)
|
||||
|
||||
success_message = _(
|
||||
"Un email de réinitialisation vient d'être envoyé à l'adresse indiquée !"
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue