Bug #56974
Bug sur lien quand redirection depuis menu pwa vers une page elle-même re-dirigée
0%
Description
Avant #56308, le template combo/apps/pwa/templates/combo/pwa/navigation.html affichait un lien vers la page de redirection interne (et la seconde redirection se faisait ensuite si on cliquait).
A présent on affiche directement la seconde redirection, mais on la concatène au domaine combo (dans le template cité ci-dessus).
Fichiers
Révisions associées
Historique
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0001-pwa-absolute-redirection-url-into-internal-page-5697.patch 0001-pwa-absolute-redirection-url-into-internal-page-5697.patch ajouté
- Patch proposed changé de Non à Oui
(mettre un gabarit permet de contourner)
Ci-joint un test pour reproduire.
Mis à jour par Nicolas Roche il y a plus de 2 ans
J'hésite entre corriger le template (#29435) ou l'interception la redirection en amont (#56308).
Vu que PwaNavigationEntry permet par ailleurs de définir directement une URL externe (qui à priori permet également de contourner le problème) je trouve plus logique que la redirection ne soit pas interceptée lorsque l'on prend la peine de préciser un lien interne.
Cependant je trouve cela lourd d'adapter #56308 pour ne pas faire la redirection quand on vient de la pwa.
Peut-être que le plus simple serait d'adapter le template pour qu'il sache traiter à la fois les URL relatives et absolues.
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Patch proposed changé de Oui à Non
Il ne faut pas réintroduire de redirection inutile.
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0001-pwa-allow-absolute-redirection-url-from-internal-pag.patch 0001-pwa-allow-absolute-redirection-url-from-internal-pag.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Assigné à mis à Nicolas Roche
- Patch proposed changé de Non à Oui
Il ne faut pas réintroduire de redirection inutile.
Voici un patch qui adapte le gabarit pour traiter les URLs absolues.
Mis à jour par Frédéric Péters il y a plus de 2 ans
Plutôt modifier PwaNavigationEntry.get_url pour tout le temps retourner une URL contenant le nom de domaine; (si nécessaire à un moment from combo.middleware import get_request
).
Mis à jour par Nicolas Roche il y a plus de 2 ans
une URL contenant le nom de domaine
depuis le modèle, le seul moyen que j'ai trouvé pour récupérer le nom de domaine c'est de passer par le tenant :
site_base = get_request().tenant.domain_url
Il y aurait une autre façon de faire ?
Je demande parce que ça me paraît un peu compliqué, notamment pour faire passer le test dans le middleware ensuite.
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0001-pwa-allow-absolute-redirection-url-from-internal-pag.patch 0001-pwa-allow-absolute-redirection-url-from-internal-pag.patch ajouté
(merci)
Plutôt modifier PwaNavigationEntry.get_url pour tout le temps retourner une URL contenant le nom de domaine
j'ai fais ça.
Mis à jour par Frédéric Péters il y a plus de 2 ans
Tu peux tout le temps appeler build_absolute_uri.
genre
if get_request(): url = get_request().build_absolute_uri(url)
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0001-pwa-allow-absolute-redirection-url-from-internal-pag.patch 0001-pwa-allow-absolute-redirection-url-from-internal-pag.patch ajouté
Fait.
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
Et je l'ai poussé pour déployer aujourd'hui,
commit eb11afca1bca7e3af40b4f116c72fbafe98c8f34 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Wed Sep 15 16:40:25 2021 +0200 pwa: allow absolute redirection url from internal page (#56974)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
pwa: allow absolute redirection url from internal page (#56974)