From 4dbd9d8e348c794bb108db1269f3e4a8546c2fc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexis=20M=C3=83taireau?= Date: Tue, 7 Apr 2020 19:47:05 +0200 Subject: [PATCH] Add the agenda of a delivery to the toolbox page. --- TODO | 4 +- copanier/models.py | 12 ++++ copanier/static/app.css | 9 +++ .../delivery/prepare_referent_email.html | 2 +- copanier/templates/delivery/show_toolbox.html | 57 ++++++++++++++++++- copanier/views/delivery.py | 2 +- 6 files changed, 81 insertions(+), 5 deletions(-) diff --git a/TODO b/TODO index 423e048..dae65c9 100644 --- a/TODO +++ b/TODO @@ -17,9 +17,9 @@ x Ajouter une note explicative pour la répartition des chèques x Permettre la supression des produits (terminer) x Gérer le souci d'URL pour l'édition d'Apiluly x Rendre plus visible l'action de modifier une commande +x Ajouter la trame (agenda d’une distribution) dans la boite à outil du coordinateur -Ajouter la trame (agenda d’une distribution) dans la boite à outil du coordinateur - +Changer les liens d'emergement, de solde et ???, trouver de meilleurs dénominations Faire un refactoring des modèles Repasser sur les tests diff --git a/copanier/models.py b/copanier/models.py index 601f187..64bc136 100644 --- a/copanier/models.py +++ b/copanier/models.py @@ -495,3 +495,15 @@ class Delivery(PersistedBase): percentage_person = person_amount / producer_total shipping = percentage_person * producer_shipping return shipping + + @property + def dates(self): + delivery_date = self.from_date.date() + return { + "creation_date": self.order_before - timedelta(weeks=4), + "price_update_start": self.order_before - timedelta(weeks=4), + "price_update_deadline": self.order_before - timedelta(weeks=2), + "order_before": self.order_before, + "adjustment_deadline": self.order_before + timedelta(days=4), + "delivery_date": delivery_date + } diff --git a/copanier/static/app.css b/copanier/static/app.css index 725f7b7..8c5b1a4 100644 --- a/copanier/static/app.css +++ b/copanier/static/app.css @@ -685,4 +685,13 @@ ul.actions > li { .underline { text-decoration: underline; text-decoration-style: dotted; +} + +.fixed-table { + width: 100%; + table-layout: fixed; +} + +.fixed-table td, .fixed-table th{ + white-space:pre-wrap; } \ No newline at end of file diff --git a/copanier/templates/delivery/prepare_referent_email.html b/copanier/templates/delivery/prepare_referent_email.html index ba28f84..4c61137 100644 --- a/copanier/templates/delivery/prepare_referent_email.html +++ b/copanier/templates/delivery/prepare_referent_email.html @@ -13,7 +13,7 @@ Bonjour, Et voilà, les commandes maintenant terminées, il est maintenant temps de passer à l'action ! En pièce-jointe, les informations pour les producteurs⋅rices dont tu est référent⋅e. -Tu peux aussi retrouver le doc à cette URL : https://{{ request.host }}/distribution/{{ delivery.id }}/produits +Tu peux aussi retrouver le doc à cette URL : https://{{ request.host }}/produits/{{ delivery.id }} Rendez-vous pour la distribution, le {{ delivery.from_date|date }} de {{ delivery.from_date|time }} à {{ delivery.to_date|time }} à {{ delivery.where }}. diff --git a/copanier/templates/delivery/show_toolbox.html b/copanier/templates/delivery/show_toolbox.html index 4ff7f8a..b4b9c0f 100644 --- a/copanier/templates/delivery/show_toolbox.html +++ b/copanier/templates/delivery/show_toolbox.html @@ -3,11 +3,66 @@ {% block toplink %}↶ Retourner à la distribution{% endblock %} {% block body %} -

Gérer « {{ delivery.name }} »

+ +
+

Gestion de la distribution « {{ delivery.name }} »

+
{% set display_counts = True %} {% include "includes/delivery_head.html" %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Quoi ?DatesCoordinatrice⋅eurRéférent⋅e⋅s produits
Création de la distribution{{ delivery.dates.creation_date | date}}Rappeler aux référent⋅e⋅s produit de mettre leurs prix à jour, vérifier que tous les producteurs⋅rices sont bien présentes, en ajouter si besoin-
Mise à jour des prixDu {{ delivery.dates.price_update_start | date }} au {{ delivery.dates.price_update_deadline | date}}Les référent⋅e⋅s produit mettent les prix à jour.
Commandes + Du {{ delivery.dates.price_update_deadline | date }} au {{ delivery.dates.order_before | date }}Envoyer le lien de commande aux groupes pour qu'iels commandent
AjustementsDu {{ delivery.dates.order_before | date }} au {{ delivery.dates.adjustment_deadline | date }}S'assurer que les ajustements sont bien faits par les participant⋅e⋅sFaire les ajustements à la main si besoin
ApprovisionnementsDu {{ delivery.dates.adjustment_deadline | date }} au {{ delivery.dates.delivery_date | date }}Envoyer les infos de commande aux référent⋅e⋅sFaire les commandes aux producteurs⋅rices, récupérer les produits
Préparation de la distributionLa veille du {{ delivery.dates.delivery_date | date }}Imprimer les bons de commandes par colocation
Distribution{{ delivery.dates.delivery_date | date }}Coordoner la distribution, faire la répartition des chèquesArriver 30mn avant le début de la distribution, répartir les produits par coloc
+

Emails des référent⋅e⋅s

Au cas où, quoi.

diff --git a/copanier/views/delivery.py b/copanier/views/delivery.py index a3300aa..a3d457a 100644 --- a/copanier/views/delivery.py +++ b/copanier/views/delivery.py @@ -142,7 +142,7 @@ async def send_referent_emails(request, response, id): response.message(f"Un mail à été envoyé aux {sent_mails} référent⋅e⋅s") response.redirect = f"/distribution/{id}/gérer" - response.html("delivery/referent_email.html", {"delivery": delivery}) + response.html("delivery/prepare_referent_email.html", {"delivery": delivery}) @app.route("/distribution/{id}/exporter", methods=["GET"])