Modifier les commandes rattachées à une facture fournisseur
Besoin
Si on s'est trompés à l'étape de sélection des commandes fournisseur rattachées à une facture fournisseur à la création de celle-ci, il n'est pas possible de modifier sa sélection après coup ; il faut supprimer une facture et la recréeer.
Fonction
- En tant qu'ES/EA, depuis la vue détail d'une facture fournisseur, je veux pouvoir modifier la liste des factures rattachées aisément.
Implémentation
Modèles
- Ajouter une FK nullable
SupplierInvoiceLine.source_supplier_order_line_id
versSupplierOrderLine.id
Vue (fullJS)
Contrainte : il faudra déplacer cette info, depuis la zone statique :
… Vers la zone FullJS, par ex sous le titre « propriétés de la facture », à voir sous quelle forme (cf discussions).
-
👷 Si nécessaire : implémenter le bon widget (je n'en ai pas trouvé dans les widgets FullJS qu'on a déjà) ; bien penser à gérer un mode readonly pour ce widget (lorsqu'editable=False
, cfSelectWidget.mustache
pour un exemple). - L'intégrer à la vue (SupplierInvoiceFormView.mustache et SupplierInvoiceFormView.js)
Contrôleur (views.supply.rest_api.RestSupplierInvoiceView)
- Ajouter la prise en charge de cette nouvelle donnée côté API, notamment :
- si on ajoute une commande fournisseur : on importe toutes ses lignes
- si on retire une commande fournisseur, on retire toutes les lignes qui y étaient rattachées (grace à source_supplier_order_line_id)
- on valide bien que toutes les commandes sont du même fournisseur ; sinon on enregistre pas et on renvoie une erreur
TODO
À ne pas oublier :
-
implémenter un widget de sélection multiple plus sexy que l'actuel : -
restreindre les choix sélectionables (commandes non déjà associées à une facture + de la bonne enseigne) -
affichage -
validation
-
-
recharger la liste des orders dispos au changement d'order (pour garder une cohérence : même taux et même supplier) -
Vérifier que le CheckboxList passe en ReadOnly correctement si le doc est en statut validé -
Rafraîchir l'affichage des lignes quand on modifie la liste des Order liées -
Reword dans le listing invoices : « pas encore » -> « aucune » -
BUG: le total n'est pas mis à jour quand on modifie la liste des lignes d'une invoice ; peut-être le cas sur les order aussi ?-> #1728 (closed) -
Supprimer la liste des commandes concernées de la partie non-JS, pour éviter redondance.
Edited by Jocelyn