Bug #22378
Possibilité d'enchainer après la création d'un compte une redirection
100%
Description
Aujourd'hui après la création d'un compte on est redirigié vers la page d'accueil, ou vers la poursuite du SSO; dans certaines procédures d'inscriptions plus longues on voudrait enchainer la création de l'utilisateur côté authentic vers un formulaire dans w.c.s. pour demander plus d'infos, etc.
Quelque chose de cet ordre :
@@ -120,6 +120,8 @@ class RegistrationCompletionView(CreateView): return ['registration/registration_completion_form.html'] def get_success_url(self): + if app_settings.WHATEVER_URL: + return app_settings.WHATEVER_URL if self.token and self.token.get(REDIRECT_FIELD_NAME): return self.token[REDIRECT_FIELD_NAME] return make_url(self.success_url)
(peut-être de manière plus évoluée, permettre de lui passer le contenu du redirect_field_name)
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
Ok pour un truc comme app_settings.A2_REGISTRATION_REDIRECT = 'blabla?session_var_next_url=NEXT_URL'
.
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
- Fichier 0001-allow-a-post-registration-landing-page-fixes-22378.patch 0001-allow-a-post-registration-landing-page-fixes-22378.patch ajouté
Plus propre, par défaut on met ?next= si nécessaire mais on permet aussi un nom de champ customisé.
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
Ça remplace totalement la page next normale, je me demande si c'est vraiment ce que l'on souhaite ou si plutôt ça devrait uniquement remplacer l'URL par défaut (ici 'auth_homepage').
Il me semble que le fonctionnement idéal serait celui-ci (je met ça ici mais ce n'est pas forcément le ticket pour commencer cela): chaque OU représente une zone/un partenaire, sur un objet OU on peut mettre un paramètre 'post_registration_url'), la redirection en fin d'enregistrement sera:- auth_homepage si rien n'est mis ni dans A2_REGISTRATION_REDIRECT ni dans post_registration_url sur l'ou du service,
- A2_REGISTRATION_REDIRECT si pas de service en cours (on est pas dans un sso) ou si post_registration_url,
- post_registration_url si un service est en cours et que le paramètre est défini.
Pour des projets comme IMIO Connect ou GLC ce serait utile.
Une autre voie serait de supprimer complètement le lien d'enregistrement sur la page de login d'A2 et de passer uniquement par l'API d'enregistrement (sur l'appel à l'API le partenaire est capable de déterminer tout ce qu'il veut).
Mis à jour par Frédéric Péters il y a environ 6 ans
- Statut changé de Nouveau à En cours
Ça remplace totalement la page next normale, je me demande si c'est vraiment ce que l'on souhaite ou si plutôt ça devrait uniquement remplacer l'URL par défaut (ici 'auth_homepage').
Dans le cas présent c'est bien ça qui est souhaité. (du coup ack sur le patch présent)
Pour la suite, certainement utile de faire remonter des éléments du paramétrage global vers du paramétrage d'OU.
Mis à jour par Frédéric Péters il y a environ 6 ans
Plus propre, par défaut on met ?next= si nécessaire mais on permet aussi un nom de champ customisé.
Ça te va de pousser ainsi ton patch ?
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
- Statut changé de En cours à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit authentic2|20b829b1ee40487375c963637a8b4c69c16592a4.
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Fermé
allow a post registration landing page (fixes #22378)
- add a new setting A2_REGISTRATION_REDIRECT, it can be an URL or a
tuple (URL, field_name). If a next URL was given to /accounts/register/
it's appended to the A2_REGISTRATION_REDIRECT URL as
?field_name=<next_URL> whose field_name default to "next".