Skip products without orders in order form

This commit is contained in:
Yohan Boniface 2019-04-17 21:31:53 +02:00
parent c020ec89fa
commit a6a504d0ca
4 changed files with 5 additions and 4 deletions

View file

@ -359,7 +359,7 @@ async def import_commande(request, response, id):
response.redirect = f"/livraison/{delivery.id}" response.redirect = f"/livraison/{delivery.id}"
@app.route("/livraison/{id}/rapport.xlsx", methods=["GET"]) @app.route("/livraison/{id}/bon-de-commande.xlsx", methods=["GET"])
async def xls_report(request, response, id): async def xls_report(request, response, id):
delivery = Delivery.load(id) delivery = Delivery.load(id)
response.xlsx(reports.summary(delivery)) response.xlsx(reports.summary(delivery))

View file

@ -21,6 +21,8 @@ def summary(delivery):
ws.append(headers) ws.append(headers)
for product in delivery.products: for product in delivery.products:
wanted = delivery.product_wanted(product) wanted = delivery.product_wanted(product)
if not wanted:
continue
ws.append( ws.append(
[ [
product.ref, product.ref,

View file

@ -60,7 +60,7 @@
<hr> <hr>
<ul class="toolbox"> <ul class="toolbox">
<li> <li>
<a href="/livraison/{{ delivery.id }}/rapport.xlsx"><i class="icon-ribbon"></i> Bon de commande</a> <a href="/livraison/{{ delivery.id }}/bon-de-commande.xlsx"><i class="icon-ribbon"></i> Bon de commande</a>
</li> </li>
<li> <li>
<a href="/livraison/{{ delivery.id }}/rapport-complet.xlsx"><i class="icon-grid"></i> Rapport complet</a> <a href="/livraison/{{ delivery.id }}/rapport-complet.xlsx"><i class="icon-grid"></i> Rapport complet</a>

View file

@ -6,7 +6,7 @@ from copanier import reports
from copanier.models import Order, Product, ProductOrder from copanier.models import Order, Product, ProductOrder
def test_export_products(client, delivery): def test_summary_report(client, delivery):
delivery.products[0].packing = 6 delivery.products[0].packing = 6
delivery.products.append( delivery.products.append(
Product(ref="456", name="yaourt", price="3.5", packing=4, unit="pot 125ml") Product(ref="456", name="yaourt", price="3.5", packing=4, unit="pot 125ml")
@ -21,6 +21,5 @@ def test_export_products(client, delivery):
("ref", "produit", "prix unitaire", "quantité commandée", "unité", "total"), ("ref", "produit", "prix unitaire", "quantité commandée", "unité", "total"),
("123", "Lait", 1.5, 1, None, 1.5), ("123", "Lait", 1.5, 1, None, 1.5),
("456", "yaourt (pot 125ml)", 3.5, 4, "pot 125ml", 14), ("456", "yaourt (pot 125ml)", 3.5, 4, "pot 125ml", 14),
("789", "fromage", 9.2, 0, None, 0),
(None, None, None, None, "Total", 15.5), (None, None, None, None, "Total", 15.5),
] ]