Je ne vois strictement aucune raison pour interdire ça, et c'est très
exactement ce que je veux et ce qui est ergonomique dans la majorité des
cas (puisque une fois connecté ya très sûrement des choses qui changent
ailleurs dans la page) :
1) je veux mon formulaire en ajax, donc ne rechargeant PAS la page
entière pour la partie de vérification (s'il y a erreur, c'est hyper
rapide et ça affiche tout de suite)
2) mais quand l'auth est ok je VEUX recharger LA PAGE EN COURS
Ce que ça fait : ça recharge le bloc du form en ajax et ça le vide,
puisqu'on a réussi l'auth et que ça n'affiche plus #FORMULAIRE_LOGIN une
fois qu'on est bien logué.
Tout ce truc de "ajax d'abord" puis "redirection complète" marche très
bien tant qu'on fait partir ailleurs. Mais impossible d'avoir ce même
comportement quand on ne veut pas partir ailleurs mais recharger la page
entière en restant au même endroit.
Ya une documentation que j'ai raté quelque part ? Ou c'est une saleté de
bug ergonomique qui n'a aucune raison d'être ?
je réponds avec précaution et tout ça est au conditionnel, car mon expérience de ce formulaire de login c’est qu’il est utilisé dans plein de configurations différentes et qu’on a tendance à casser le fonctionnement d’un cas quand on y touche pour gérer un autre cas.
Donc, ces précautions mises, de ce que je comprends du code ici c’est qu’il n’a rien de spécifique à l’ajax, et amha c’est même le contraire, il est prévu pour le cas où la redirection est self() mais sans ajax : dans ce cas on comprends bien que la redirection n’a aucun sens puisque on a posté le formulaire sur la même URL et donc qu’il suffit de continuer le hit pour afficher la page à nouveau, en état connecté.
Peut-être donc faudrait-il ajouter une condition
and !_AJAX
sur ce test. On peut patcher le trunk dans ce sens, mais amha il faut s’abstenir de reporter en stable tant qu’on a pas un peu de recul.
En attendant, dans ton cas je dirai qu’il suffit de passer un &var_bonjour=oui sur ton URL de redirection pour échapper au test
Peut-être donc faudrait-il ajouter une condition
and !_AJAX
sur ce test. On peut patcher le trunk dans ce sens, mais amha il faut
s’abstenir de reporter en stable tant qu’on a pas un peu de recul.
Ok je pourrais commiter ça sur le trunk, et ensuite on voit s'il y a des
cris d'orfraie plus tard
Mais… ça ne dit toujours pas pourquoi il y a ce test !
Je veux dire… même sans ajax on s'en fout un peu qu'il y ait une
redirection quand même sur les quelques cas où les gens demandent
explicitement la même page, non ? Ça fait quelques rares cas où ça
redirige sur une page où on est déjà, et alors ? Au moins ça ferait le
même comportement tout le temps sans dérogation, ce qui évite ce genre
de bug.
En attendant, dans ton cas je dirai qu’il suffit de passer un
&var_bonjour=oui sur ton URL de redirection pour échapper au test
Yep, c'est ce que j'avais fait en attendant, ajouté un param quelconque
en plus, mais pas très jouli dans l'URL