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`
|
### 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
|
- 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 :
|
Si `AUTHENTICATION_BACKENDS` n'apparaît pas dans vos settings, utiliser :
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
@ -85,11 +85,20 @@ AUTHENS_ALLOW_STAFF = True
|
||||||
|
|
||||||
|
|
||||||
- (Optionnel) AuthENS utilise le paramètre Django standard
|
- (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.
|
par défaut pour rediriger l'utilisateurice en cas de connexion réussie.
|
||||||
Il peut être utile de définir ce paramètre.
|
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
|
## Utilisation
|
||||||
|
|
||||||
À lire
|
À lire
|
||||||
|
@ -144,7 +153,7 @@ celui-ci. Les templates à substituer sont :
|
||||||
### Migration depuis `django_cas_ng`
|
### Migration depuis `django_cas_ng`
|
||||||
|
|
||||||
Pour migrer depuis `django_cas_ng`, il est recommandé de faire une
|
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
|
et d'appliquer la fonction `register_cas_account` sur tou⋅tes les
|
||||||
utilisateurices.
|
utilisateurices.
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ from urllib.parse import urlparse, urlunparse
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib import auth
|
from django.contrib import auth
|
||||||
from django.contrib.auth import views as auth_views
|
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.contrib.messages.views import SuccessMessageMixin
|
||||||
from django.core.exceptions import PermissionDenied
|
from django.core.exceptions import PermissionDenied
|
||||||
from django.shortcuts import redirect
|
from django.shortcuts import redirect
|
||||||
|
@ -101,6 +102,9 @@ class PasswordResetView(SuccessMessageMixin, auth_views.PasswordResetView):
|
||||||
subject_template_name = "authens/pwd_reset_subject.txt"
|
subject_template_name = "authens/pwd_reset_subject.txt"
|
||||||
success_url = reverse_lazy("authens:login")
|
success_url = reverse_lazy("authens:login")
|
||||||
|
|
||||||
|
def get_form_class(self):
|
||||||
|
return getattr(settings, "AUTHENS_PASSWORD_RESET_FORM", PasswordResetForm)
|
||||||
|
|
||||||
success_message = _(
|
success_message = _(
|
||||||
"Un email de réinitialisation vient d'être envoyé à l'adresse indiquée !"
|
"Un email de réinitialisation vient d'être envoyé à l'adresse indiquée !"
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue