mirror of
https://github.com/almet/copanier.git
synced 2025-04-28 11:32:38 +02:00
parent
bf70af6de1
commit
cfcd3982a1
3 changed files with 18 additions and 9 deletions
|
@ -449,6 +449,15 @@ async def send_referent_emails(request, response, id):
|
|||
'delivery': delivery
|
||||
})
|
||||
|
||||
|
||||
@app.route("/livraison/{id}/{producer}/bon-de-commande", methods=["GET"])
|
||||
async def download_producer_report(request, response, id, producer):
|
||||
delivery = Delivery.load(id)
|
||||
summary = reports.summary(delivery, [producer, ])
|
||||
date = delivery.to_date.strftime("%Y-%m-%d")
|
||||
response.xlsx(summary, filename=f"{config.SITE_NAME}-{date}-{producer}-bon-de-commande.xlsx")
|
||||
|
||||
|
||||
@app.route("/livraison/{id}/exporter", methods=["GET"])
|
||||
async def export_products(request, response, id):
|
||||
delivery = Delivery.load(id)
|
||||
|
|
|
@ -288,14 +288,6 @@ class Delivery(PersistedBase):
|
|||
def total(self):
|
||||
return round(sum(o.total(self.products) for o in self.orders.values()), 2)
|
||||
|
||||
# @property
|
||||
# def producers(self):
|
||||
# return list(set([p.producer for p in self.products]))
|
||||
|
||||
# @property
|
||||
# def has_multiple_producers(self):
|
||||
# return len(self.producers) > 1
|
||||
|
||||
@property
|
||||
def is_open(self):
|
||||
return datetime.now().date() <= self.order_before.date()
|
||||
|
@ -307,6 +299,10 @@ class Delivery(PersistedBase):
|
|||
@property
|
||||
def is_passed(self):
|
||||
return not self.is_foreseen
|
||||
|
||||
@property
|
||||
def can_generate_reports(self):
|
||||
return not self.is_open and not self.needs_adjustment
|
||||
|
||||
@property
|
||||
def has_packing(self):
|
||||
|
|
|
@ -4,7 +4,11 @@
|
|||
{% set producers = delivery.producers %}
|
||||
{% endif %}
|
||||
{% for producer in producers %}
|
||||
<h2>{{ producer }} {% if edit_mode %}<a class="button" href="/livraison/{{ delivery.id }}/{{ producer }}/éditer"><i class="icon-ribbon"></i>Éditer</a> <a class="button" href="/livraison/{{ delivery.id }}/{{ producer }}/ajouter-produit"><i class="icon-puzzle"></i>Ajouter un produit </a>{% endif %}</h2>
|
||||
<h2>{{ producer }} {% if edit_mode %}<a class="button" href="/livraison/{{ delivery.id }}/{{ producer }}/éditer"><i class="icon-ribbon"></i>Éditer</a> <a class="button" href="/livraison/{{ delivery.id }}/{{ producer }}/ajouter-produit"><i class="icon-puzzle"></i>Ajouter un produit </a>{% endif %}
|
||||
{% if delivery.can_generate_reports and (request.user.is_staff or delivery.producers[producer].referent == request.user.email) %}
|
||||
<a class="button" href="/livraison/{{ delivery.id }}/{{ producer }}/bon-de-commande"><i class="icon-grid"></i> Télécharger le bon de commande</a>
|
||||
{% endif %}
|
||||
</h2>
|
||||
<h5>{% if delivery.producers[producer].description %}{{ delivery.producers[producer].description }}{% endif %}. Référent⋅e : {{ delivery.producers[producer].referent }} / {{ delivery.producers[producer].tel_referent }}</h5>
|
||||
<table class="delivery">
|
||||
<thead>
|
||||
|
|
Loading…
Reference in a new issue