From c2ccbb78a986d8142b74367548f07484e87ad171 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Thu, 23 May 2019 15:34:31 +0200 Subject: [PATCH] apps: retire tous les champs d'enregistrement sauf mot de passe --- src/authentic2_cut/apps.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/authentic2_cut/apps.py b/src/authentic2_cut/apps.py index 2ec3f6c..720f63d 100644 --- a/src/authentic2_cut/apps.py +++ b/src/authentic2_cut/apps.py @@ -366,6 +366,8 @@ class AppConfig(django.apps.AppConfig): other_actions.append(RemoveFranceConnect()) def a2_hook_front_modify_form(self, view, form): + from django.forms.widgets import HiddenInput + if view.__class__.__name__ == 'EditProfile': if form.instance and form.instance.attributes.validated: for field in ('first_name', 'last_name', 'birthdate', 'title', @@ -378,7 +380,13 @@ class AppConfig(django.apps.AppConfig): field.widget.attrs['maxlength'] = 128 elif view.__class__.__name__ == 'RegistrationCompletionView': form.initial['preferred_username'] = view.token.get('last_name', '') + form.fields['preferred_username'].widget = HiddenInput() form.initial['preferred_givenname'] = view.token.get('first_name', '') + form.fields['preferred_givenname'].widget = HiddenInput() + + for name in form.fields: + if 'password' not in name and name not in ('preferred_username', 'preferred_givenname'): + form.fields.pop(name) def a2_hook_api_modify_queryset(self, view, queryset): from django.utils.timezone import now