Pouvoir filtrer les listes de docs fournisseurs
Besoin
En tant qu'ES comme EA les utilisateurices ont besoin de pouvoir m'y retrouver dans une grande quantité de documents fournisseur, en les recherchant, ou bien en les filtrant.
État actuel
Actuellement, on a ça :
/company/54/suppliers_orders
et
/company/54/suppliers_orders
(vue ES/EA, les filtres sont identiques)
/suppliers_orders
et /suppliers_invoices
(vue EA, les filtres sont identiques)
Fonctions
- ajouter aux factures fournisseur :
- recherche : nom, nom fournisseur
- filtre : fournisseur, année de création, statut, a une facture rattachée
- ajouter aux commandes fournisseurs :
- recherche : nom, nom fournisseur
- filtre : fournisseur, année, statut
NB: Pour l'heure, ça donne des filtres de recherche strictement identiques hormis la présence de facture sur la commande
Implémentation (grandes lignes)
-
views.supply
-
Factoriser
supplier_order.CompanySupplierOrderListTools
etsupplier_invoice.CompanySupplierInvoiceListTools
à traversviews.supply.SupplierDocListTools
(ils sont pour l'instant identique, mais garder de l'héritage, même si les enfants ne redéfinissent pour l'heure rien, ça viendra) -
views.supply.SupplierDocListTools
(fraîchement créé)- ajouter des méthodes
filter_*
pour les nouveaux filtres communs dansviews.supply.SupplierDocListTools
- faire évoluer
filter_name
pour implémenter les nouveaux champs de recherche
- ajouter des méthodes
-
views.supplier_order.CompanySupplierOrderListTools
- ajouter la méthode filter_has_invoice
-
-
forms
- Ré-organiser :
forms.supplier_order
etforms.supplier_invoice
- les déplacer dans un nouveau dossier
forms/supply
comme c'est fait pour les views et les models. (ex:forms.supplier_order
deviendraforms.supply.supplier_order
) - Placer l'actuel
forms.supplier_order.get_list_schema
dans un espace commun commeforms.supply.get_list_schema
car il est de fait utilisé à la fois par les supplier_order et supplier_invoice
- les déplacer dans un nouveau dossier
-
forms.supply.get_list_schema
:- Ajouter les champs/widgets pour la barre de recherche pour les nouveaux filtres communs
- Renommer au besoin les libellés du champ de recherche pour refléter où il recherche
-
forms.supply.suppliers_orders.get_list_schema
- (re)créer cette fonction, qui appelle
forms.supply.get_list_schema
et l'enrichit du champ pour filtrer selon « Facture fournisseur » : « présente / présente et validée / présente et soldée / pas encore ».
- (re)créer cette fonction, qui appelle
- Ré-organiser :