Add the agenda of a delivery to the toolbox page.

This commit is contained in:
Daniel Atwood 2020-04-07 19:47:05 +02:00
parent 7c1c7a686a
commit 74f4229fd0
6 changed files with 81 additions and 5 deletions

4
TODO
View file

@ -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 dune distribution) dans la boite à outil du coordinateur
Ajouter la trame (agenda dune 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

View file

@ -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
}

View file

@ -686,3 +686,12 @@ ul.actions > li {
text-decoration: underline;
text-decoration-style: dotted;
}
.fixed-table {
width: 100%;
table-layout: fixed;
}
.fixed-table td, .fixed-table th{
white-space:pre-wrap;
}

View file

@ -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 }}.

View file

@ -3,11 +3,66 @@
{% block toplink %}<a href="/distribution/{{ delivery.id }}">↶ Retourner à la distribution</a>{% endblock %}
{% block body %}
<h1>Gérer « {{ delivery.name }} »</h1>
<div class="header">
<h1>Gestion de la distribution « {{ delivery.name }} »</h1>
</div>
{% set display_counts = True %}
{% include "includes/delivery_head.html" %}
<table class="pure-table fixed-table">
<thead>
<tr>
<th>Quoi ?</th><th>Dates</th><th>Coordinatrice⋅eur</th><th>Référent⋅e⋅s produits</th>
</tr>
</thead>
<tbody>
<tr>
<th>Création de la distribution</th>
<td>{{ delivery.dates.creation_date | date}}</td>
<td>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</td>
<td>-</td>
</tr>
<tr>
<th>Mise à jour des prix</th>
<td>Du {{ delivery.dates.price_update_start | date }} au {{ delivery.dates.price_update_deadline | date}}</td>
<td></td>
<td>Les référent⋅e⋅s produit mettent les prix à jour.</td>
</tr>
<tr>
<th>Commandes</td>
<td>Du {{ delivery.dates.price_update_deadline | date }} au {{ delivery.dates.order_before | date }}</td>
<td>Envoyer le lien de commande aux groupes pour qu'iels commandent</td>
<td></td>
</tr>
<tr>
<th>Ajustements</th>
<td>Du {{ delivery.dates.order_before | date }} au {{ delivery.dates.adjustment_deadline | date }}</td>
<td>S'assurer que les ajustements sont bien faits par les participant⋅e⋅s</td>
<td>Faire les ajustements à la main si besoin</td>
</tr>
<tr>
<th>Approvisionnements</th>
<td>Du {{ delivery.dates.adjustment_deadline | date }} au {{ delivery.dates.delivery_date | date }}</td>
<td><a href="/distribution/{{ delivery.id }}/envoi-email-referentes">Envoyer les infos de commande aux référent⋅e⋅s</a></td>
<td>Faire les commandes aux producteurs⋅rices, <strong>récupérer les produits</strong></td>
</tr>
<tr>
<th>Préparation de la distribution</th>
<td>La veille du {{ delivery.dates.delivery_date | date }}</td>
<td><a href="/distribution/{{ delivery.id }}/émargement">Imprimer les bons de commandes par colocation</a></td>
<td></td>
</tr>
<tr>
<th>Distribution</th>
<td>{{ delivery.dates.delivery_date | date }}</td>
<td>Coordoner la distribution, <a href="/distribution/{{ delivery.id }}/solde">faire la répartition des chèques</a></td>
<td>Arriver 30mn avant le début de la distribution, répartir les produits par coloc</td>
</tr>
</tbody>
</table>
<h3>Emails des référent⋅e⋅s</h3>
<p>Au cas où, quoi.</p>
<textarea class="list-emails" rows=5>{{ referents | join(', ') }}</textarea>

View file

@ -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"])