Projet

Général

Profil

Bug #70646

Les liens dans les cellules textes contenant des gabarits ne fonctionnent plus en recette

Ajouté par Mikaël Ates il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
25 octobre 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

A l'origine constaté dans #69911 et corrigé sur https://portail-saone-et-loire.test.entrouvert.org/manage/pages/25/. Page équivalente en production non concernée.

Les URL que j'ai corrigé avaient un href contenaient :

%7B%7B%20eservices_url%20%7D%7Dapa/simulateur-de-demande-allocation-per-sonnalisee-d-autonomie-apa-nouveau/?cancelurl=%7B%7B%20portal_url%20%7D%7Dapa/

Ce qui donnait un lien cassé sur l'URL https://portail-saone-et-loire.test.entrouvert.org/%7B%7B%20eservices_url%20%7D%7Dapa/simulateur-de-demande-allocation-per-sonnalisee-d-autonomie-apa-nouveau/?cancelurl=%7B%7B%20portal_url%20%7D%7Dapa/

J'ai remplacé par :

{{ eservices_url }}apa/simulateur-de-demande-allocation-per-sonnalisee-d-autonomie-apa-nouveau/?cancelurl={{ portal_url }}apa/

et le lien est rétabli.

Lorsque je vais sur une autre instance de recette, https://portail-usager-hautes-alpes.test.entrouvert.org/manage/pages/25/, que je n'ai pas encore corrigée, je vois le même type de lien avec substitution : <a href="%7B%7B%20eservices_url%20%7D%7Dapa/premiere-demande-d-allocation-personnalisee-d-autonomie-apa-a-domicile/?cancelurl=%7B%7B%20portal_url%20%7D%7Dapa/">Je souhaite faire une première demande d'APA à domicile</a>

En front office, cela donne donc aussi un lien cassé. Sur cette page https://portail-usager-hautes-alpes.test.entrouvert.org/apa/ lien cassé sur https://portail-usager-hautes-alpes.test.entrouvert.org/apa/%7B%7B%20eservices_url%20%7D%7Dapa/premiere-demande-d-allocation-personnalisee-d-autonomie-apa-a-domicile/?cancelurl=%7B%7B%20portal_url%20%7D%7Dapa/.

Ces pages n'ont pas été modifiées récemment. Cela fait penser à une mise à jour récente en recette qui aurait changé le comportement sur les cellules textes.


Fichiers

Révisions associées

Révision 6d2b0f9e (diff)
Ajouté par Lauréline Guérin il y a plus d'un an

data: fix textcell title migration (#70646)

Historique

#2

Mis à jour par Mikaël Ates il y a plus d'un an

  • Description mis à jour (diff)
#3

Mis à jour par Frédéric Péters il y a plus d'un an

Migration sur les titres qui parse l'HTML qui quote les {{}} dans les liens et bardaf.

#4

Mis à jour par Lauréline Guérin il y a plus d'un an

  • Assigné à mis à Lauréline Guérin
#5

Mis à jour par Frédéric Péters il y a plus d'un an

Pour exécution locale des corrections, je lance ceci :

import re
import urllib.parse

from combo.data.models import TextCell

def sub_variadic_url(match):
    attribute = match.group(1)
    url = match.group(2)
    if '%7B%7B' in url or '%7B%25' in url:
        url = urllib.parse.unquote(url)
    return '%s="%s"' % (attribute, url)

for cell in TextCell.objects.filter(page__snapshot__isnull=True).filter(text__contains='%7B'):
    orig_text = cell.text
    cell.text = re.sub(r'(href|src)="(.*?)"', sub_variadic_url, cell.text)
    if cell.text != orig_text:
        print('saving cell', cell)
        cell.save()
#6

Mis à jour par Lauréline Guérin il y a plus d'un an

Split de la migration en 0058 et 0059, pour éviter de faire un changement de schéma et de données dans une même migration.

Les modifs:

Dans la 0059, si cell.title est déjà setté (en recette par exemple, ou en local), on ne fait rien:

        if cell.title:
            # already set in previous version of 0058_textcell_title
            continue

Cellules filtrées sur page__snapshot__isnull=True

Fix des urls:

        cell.text = re.sub(r'(href|src)="(.*?)"', sub_variadic_url, text)

(et la migration reverse reset cell.title, c'est un détail, mais ça permet de revert juste 0059 sans avoir besoin d'aller jusqu'à revert 0058 pour avoir des données clean)

#7

Mis à jour par Frédéric Péters il y a plus d'un an

  • Statut changé de Solution proposée à Solution validée
#8

Mis à jour par Lauréline Guérin il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)
commit 6d2b0f9e0b67f70a9787c4cc3949a0f745cc9da4
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Tue Oct 25 11:39:49 2022 +0200

    data: fix textcell title migration (#70646)
#9

Mis à jour par Transition automatique il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#10

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF