mirror of
https://github.com/almet/copanier.git
synced 2025-04-28 19:42:37 +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
|
'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"])
|
@app.route("/livraison/{id}/exporter", methods=["GET"])
|
||||||
async def export_products(request, response, id):
|
async def export_products(request, response, id):
|
||||||
delivery = Delivery.load(id)
|
delivery = Delivery.load(id)
|
||||||
|
|
|
@ -288,14 +288,6 @@ class Delivery(PersistedBase):
|
||||||
def total(self):
|
def total(self):
|
||||||
return round(sum(o.total(self.products) for o in self.orders.values()), 2)
|
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
|
@property
|
||||||
def is_open(self):
|
def is_open(self):
|
||||||
return datetime.now().date() <= self.order_before.date()
|
return datetime.now().date() <= self.order_before.date()
|
||||||
|
@ -307,6 +299,10 @@ class Delivery(PersistedBase):
|
||||||
@property
|
@property
|
||||||
def is_passed(self):
|
def is_passed(self):
|
||||||
return not self.is_foreseen
|
return not self.is_foreseen
|
||||||
|
|
||||||
|
@property
|
||||||
|
def can_generate_reports(self):
|
||||||
|
return not self.is_open and not self.needs_adjustment
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def has_packing(self):
|
def has_packing(self):
|
||||||
|
|
|
@ -4,7 +4,11 @@
|
||||||
{% set producers = delivery.producers %}
|
{% set producers = delivery.producers %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% for producer in producers %}
|
{% 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>
|
<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">
|
<table class="delivery">
|
||||||
<thead>
|
<thead>
|
||||||
|
|
Loading…
Reference in a new issue