Projet

Général

Profil

Development #40564

Cellule démarches d'une catégorie : ne rien afficher si aucune formulaire n'est publié dans cette catégorie

Ajouté par Emmanuel Cazenave il y a environ 4 ans. Mis à jour il y a environ 4 ans.

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

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Actuellement le titre s'affiche puis contenu de la cellule quasi vide, exemple :

<div class="cell wcs-forms-of-category-cell wcsformsofcategorycell    ajax-loaded" data-ajax-cell-url="/ajax/cell/1/wcs_wcsformsofcategorycell-36/" data-ajax-cell-loading-message="Chargement…" data-ajax-cell-error-message="Erreur au chargement" data-extra-context="eyJhYnNvbHV0ZV91cmkiOiJodHRwczovL2RlbWFyY2hlcy52aWxsZWR1cHJlLmZyLyJ9%3A1jBHoU%3Ag-xdQrNpmA8qRukjl0FMAL3hMcg"><div>
<h2>Festivités et cérémonies</h2>
  <picture>
  <img src="/media/cache/57/cc/57cc31b277030422df1d56a536c77ca2.png" alt="">
  </picture>
</div><div class="wcs-forms-of-category-festivites">
<ul>
</ul>
</div>
</div>

Fichiers

Révisions associées

Révision 74f5c41b (diff)
Ajouté par Lauréline Guérin il y a environ 4 ans

wcs: mark cell as invalid if category is empty (#40564)

Historique

#2

Mis à jour par Lauréline Guérin il y a environ 4 ans

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

Mis à jour par Lauréline Guérin il y a environ 4 ans

On pourrait signaler la cellule comme invalide (motif: empty category), et au bout de 2 jours d'invalidité elle ne serait plus visible.
Qu'en penses-tu Manu ?

#4

Mis à jour par Emmanuel Cazenave il y a environ 4 ans

J'imaginais juste que ça afficherait rien genre rendu de template qui fait empty string, mais aucune idée la difficulté.

D'un autre coté j'ai pas du tout suivi les dernières évolutions sur l'invalidité des cellules, je ne sais pas me prononcer là dessus.

Le seul truc utile que je puisse dire c'est que le besoin fonctionnel semble être : pas de démarches rien ne s'affiche, des démarches ça apparaît (le truc étant qu'on peut avoir une ou deux démarche dans une catégorie, à un moment les dé-publier, puis republier quelques mois plus tard, et qu'on voudrait que ça suive coté combo sans avoir à intervenir).

#5

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

Je n'ai pas analysé la situation précise amenant à ce ticket mais de manière générale les démarches affichées peuvent varier selon l'usager connecté.

Les catégories "vraiment vides" je pense qu'elles n'apparaitront même pas dans /api/categories, et du coup le code d'invalidité actuel suffira.

#6

Mis à jour par Lauréline Guérin il y a environ 4 ans

Ok je n'invalide pas la cellule et je fais comme spécifié :)

#7

Mis à jour par Emmanuel Cazenave il y a environ 4 ans

La situation du ticket lié c'est catégorie existante avec des formulaires non publiés dedans.

#8

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

Et donc, "festivités", catégorie vide, donc pas dans l'API : https://formulaires.demarches.villedupre.fr/api/categories/

Du coup je dirais rien à faire ici, avec la gestion des cellules invalides elle va se trouver automatiquement désactivée.

Et quand il y aura une démarche active dedans, ça prendra max 1 heure pour apparaitre.

#9

Mis à jour par Lauréline Guérin il y a environ 4 ans

Non pas forcément: l'api de listing des categories pour ce type de cellule est appelé au save de la cellule, et n'intervient pas lors du get_data.
Donc pas de gestion de l'invalidité pour ce cas-ci.

#10

Mis à jour par Emmanuel Cazenave il y a environ 4 ans

La cellule est bien visible : https://demarches.villedupre.fr/

#11

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

Manu, le code de validité n'est pas encore en production.

Non pas forcément: l'api de listing des categories pour ce type de cellule est appelé au save de la cellule, et n'intervient pas lors du get_data.

Ok, je l'imaginais couverte par le job :

    def hourly(self):
...
        cell_classes = [c for c in self.get_models() if c in get_cell_classes()]
        for cell in CellBase.get_cells(cell_filter=lambda x: x in cell_classes, page__snapshot__isnull=True):
            if hasattr(cell, 'check_validity'):
                cell.check_validity()

Pour moi il serait suffisant de passer par la gestion de l'invalidité.

La gestion de la situation que j'évoquais, catégorie qui contient des démarches mais celles-ci pas affichées pour des questions de rôle de l'usager, amène d'autres questions, principalement on peut facilement produire un <div> vide mais celui-ci existera quand même et prendra une certaine place.

#12

Mis à jour par Lauréline Guérin il y a environ 4 ans

en fait cette cellule n'a pas de méthode check_validity (que j'ai ajoutée pour la gestion des categories multiples);
j'ai presque un patch à proposer (2 minutes je finis les tests), vous me direz si ça vous va ou si vous préférez que j'ajoute plutôt la vérification de la category dans le job hourly

#13

Mis à jour par Lauréline Guérin il y a environ 4 ans

#14

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

Je préférerais avoir désactivation quand la catégorie est vraiment vide (i.e. avoir check_validity) mais ne pas perdre le contrôle via le template pour les situations où la catégorie peut, pour certains usagers, contenir des démarches.

Alors oui peut-être que ne pas afficher de titre pourrait être le comportement par défaut, façon

--- a/combo/apps/wcs/templates/combo/wcs/forms_of_category.html
+++ b/combo/apps/wcs/templates/combo/wcs/forms_of_category.html
@@ -1,5 +1,6 @@
 {% load assets i18n %}
 {% block cell-content %}
+{% if forms %}

 {% block cell-header %}
 <h2>{{ title }}</h2>
@@ -43,4 +44,6 @@

 </ul>
 </div>
+
+{% endif %}
 {% endblock %}

Et parce que sinon même avec un gabarit ça fera un comportement compliqué à changer, peut-être même y faire :

+{% if forms or combo_display_even_empty_categories %}

(sur l'idée que combo_display_even_empty_categories soit posé par l'intégration graphique qui le souhaiterait).

#16

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

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

Mis à jour par Lauréline Guérin il y a environ 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 74f5c41b57df0e78ace99d0ac1e7769097deb23c
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Mon Mar 16 15:29:11 2020 +0100

    wcs: mark cell as invalid if category is empty (#40564)
#18

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