Bug #47099
recherche subslug vs tirets
0%
Description
error at /recherche-dechets/4 bad character in group name 'annuaire-pour-les-consommateurs-de-solutions-de-reduction-des-dechets-et-deconomie-circulaire-de-la-metropole-de-lyon_id' at position 5 ... Traceback: File "/usr/lib/python3/dist-packages/django/core/handlers/exception.py" in inner 41. response = get_response(request) File "/usr/lib/python3/dist-packages/django/core/handlers/base.py" in _get_response 187. response = self.process_exception_by_middleware(e, request) File "/usr/lib/python3/dist-packages/django/core/handlers/base.py" in _get_response 185. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python3/dist-packages/combo/public/views.py" in page 493. match = re.match('^' + page.sub_slug + '$', parts[i+1]) File "/usr/lib/python3.7/re.py" in match 173. return _compile(pattern, flags).match(string) File "/usr/lib/python3.7/re.py" in _compile 286. p = sre_compile.compile(pattern, flags) File "/usr/lib/python3.7/sre_compile.py" in compile 764. p = sre_parse.parse(p, flags) File "/usr/lib/python3.7/sre_parse.py" in parse 930. p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0) File "/usr/lib/python3.7/sre_parse.py" in _parse_sub 426. not nested and not items)) File "/usr/lib/python3.7/sre_parse.py" in _parse 685. raise source.error(msg, len(name) + 1)
Fichiers
Révisions associées
manager: check that sub_slug is a valid regex (#47099)
Historique
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier 0002-manager-check-that-sub_slug-is-a-valid-regex-47101.patch 0002-manager-check-that-sub_slug-is-a-valid-regex-47101.patch ajouté
- Fichier 0001-pages-sub_slug-regexp-in-group-name-47101.patch 0001-pages-sub_slug-regexp-in-group-name-47101.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Proposition:
Sachant qu'il à mon sens non pertinent de:
- modifier w.c.s. pour changer la génération des slugs des CardModel pour remplacer les - par des _ (avec le legacy et tout)
- forcer le user à modifier manuellement les slugs des CardModel qu'il souhaite utiliser dans les cellules de recherche et les cellules Fiche (#46767) pour virer les -
0001: J'ai choisi de me placer au niveau de l'accès à une page avec sub_slug, de faire une moulinette pour remplacer les - par des _ des named groups mais injecter quand même les variables attendues dans le contexte, qui est un dictionnaire (- ou _ là peu importe, autant injecter ce qu'on s'attend à y trouver)
0002: petite vérification au niveau du formulaire d'édition du sub_slug, on vérifie que ça compile bien
Mis à jour par Frédéric Péters il y a plus de 3 ans
contexte, qui est un dictionnaire (- ou _ là peu importe, autant injecter ce qu'on s'attend à y trouver)
Oui mais on va l'exploiter derrière dans un gabarit django et on ne pourra pas taper https://url/{{fiche-id}}/ comme redirection par exemple. Peut-être mettre dans le contexte à la fois la forme originelle avec des tirets et une forme convertie avec que des underscores ?
Mis à jour par Lauréline Guérin il y a plus de 3 ans
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 2c853fbe80b20121fddf432beec6fecfb7207bad Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Tue Sep 29 15:30:30 2020 +0200 manager: check that sub_slug is a valid regex (#47099) commit dfc23379473c79c4b0acdb803a579c515c788cfe Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Tue Sep 29 15:14:28 2020 +0200 pages: sub_slug, regexp & '-' in group name (#47099)
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
pages: sub_slug, regexp & '-' in group name (#47099)