diff --git a/copanier/__init__.py b/copanier/__init__.py index feee140..464c4e7 100644 --- a/copanier/__init__.py +++ b/copanier/__init__.py @@ -451,14 +451,15 @@ async def send_referent_emails(request, response, id): email_subject = request.form.get("email_subject") for referent in delivery.get_referents(): producers = delivery.get_producers_for_referent(referent) - summary = reports.summary(delivery, producers) - emails.send( - referent, - email_subject, - email_body, - copy=delivery.contact, - attachments=[(f"{config.SITE_NAME}-{date}-{referent}.xlsx", summary)], - ) + if any([delivery.producers[p].has_active_products(delivery) for p in producers]): + summary = reports.summary(delivery, producers) + emails.send( + referent, + email_subject, + email_body, + copy=delivery.contact, + attachments=[(f"{config.SITE_NAME}-{date}-{referent}.xlsx", summary)], + ) response.message("Le mail à bien été envoyé") response.redirect = f"/livraison/{id}/gérer" diff --git a/copanier/models.py b/copanier/models.py index 24a3ed8..c69264c 100644 --- a/copanier/models.py +++ b/copanier/models.py @@ -168,6 +168,10 @@ class Producer(Base): contact: str = "" description: str = "" + def has_active_products(self, delivery): + products = delivery.get_products_by(self.id) + return any([not p.rupture for p in products]) + @dataclass class Product(Base):