Projet

Général

Profil

Bug #40108

crash lors de l'indexation sur une page avec un sub_slug utilisé dans une cellule JSON

Ajouté par Thomas Noël il y a environ 4 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
24 février 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Une page avec un sub_slub (?P<foobar>.*) et une cellule JSON dont l'URL utilise {{ foobar }}

L'indexation va tenter la page sans donner de valeur à foobar et cela débouche sur ce genre de trace :

Report at /postes-ouverts-a-candidature/poste/
failed to GET
https://formulaires-xxxx.test.entrouvert.org/api/cards/fiche-de-poste//?orig=portail- (404)

Request Method: GET
Request URL: http://testserver/postes-ouverts-a-candidature/poste/
...

Fichiers

Révisions associées

Révision 36627512 (diff)
Ajouté par Thomas Noël il y a environ 4 ans

search: do not consider page with sub_slug (#40108)

Historique

#1

Mis à jour par Thomas Noël il y a environ 4 ans

On pourrait désactiver du moteur les pages avec un sub_slug ?

(ce qui est dommage c'est que par exemple dans le cas présent on ne va pas indexer les pages des fiches de poste... mais c'est un autre sujet)

#2

Mis à jour par Thomas Noël il y a environ 4 ans

nouvelle passe sur le code, et je pense qu'il faut exclure les cellules des pages à sub_slug car celles-ci ne seront jamais visibles "sans rien après" :

        if page.sub_slug:
            if parts[i+1:] == []:
                # a sub slug is expected but was not found; redirect to parent
                # page as a mitigation.
                return HttpResponseRedirect('..')

D'où le patch suivant.

#3

Mis à jour par Frédéric Péters il y a environ 4 ans

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

Yes, le page__sub_slug='' pourrait être passé dans le .filter() existant

#4

Mis à jour par Thomas Noël il y a environ 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)

Frédéric Péters a écrit :

Yes, le page__sub_slug='' pourrait être passé dans le .filter() existant

Raaah il me faut un petit lavage de cerveau pour arrêter de penser que ça fait un A OR B quand on fait filter(A,B). Re-testé et poussé avec le filter unique.

commit 3662751240e186eaf7e3828237c88018c29079ea
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Tue Feb 25 17:12:03 2020 +0100

    search: do not consider page with sub_slug (#40108)

#5

Mis à jour par Frédéric Péters il y a environ 4 ans

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

Formats disponibles : Atom PDF