Projet

Général

Profil

Development #41090

Cellule "Saisie backoffice" : ne pas afficher si vide

Ajouté par Marie Kuntz il y a environ 4 ans. Mis à jour il y a presque 4 ans.

Statut:
Fermé
Priorité:
Bas
Assigné à:
Version cible:
-
Début:
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Ne pas afficher la cellule (le titre "nouvelle demande") si l'agent ne peut saisir aucune démarche pour l'usager


Fichiers

Révisions associées

Révision f48c4484 (diff)
Ajouté par Lauréline Guérin il y a presque 4 ans

wcs: don't display empty sites in BackofficeSubmissionCell (#41090)

Historique

#1

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

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

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

#3

Mis à jour par Nicolas Roche il y a environ 4 ans

Je réalise qu'il restera une bande blanche d'affichée.

Peut-être qu'il vaudrait mieux ne pas du tout afficher la cellule si elle est vide.
Pour cela il faut dupliquer la requête HTTP qui ne vient qu'après, ce qui n'est peut-être pas terrible :
(ce code ne gère pas les retours en erreurs...)

class BackofficeSubmissionCell(WcsDataBaseCell):
...
+   def is_visible(self, user=None, check_validity_info=True):
+       wcs_services = get_wcs_services()
+       for service in wcs_services.values():
+           api_url = self.get_api_url(None)
+           response = requests.get(
+               api_url,
+               remote_service=service,
+               user=user,
+               cache_duration=self.cache_duration,
+               raise_if_not_cached=False,
+               log_errors=False)
+           if response.json()['data'] != []:
+               break
+       else:
+           return False  
+       return True

#4

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

Il faut qu'on affiche le div même s'il est vide, pour des histoires de chargement ajax.

Plusieurs options:
- marquer le div vide d'une classe css qui permette de les rendre invisibles
- ajouter un message "y'a rien", qu'on pourrait faire sauter avec une variable combo_hide_empty_message dans une surcharge de template
- d'autres idées ?

On vote ? :)

#5

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

  • Statut changé de Solution proposée à En cours
#6

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

bon j'ai fait les deux :)
(admirez la beauté du JS)

#7

Mis à jour par Nicolas Roche il y a environ 4 ans

Je n'arrive pas à passer dans le JS,

! $elem.find('> div').children().length

à mon avis parce que la balise div n'est pas vide.
<div>
  <div class="empty-message">
    <p>There are no possible backoffice submissions.</p>
  </div>
<div>

Tout bien réfléchi, si un agent n'a pas à faire de saisie backoffice, il suffirait de limiter l'affichage de la cellule aux rôles des agents qui peuvent le faire.
Et donc, peut-être qu'un ticket client permettrait de mieux définir ce qui est attendu ici ?

(En vérité je ne comprend pas : si la cellule n'est affichée, pourquoi devrait-elle être chargée en ajax ?)

#8

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

à mon avis parce que la balise div n'est pas vide.

Parce que "bon j'ai fait les deux :)" (si combo_hide_empty_message est posé (via hobo) le div "empty-message" n'est pas affiché.

(En vérité je ne comprend pas : si la cellule n'est affichée, pourquoi devrait-elle être chargée en ajax ?)

La mécanique ici est plus générale, des cellules peuvent se rafraichir automatiquement (attribut ajax_refresh), pour afficher du contenu qui serait arrivé entretemps.

~~

(à propos du patch)

Je pense que le $elem.removeClass('empty-cell'); devrait venir plus tard, uniquement quand du contenu a été détecté dans la cellule; sans ça il me semble qu'une cellule au départ vide et configurée pour se rafraichir va occuper de l'espace (barre de chargement) temporairement et faire se déplacer puis revenir les cellules qui sont plus bas.

#9

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

removeClass déplacé.

Note: j'ai bien testé le JS en mode ajax/non ajax (mais pour arriver à avoir des cellules vide j'ai trituré un peu mes templates)

#10

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

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

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

  • Statut changé de Solution validée à Résolu (à déployer)
commit f48c4484f78963990cdb4c4cdbcdf5cf1ce6e06f
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Thu Apr 2 15:17:32 2020 +0200

    wcs: don't display empty sites in BackofficeSubmissionCell (#41090)
#12

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

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

Formats disponibles : Atom PDF