diff --git a/src/authentic2_cut/apps.py b/src/authentic2_cut/apps.py index ada2325..fdb5a62 100644 --- a/src/authentic2_cut/apps.py +++ b/src/authentic2_cut/apps.py @@ -621,6 +621,16 @@ class AppConfig(django.apps.AppConfig): }, ) + def perform_fc_validation(self, user, request): + user.attributes.validated = True + user.attributes.validation_context = 'FC' + user.attributes.validation_date = now().date() + partner = request.session.get('service_slug') + if hasattr(request, 'partner'): + partner = (request.partner and request.partner.get('ou_slug')) or partner + if partner: + user.attributes.validation_partner = partner + @property def redis_client(self): from django.core import cache @@ -760,14 +770,11 @@ class AppConfig(django.apps.AppConfig): def cut_event_fc_link(self, user, request, **kwargs): self.log_action(user, 'liaison avec FranceConnect') - user.attributes.validated = True - user.attributes.validation_context = 'FC' - user.attributes.validation_date = now().date() - partner = request.session.get('service_slug') - if hasattr(request, 'partner'): - partner = (request.partner and request.partner.get('ou_slug')) or partner - if partner: - user.attributes.validation_partner = partner + self.perform_fc_validation(user, request) + + def cut_event_fc_create(self, user, request, **kwargs): + self.log_action(user, 'création de compte sur retour de connexion FranceConnect') + self.perform_fc_validation(user, request) def cut_event_fc_unlink(self, user, **kwargs): self.log_action(user, 'déliaison de FranceConnect')