Development #29242
/accounts/register/ ne passe pas ?next= à /accounts/register/complete/
100%
Description
Pour permettre l'utilisation de la vue d'enregistrement depuis n'importe où.
Fichiers
Révisions associées
views: thread ?next= through pre-registration views (fixes #29242)
Historique
Mis à jour par Serghei Mihai il y a plus de 5 ans
Après la finalisation de création du compte il faudrait également renvoyer vers le next
.
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
Serghei Mihai a écrit :
Après la finalisation de création du compte il faudrait également renvoyer vers le
next
.
Ça c'est déjà le cas sinon ça ne marcherait nulle part.
Mis à jour par Serghei Mihai il y a plus de 5 ans
Alors je rate un truc.
Il faut passer next=
à /accounts/activate/
?
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
Serghei Mihai a écrit :
Alors je rate un truc.
Il faut passer
next=
à/accounts/activate/
?
Non, il y a un jeton, qui contient le next
, voir le code.
Mis à jour par Paul Marillonnet il y a plus de 5 ans
- Statut changé de Nouveau à Information nécessaire
Est-ce que tu pourrais fournir deux lignes de test stp ?
Je n'arrive pas à reproduire le comportement souhaité en me basant sur ta branche.
/accounts/register/?next=foo.whatever.nowhere
me redirige vers
/accounts/register/complete/?next=None
une fois le formulaire complété.
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Fichier 0001-utils-ignore-URL-parameters-with-a-None-value-29242.patch 0001-utils-ignore-URL-parameters-with-a-None-value-29242.patch ajouté
- Fichier 0002-views-thread-next-through-pre-registration-views-fix.patch 0002-views-thread-next-through-pre-registration-views-fix.patch ajouté
- Statut changé de Information nécessaire à Solution proposée
- Patch proposed changé de Non à Oui
Voilà avec un test et une modification à make_url() qui corrige une partie du souci.
Ton test n'est pas concluant parce que je valide les URLs dans les next, et donc si tu passe un truc qui n'est pas accepté on se retrouve avec None, par contre ce None ne devrait pas être passé à registration_complete, pour cela je modifie make_url() pour faire un truc que j'aurai du faire il y a longtemps pour simplifier certains codes, si la valeur d'un paramètre est None lors de la construction de l'ULR on l'ignore (par contre si il est déjà là on le supprime, i.e. keep_params=True + params={'next': None},
nettoyera le paramètre next
qui serait déjà présent dans l'URL de base.
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Fichier 0001-utils-ignore-URL-parameters-with-a-None-value-29242.patch 0001-utils-ignore-URL-parameters-with-a-None-value-29242.patch ajouté
- Fichier 0002-views-thread-next-through-pre-registration-views-fix.patch 0002-views-thread-next-through-pre-registration-views-fix.patch ajouté
docstring de make_url amendée pour indiqué le nouvel usage.
Mis à jour par Paul Marillonnet il y a plus de 5 ans
- Statut changé de Solution proposée à Solution validée
Ack.
Du détail, mais je croyais que c'était une convention que de n'espacer d'une ligne seulement la définition de la CBV et son nom global prenant sa valeur .as_view() (comme c'est le cas dans tous les fichiers *views.py d'A2).
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit authentic2|29eb8217f83813b5d840cbd52d234d82cdb95a15.
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
utils: ignore URL parameters with a None value (#29242)