Projet

Général

Profil

Development #29242

/accounts/register/ ne passe pas ?next= à /accounts/register/complete/

Ajouté par Benjamin Dauvergne il y a plus de 5 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
20 décembre 2018
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Pour permettre l'utilisation de la vue d'enregistrement depuis n'importe où.


Fichiers

Révisions associées

Révision c39e847d (diff)
Ajouté par Benjamin Dauvergne il y a plus de 5 ans

utils: ignore URL parameters with a None value (#29242)

Révision 29eb8217 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 5 ans

views: thread ?next= through pre-registration views (fixes #29242)

Historique

#2

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.

#3

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.

#4

Mis à jour par Serghei Mihai il y a plus de 5 ans

Alors je rate un truc.

Il faut passer next= à /accounts/activate/?

#5

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.

#6

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é.

#7

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

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.

#9

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).

#10

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
#11

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

Formats disponibles : Atom PDF