Projet

Général

Profil

Development #64981

interdire certains slugs aux vues personnalisés

Ajouté par Frédéric Péters il y a presque 2 ans. Mis à jour il y a presque 2 ans.

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

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Genre "ics" qui clashe avec la vue existante.

Dans ensure_slug, prendre les _q_exports de CardPage et FormPage, ajouter "ics", mettre tout ça dans existing_slugs.


Fichiers

Révisions associées

Révision 3b5e97f9 (diff)
Ajouté par Corentin Séchet il y a presque 2 ans

backoffice: prevent custom views and ics & CardPage views slug conflict (#64981)

Historique

#2

Mis à jour par Corentin Séchet il y a presque 2 ans

  • Assigné à mis à Corentin Séchet
#3

Mis à jour par Corentin Séchet il y a presque 2 ans

J'ai repris ce que tu avais déjà fait pour les FormPage, en ajoutant les _q_export de CardPage et ics. Il y avait déjà un test en place, je n'ai pas ajouté de test pour toutes les urls possibles, je ne sais pas si c'est nécessaire.

#4

Mis à jour par Frédéric Péters il y a presque 2 ans

Ah trop bien je n'avais pas regardé le code...

Pour les tests sur un truc comme ça le plus facile c'est de regarder le commit qui a ajouté la vérification précéente (#53575) pour trouver le test qui lui était associé, (alternativement utiliser la vue "coverage report (native)" dans jenkins, qui pour les lignes de code peut pointer les tests).

Et ajouter une petite variation, ici ça pourrait être :

     # check slug not created with view name
-    resp = app.get('/backoffice/management/form-title/')
-    resp.forms['listing-settings']['user-label'].checked = False
-    resp = resp.forms['listing-settings'].submit()
-    resp.forms['save-custom-view']['title'] = 'Export'
-    resp.forms['save-custom-view']['visibility'] = 'any'
-    resp = resp.forms['save-custom-view'].submit()
-    assert resp.location.endswith('/x-export/')
-    resp = resp.follow()
+    for view_title in ('Export', 'ics'):
+        resp = app.get('/backoffice/management/form-title/')
+        resp.forms['listing-settings']['user-label'].checked = False
+        resp = resp.forms['listing-settings'].submit()
+        resp.forms['save-custom-view']['title'] = view_title
+        resp.forms['save-custom-view']['visibility'] = 'any'
+        resp = resp.forms['save-custom-view'].submit()
+        assert resp.location.endswith('/x-%s/' % view_title.lower())
+        resp = resp.follow()

(pas testé).

#6

Mis à jour par Frédéric Péters il y a presque 2 ans

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

Mis à jour par Corentin Séchet il y a presque 2 ans

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

Mis à jour par Corentin Séchet il y a presque 2 ans

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

Mis à jour par Corentin Séchet il y a presque 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 3b5e97f94ae2548151ada966b21c032841aaecca
Author: Corentin Séchet <csechet@entrouvert.com>
Date:   Mon May 9 16:22:16 2022 +0200

    backoffice: prevent custom views and ics & CardPage views slug conflict (#64981)
#10

Mis à jour par Transition automatique il y a presque 2 ans

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

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

Automatic expiration

Formats disponibles : Atom PDF