Factoriser la gestion des commentaires / statuts
Issue pur dév/architecture, mais rendue nécessaire par #1170 (closed)
Question design, on a un suivi du statut+commentaires dans les devis-factures-avoirs (ça c'est factorisé), mais également dans les NDF (pas factorisé avec les précédents).
Là j'attaque les commande fournisseur, où il y aura également un fil de commentaires et des statuts, je me dis que c'est bien au moins de le prévoir sous une forme factorisable (au niveau du Node, ou bien de classes de Modèle abstraites), quitte à factoriser avec les autres plus tard.
@tonthon (vu que c'est toi qui a écrit ces bouts de code selon git blame), un avis ?
Tâches que je vois :
-
Fusionner les modèles/tables StatusLogEntry / TaskStatus / Communication -
Fil d'événements sur la page d'accueil (bien simplifié par le point précédent)
-
-
Gestion plus formelle et cohérente du « statut global » (ex: celui affiché dans le listing des factures qui est en fait un mix du statut de validation et du statut de paiement) -
Expliciter un peu cette histoire de postits (qui rendraient les DocumentMessage de mon schéma ci-dessous inutiles ?) (@eheliot ? ticket dédié ?) -> #2629 - mixins de documents :
-
Utiliser ValidationStatusMixin dans Task et dans ExpenseSheet -
Utiliser PaidStatusMixin dans SupplierInvoice -
Créer un JustifiedStatusMixin (qui pourra être utilisé dans les NDD comme les docs fournisseur) -
Créer un SignedStatusMixin (pour les devis) -
ajouter aux états de ce statut un état invoiced
, à voir on peut peut-être virer la colonnegeninv
du même coup). -
Peut-être la renommer signed_status
->customer_status
; qui serait plus correct.
-
-
-
probablement un peu de travail autour des machines à état (pas re-creusé, mais l'essentiel du travail semble déjà en place, cf aussi #1584 )
Les modifs précédentes devraient conférer à tous les statuts de tous les docs un fonctionnement similaire :
- pouvoir associer partout un commentaire à un changement d'état.
- avoir des fils d'événements qui agrègent différents statuts d'un même doc (ex: paiement et validation)
- avoir des fils d'événements qui agrègent différents statuts de différents types de docs (ex: fil global sur l'accueil). Actuellement c'est compliqué de faire ce genre de choses.
- avoir des widgets/panels d'interface concernant les statuts factorisér, et non pas un par type de doc