Development #35703
dans la vue traitement alimenter les filtres "liste" avec les options effectivement utilisées
0%
Description
Aujourd'hui c'est fait en tirant les options présentées par la source de données mais celle-ci peut évoluer dans le temps (par exemple une source chrono avec des événements qui ne sont plus disponibles).
L'idée serait (possible en SQL, pas en Pickle) de plutôt moissonner les choix qui se trouvent pour de vrai dans les demandes. (attention au cas des choix multiples).
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Emmanuel Cazenave il y a plus de 4 ans
- Lié à Development #37534: Améliorer les champs listes utilisés comme critère de recherche ajouté
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Frédéric Péters
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Fichier 0001-backoffice-use-actual-data-for-item-s-field-filters-.patch 0001-backoffice-use-actual-data-for-item-s-field-filters-.patch ajouté
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Au cas où, la modif qui semble sortie de nulle part dans test_backoffice_csv, c'est parce qu'un filtre est appliqué et le filtre "filter-2-value" disparait alors, dans un navigateur il réapparaitrait (via js) après le changement de la valeur de filter-start-value mais pour le test, c'est plus facile de juste le reposer explicitement.
Mis à jour par Thomas Noël il y a plus de 4 ans
Dans wcs/backoffice/management.py typo sur :
if selected_filter == 'waniting': # au lieu de waiting
À toi de voir si tu peux/veux ajouter un test qui aurait remonté cette typo.
Rien d'autre à dire, ça me parait pas mal. Peut-être qu'on pourrait mettre l'amélioration de FormData::__getattr__ dans un premier commit à part, mais bof (faudrait un test qui le couvre, toussa). Ah oui aussi le select_distinct
, peut-être le coller juste après la définition de select
, ce qui te permettra de discrétement retirer la double ligne vide avant le def get_sql_dict_from_data
qui suit.
Bon vraiment rien d'important en dehors de la typo, en fait.
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Fichier 0001-backoffice-use-actual-data-for-item-s-field-filters-.patch 0001-backoffice-use-actual-data-for-item-s-field-filters-.patch ajouté
À toi de voir si tu peux/veux ajouter un test qui aurait remonté cette typo.
J'ai étendu les tests, ça n'en crée pas un qui fasse la différence de situation mais ça a permis d'entrer dans cette branche et de planter sur user qui n'était pas défini. →
- if selected_filter == 'waniting': + if selected_filter == 'waiting': + user = get_request().user
+ modifié la position de méthode select_distinct().
Mis à jour par Thomas Noël il y a plus de 4 ans
Je viens voir un truc, sur la partie :
if selected_filter == 'all': criterias.append(NotEqual('status', 'draft')) elif selected_filter in ('waiting', 'pending'): statuses = ['wf-%s' % x.id for x in self.formdef.workflow.get_not_endpoint_status()] criterias.append(Contains('status', statuses)) if selected_filter == 'waiting': user = get_request().user user_roles = [logged_users_role().id] + user.get_roles() criterias.append(Intersects('actions_roles_array', user_roles)) elif selected_filter == 'done': statuses = ['wf-%s' % x.id for x in self.formdef.workflow.get_endpoint_status()] criterias.append(Contains('status', statuses))
en comparant avec ce qui est fait dans "def stats" actuellement (http://git.entrouvert.org/wcs.git/tree/wcs/backoffice/management.py#n1910), il manque la gestion du cas où selected_filter est vide, mais surtout le moment où c'est un statut spécifique... non ?
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Fichier 0001-backoffice-use-actual-data-for-item-s-field-filters-.patch 0001-backoffice-use-actual-data-for-item-s-field-filters-.patch ajouté
Le cas vide ne doit pas se présenter, selected_filter est tiré de get_filter_from_query() (et par des manipulations d'UI il n'y aura jamais filter= vide dans l'URL) (mais si ça arrive le tableau sera vide). Pour le cas d'un statut précis pointé, yep, et voilà corrigé. (avec un test étendu pour ~montrer ça).
Mis à jour par Thomas Noël il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 7955c2980a28779bf20785d05b55b8bc40524701 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Mon Dec 9 17:03:09 2019 +0100 backoffice: use actual data for item(s) field filters (#35703)
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
backoffice: use actual data for item(s) field filters (#35703)