Use the url_for helper rather than direct URLs in templates

This commit is contained in:
Alexis MÃtaireau 2020-04-08 23:21:51 +02:00
parent 6e19f3d339
commit f108121035
19 changed files with 44 additions and 85 deletions

View file

@ -22,7 +22,7 @@
<a href="#" class="pure-menu-link"><i class="icon-printer"></i>&nbsp;Imprimer…</a> <a href="#" class="pure-menu-link"><i class="icon-printer"></i>&nbsp;Imprimer…</a>
<ul class="pure-menu-children"> <ul class="pure-menu-children">
<li class="pure-menu-item"><a href="{{ url_for('list_products', id=delivery.id) }}/produits.pdf" class="pure-menu-link"><i class="icon-ribbon"></i>&nbsp;Commande producteurs⋅rices</a></li> <li class="pure-menu-item"><a href="{{ url_for('list_products', id=delivery.id) }}/produits.pdf" class="pure-menu-link"><i class="icon-ribbon"></i>&nbsp;Commande producteurs⋅rices</a></li>
<li class="pure-menu-item"><a href="{{ url_for('orders_summary', id=delivery.id) }}" class="pure-menu-link"><i class="icon-grid"></i>&nbsp;Résumé de commande par groupe</a></li> <li class="pure-menu-item"><a href="{{ url_for('show_orders_summary', id=delivery.id) }}" class="pure-menu-link"><i class="icon-grid"></i>&nbsp;Résumé de commande par groupe</a></li>
<li class="pure-menu-item"><a href="{{ url_for('compute_payments', id=delivery.id) }}" class="pure-menu-link"><i class="icon-wallet"></i>&nbsp;Répartition des paiements</a></li> <li class="pure-menu-item"><a href="{{ url_for('compute_payments', id=delivery.id) }}" class="pure-menu-link"><i class="icon-wallet"></i>&nbsp;Répartition des paiements</a></li>
</ul> </ul>
</li> </li>
@ -64,7 +64,7 @@
{% if request.user and request.user.is_staff %} {% if request.user and request.user.is_staff %}
Occupons-nous donc de ça ! Deux options : Occupons-nous donc de ça ! Deux options :
<ol> <ol>
<li><a href="{{ url_for('create_producer', id=delivery.id) }}">Ajouter les product⋅eurs⋅rices</a> à la main ;</li> <li><a href="{{ url_for('create_producer', delivery_id=delivery.id) }}">Ajouter les product⋅eurs⋅rices</a> à la main ;</li>
<li>Ou bien <a href="{{ url_for('copy_products', id=delivery.id) }}">copier les produits d'une autre distribution</a>.</li> <li>Ou bien <a href="{{ url_for('copy_products', id=delivery.id) }}">copier les produits d'une autre distribution</a>.</li>
</ol> </ol>
</div> </div>

View file

@ -72,23 +72,23 @@
Avant et pendant la distribution : Avant et pendant la distribution :
<ul> <ul>
<li><a href="/groupes"><i class="icon-globe"></i>&nbsp; Gérer les groupes / colocs</a></li> <li><a href="{{ url_for('groups', id=delivery.id) }}"><i class="icon-globe"></i>&nbsp; Gérer les groupes / colocs</a></li>
<li><a href="/distribution/{{ delivery.id }}/edit"><i class="icon-pencil"></i>&nbsp; Modifier la commande (dates, lieu, référent⋅e, etc)</a></li> <li><a href="{{ url_for('edit_delivery', id=delivery.id) }}"><i class="icon-pencil"></i>&nbsp; Modifier la commande (dates, lieu, référent⋅e, etc)</a></li>
<li><a href="/produits/{{ delivery.id }}"><i class="icon-pencil"></i>&nbsp; Gérer les produits</a></li> <li><a href="{{ url_for('list_products', id=delivery.id) }}"><i class="icon-pencil"></i>&nbsp; Gérer les produits</a></li>
</ul> </ul>
Une fois les commandes passées : Une fois les commandes passées :
<ul> <ul>
<li><a href="/produits/{{ delivery.id }}/produits.pdf"><i class="icon-download"></i>&nbsp; Télécharger la liste des produits commandés</a></li> <li><a href="{{ url_for('list_products', id=delivery.id) }}/produits.pdf"><i class="icon-download"></i>&nbsp; Télécharger la liste des produits commandés</a></li>
<li><a href="/distribution/{{ delivery.id }}/rapport-complet.xlsx"><i class="icon-download"></i>&nbsp; Télécharger le tableau des commandes</a></li> <li><a href="{{ url_for('generate_report', id=delivery.id) }}"><i class="icon-download"></i>&nbsp; Télécharger le tableau des commandes</a></li>
<li><a href="/distribution/{{ delivery.id }}/envoi-email-referentes"><i class="icon-envelope"></i>&nbsp; Envoyer les infos de commande aux référent⋅e⋅s</a></li> <li><a href="{{ url_for('send_referent_emails', id=delivery.id) }}"><i class="icon-envelope"></i>&nbsp; Envoyer les infos de commande aux référent⋅e⋅s</a></li>
</ul> </ul>
Pour préparer la distribution : Pour préparer la distribution :
<ul> <ul>
<li><a href="/distribution/{{ delivery.id }}/résumé-de-commandes"><i class="icon-document"></i>&nbsp; Fiches de commandes par groupe</a></li> <li><a href="{{ url_for('show_orders_summary', id=delivery.id) }}"><i class="icon-document"></i>&nbsp; Fiches de commandes par groupe</a></li>
<li><a href="/distribution/{{ delivery.id }}/paiements"><i class="icon-gears"></i>&nbsp; Faire la répartition des paiements</a></li> <li><a href="{{ url_for('compute_payments', id=delivery.id) }}"><i class="icon-gears"></i>&nbsp; Faire la répartition des paiements</a></li>
</ul> </ul>
{% endblock %} {% endblock %}

View file

@ -2,6 +2,6 @@
<p>Voici le sésame, clique dessus pour t'authentifier, ou copie-colle-le dans ton navigateur:</p> <p>Voici le sésame, clique dessus pour t'authentifier, ou copie-colle-le dans ton navigateur:</p>
<a href="https://{{ hostname }}/connexion/{{ token }}">https://{{ hostname }}/connexion/{{ token }}</a> <a href="https://{{ hostname }}{{ url_for('set_sesame', token=token) }}">https://{{ hostname }}{{ url_for('set_sesame', token=token) }}</a>
<p>{{ config.EMAIL_SIGNATURE }}</p> <p>{{ config.EMAIL_SIGNATURE }}</p>

View file

@ -2,6 +2,6 @@ Hey ho!
Voici le sésame, clique dessus pour accéder à la commande : Voici le sésame, clique dessus pour accéder à la commande :
https://{{ hostname }}/connexion/{{ token }} https://{{ hostname }}{{ url_for('set_sesame', token=token) }}
{{ config.EMAIL_SIGNATURE }} {{ config.EMAIL_SIGNATURE }}

View file

@ -27,7 +27,7 @@
{% if group.id %} {% if group.id %}
<ul class="toolbox"> <ul class="toolbox">
<li> <li>
<a href="/groupes/{{ group.id }}/supprimer" class="button danger"><i class="icon-hazardous"></i>&nbsp;Supprimer ce groupe</a> <a href="{{ url_for('delete_group', id=group.id) }}" class="button danger"><i class="icon-hazardous"></i>&nbsp;Supprimer ce groupe</a>
</li> </li>
</ul> </ul>
{% endif %} {% endif %}

View file

@ -6,7 +6,7 @@
<div class="pure-menu pure-menu-horizontal"> <div class="pure-menu pure-menu-horizontal">
<ul class="pure-menu-list"> <ul class="pure-menu-list">
<li class="pure-menu-item"> <li class="pure-menu-item">
<a class="pure-menu-link" href="/groupes/créer"><i class="icon-globe"></i>&nbsp;Créer un nouveau groupe</a> <a class="pure-menu-link" href="{{ url_for('create_group') }}"><i class="icon-globe"></i>&nbsp;Créer un nouveau groupe</a>
</li> </li>
</ul> </ul>
</div> </div>
@ -36,12 +36,12 @@
{% endfor %} {% endfor %}
</ul> </ul>
</td> </td>
<td>{% if group.id != request['user'].group_id %}<a class="pure-button" href="/groupes/{{ group.id}}/rejoindre">rejoindre</a>{% endif %} <a class="pure-button" href="/groupes/{{ group.id }}/éditer">éditer</a></td> <td>{% if group.id != request['user'].group_id %}<a class="pure-button" href="{{ url_for('join_group', id=group.id) }}">rejoindre</a>{% endif %} <a class="pure-button" href="{{ url_for('edit_group', id=group.id) }}">éditer</a></td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
<p>Tu ne fais partie d'aucun des groupes listés ici ? Tu peux <a class="button" href="/groupes/créer"><i class="icon-globe"></i>&nbsp;en créer un nouveau</a></p> <p>Tu ne fais partie d'aucun des groupes listés ici ? Tu peux <a class="button" href="{{ url_for('create_group') }}"><i class="icon-globe"></i>&nbsp;en créer un nouveau</a></p>
{% endblock %} {% endblock %}

View file

@ -2,7 +2,7 @@
<ul class="delivery"> <ul class="delivery">
{% for delivery in deliveries %} {% for delivery in deliveries %}
<li> <li>
<a href="/distribution/{{ delivery.id }}"><i class="icon-hotairballoon"></i> {{ delivery.name }}</a> du {{ delivery.from_date|date|capitalize }} <a href="{{ url_for('show_delivery', id=delivery.id) }}"><i class="icon-hotairballoon"></i> {{ delivery.name }}</a> du {{ delivery.from_date|date|capitalize }}
</li> </li>
{% endfor %} {% endfor %}
</ul> </ul>

View file

@ -9,13 +9,13 @@
{% if producer_obj.needs_price_update(delivery) %}*{% endif %} {% if producer_obj.needs_price_update(delivery) %}*{% endif %}
{% if edit_mode or request.user.is_staff or producer_obj.referent == request.user.email %} {% if edit_mode or request.user.is_staff or producer_obj.referent == request.user.email %}
<span class="edit"> <span class="edit">
<a class="button" href="/produits/{{ delivery.id }}/producteurs/{{ producer_obj.id }}"><i class="icon-ribbon"></i>&nbsp; Gérer ce⋅tte producteur⋅rice</a> <a class="button" href="{{ url_for('edit_producer', delivery_id=delivery.id, producer_id=producer_obj.id) }}"><i class="icon-ribbon"></i>&nbsp; Gérer ce⋅tte producteur⋅rice</a>
</span> </span>
{% endif %} {% endif %}
</h2> </h2>
<h5>{% if producer_obj.description %}{{ producer_obj.description }}{% endif %}. Référent⋅e : <a href="mailto:{{ producer_obj.referent }}">{{ producer_obj.referent_name }}</a> / {{ producer_obj.referent_tel }}</h5> <h5>{% if producer_obj.description %}{{ producer_obj.description }}{% endif %}. Référent⋅e : <a href="mailto:{{ producer_obj.referent }}">{{ producer_obj.referent_name }}</a> / {{ producer_obj.referent_tel }}</h5>
{% if not delivery.get_products_by(producer) %} {% if not delivery.get_products_by(producer) %}
😔 Ce⋅tte producteur⋅rice n'a pas encore de produits. Voulez vous <a href="/produits/{{ delivery.id }}/producteurs/{{ producer }}/produits/créer">en rajouter un ?</a> 😔 Ce⋅tte producteur⋅rice n'a pas encore de produits. Voulez vous <a href="{{ url_for('create_product', delivery_id=delivery.id, producer_id=producer_obj.id) }}">en rajouter un ?</a>
{% else %} {% else %}
<table class="delivery pure-table"> <table class="delivery pure-table">
<thead> <thead>
@ -31,7 +31,7 @@
{% set orderer_name = request.groups.groups[orderer].name %} {% set orderer_name = request.groups.groups[orderer].name %}
<th class="person"> <th class="person">
{% if request.user and (request.user.is_staff or request.user.is_referent(delivery)) %} {% if request.user and (request.user.is_staff or request.user.is_referent(delivery)) %}
<a class="underline" href="/distribution/{{ delivery.id }}/commander?orderer={{ orderer }}" title="{{ orderer }}">{{ orderer_name }} <i class="icon-pencil"></i></a> <a class="underline" href="{{ url_for('place_order', id=delivery.id) }}?orderer={{ orderer }}" title="{{ orderer }}">{{ orderer_name }} <i class="icon-pencil"></i></a>
{% else %} {% else %}
<span title="{{ orderer }}">{{ orderer_name }}</span> <span title="{{ orderer }}">{{ orderer_name }}</span>
{% endif %} {% endif %}
@ -43,7 +43,7 @@
<tbody> <tbody>
{% for product in delivery.get_products_by(producer) %} {% for product in delivery.get_products_by(producer) %}
<tr> <tr>
<th class="product {% if product.rupture %}rupture{% endif %}">{% if edit_mode %}<a href="/produits/{{ delivery.id }}/producteurs/{{ product.producer }}/produits/{{ product.ref }}">{% endif %}{% if edit_mode %}<i class="icon-pencil"></i>&nbsp;{% endif %}{% if product.rupture %} (rupture){% endif %} {{ product }}{% if edit_mode %}</a>{% endif %} <th class="product {% if product.rupture %}rupture{% endif %}">{% if edit_mode %}<a href="{{ url_for('edit_product', delivery_id=delivery.id, producer_id=producer_obj.id, product_ref=product.ref) }}">{% endif %}{% if edit_mode %}<i class="icon-pencil"></i>&nbsp;{% endif %}{% if product.rupture %} (rupture){% endif %} {{ product }}{% if edit_mode %}</a>{% endif %}
<td>{{ product.price | round(2) }} €</td> <td>{{ product.price | round(2) }} €</td>
{% if delivery.has_packing %} {% if delivery.has_packing %}
<td class="packing">{% if product.packing %}{{ product.packing }} x {% endif %} {{ product.unit }}</td> <td class="packing">{% if product.packing %}{{ product.packing }} x {% endif %} {{ product.unit }}</td>
@ -51,7 +51,7 @@
<th{% if delivery.status == delivery.ADJUSTMENT and delivery.product_missing(product) %} class="missing" title="Les commandes individuelles ne correspondent pas aux conditionnements"{% endif %}> <th{% if delivery.status == delivery.ADJUSTMENT and delivery.product_missing(product) %} class="missing" title="Les commandes individuelles ne correspondent pas aux conditionnements"{% endif %}>
{{ delivery.product_wanted(product) }} {{ delivery.product_wanted(product) }}
{% if delivery.status == delivery.ADJUSTMENT and delivery.product_missing(product) %} ({{ delivery.product_missing(product) }}) {% if delivery.status == delivery.ADJUSTMENT and delivery.product_missing(product) %} ({{ delivery.product_missing(product) }})
{% if request.user.is_staff %}<a href="/distribution/{{ delivery.id }}/ajuster/{{ product.ref }}" class="button" title="ajuster le produit">ajuster</a>{% endif %} {% if request.user.is_staff %}<a href="{{ url_for('adjust_product', id=delivery.id, ref=product.ref) }}" class="button" title="ajuster le produit">ajuster</a>{% endif %}
{% endif %} {% endif %}
</th> </th>
{% if not list_only %} {% if not list_only %}

View file

@ -1,5 +1,5 @@
{% if (delivery.status == delivery.OPEN or delivery.status == delivery.ADJUSTMENT) and delivery.has_products %} {% if (delivery.status == delivery.OPEN or delivery.status == delivery.ADJUSTMENT) and delivery.has_products %}
<a class="button" href="/distribution/{{ delivery.id }}/commander"> <a class="button" href="{{ url_for('place_order', id=delivery.id) }}">
{% if delivery.status == delivery.ADJUSTMENT %} {% if delivery.status == delivery.ADJUSTMENT %}
Ajuster ma commande Ajuster ma commande
{% elif delivery.status == delivery.OPEN %} {% elif delivery.status == delivery.OPEN %}
@ -8,5 +8,5 @@
</a> </a>
{% endif %} {% endif %}
{% if request.user.email in delivery.orders %} {% if request.user.email in delivery.orders %}
<span class="flag" title="Mon paiements"><i class="icon-wallet"></i>&nbsp;{{ delivery.total_for(request.user) }} €</span> <span class="flag" title="Mes paiements"><i class="icon-wallet"></i>&nbsp;{{ delivery.total_for(request.user) }} €</span>
{% endif %} {% endif %}

View file

@ -1,7 +0,0 @@
{% if link == "deliveries" %}
↶ Retourner à la liste des distributions
{% elif link == "products" %}
↶ Retourner à la liste des produits
{% elif link == "producer" %}
↶ Retourner à la fiche product⋅eur⋅rice
{% endif %}

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block toplink %}<a href="/produits/{{ delivery.id }}/producteurs/{{producer.id}}">↶ Retourner a « {{producer.name}} »</a>{% endblock %} {% block toplink %}<a href="{{ url_for('edit_producer', delivery_id=delivery.id, producer_id=producer.id) }}">↶ Retourner a « {{producer.name}} »</a>{% endblock %}
{% block body %} {% block body %}
<div class="header"> <div class="header">

View file

@ -34,34 +34,5 @@
</div> </div>
</form> </form>
{% if products %}
<h3>Produits</h3>
<table>
<thead>
<tr>
<th>Produit</th>
<th>Prix</th>
<th>Unité</th>
<th>Description</th>
<th>Packaging</th>
<th>Rupture ?</th>
<th></th>
</tr>
</thead>
{% for product in products %}
<tr>
<td><a href="/produits/{{ delivery.id }}/producteurs/{{ producer.id }}/produits/{{ product.ref }}">{{ product.name }}</a></td>
<td>{{ product.price }}€</td>
<td>{{ product.unit }}</td>
<td>{{ product.description }}</td>
<td>{% if product.packing %}{{ product.packing }}{% endif %}</td>
<td>{% if product.rupture %}RUPTURE !!{% endif %}</td>
<td><a href="/produits/{{ delivery.id }}/producteurs/{{ producer.id }}/produits/{{ product.ref }}">éditer</a></td>
</tr>
{% endfor %}
</table>
{% endif %}
<hr> <hr>
{% endblock body %} {% endblock body %}

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block toplink %}<a href="/produits/{{ delivery.id }}">↶ Retourner aux produits</a>{% endblock %} {% block toplink %}<a href="{{ url_for('list_products', id=delivery.id) }}">↶ Retourner aux produits</a>{% endblock %}
{% block body %} {% block body %}
<div class="header"> <div class="header">
@ -8,17 +8,17 @@
<div class="pure-menu pure-menu-horizontal"> <div class="pure-menu pure-menu-horizontal">
<ul class="pure-menu-list"> <ul class="pure-menu-list">
<li class="pure-menu-item"> <li class="pure-menu-item">
<a class="pure-menu-link" href="/produits/{{ delivery.id}}/producteurs/{{ producer.id }}/produits/créer">Ajouter un produit</a> <a class="pure-menu-link" href="{{ url_for('create_product', delivery_id=delivery.id, producer_id=producer.id) }}">Ajouter un produit</a>
</li> </li>
<li class="pure-menu-item"> <li class="pure-menu-item">
<a class="pure-menu-link" href="/produits/{{ delivery.id}}/producteurs/{{ producer.id }}/supprimer">Supprimer</a> <a class="pure-menu-link" href="{{ url_for('delete_producer', delivery_id=delivery.id, producer_id=producer.id) }}">Supprimer</a>
</li> </li>
<li class="pure-menu-list"> <li class="pure-menu-list">
<a class="pure-menu-link" href="/produits/{{ delivery.id}}/producteurs/{{ producer.id }}/frais-de-livraison">Gérer des frais de livraison</a> <a class="pure-menu-link" href="{{ url_for('edit_shipping_price', delivery_id=delivery.id, producer_id=producer.id) }}">Gérer des frais de livraison</a>
</li> </li>
{% if producer.needs_price_update(delivery) %} {% if producer.needs_price_update(delivery) %}
<li class="pure-menu-item"> <li class="pure-menu-item">
<a class="pure-menu-link" href="/produits/{{ delivery.id}}/producteurs/{{ producer.id }}/valider-prix">Marquer les prix comme OK</a> <a class="pure-menu-link" href="{{ url_for('validate_producer_prices', delivery_id=delivery.id, producer_id=producer.id) }}">Marquer les prix comme OK</a>
</li> </li>
{% endif %} {% endif %}
</ul> </ul>
@ -67,14 +67,14 @@
{% if delivery.shipping.get(producer.id) %} {% if delivery.shipping.get(producer.id) %}
<h3>Frais de livraison</h3> <h3>Frais de livraison</h3>
Des frais de livraison de {{ delivery.shipping[producer.id] }}€ ont été enregistrés pour ce producteur. Des frais de livraison de {{ delivery.shipping[producer.id] }}€ ont été enregistrés pour ce producteur.
<a class="button" href="/produits/{{ delivery.id}}/producteurs/{{ producer.id }}/frais-de-livraison">Modifier</a> <a class="button" href="{{ url_for('edit_shipping_price', delivery_id=delivery.id, producer_id=producer.id) }}">Modifier</a>
{% endif %} {% endif %}
{% if products %} {% if products %}
<h3>Produits <h3>Produits
<a class="button" href="/produits/{{ delivery.id}}/producteurs/{{ producer.id }}/produits/créer">Ajouter un produit</a> <a class="button" href="{{ url_for('create_product', delivery_id=delivery.id, producer_id=producer.id) }}">Ajouter un produit</a>
{% if producer.needs_price_update(delivery) %} {% if producer.needs_price_update(delivery) %}
<a class="button" href="/produits/{{ delivery.id}}/producteurs/{{ producer.id }}/valider-prix">Marquer les prix comme OK</a> <a class="button" href="{{ url_for('validate_producer_prices', delivery_id=delivery.id, producer_id=producer.id) }}">Marquer les prix comme OK</a>
{% endif %} {% endif %}
</h3> </h3>
<p>Vous pouvez éditer les produits en cliquant sur leur nom.</p> <p>Vous pouvez éditer les produits en cliquant sur leur nom.</p>
@ -92,13 +92,13 @@ Des frais de livraison de {{ delivery.shipping[producer.id] }}€ ont été enre
</thead> </thead>
{% for product in products %} {% for product in products %}
<tr> <tr>
<td><a href="/produits/{{ delivery.id }}/producteurs/{{ producer.id }}/produits/{{ product.ref }}">{{ product.name }}</a></td> <td><a href="{{ url_for('edit_product', delivery_id=delivery.id, producer_id=producer.id, product_ref=product.ref) }}">{{ product.name }}</a></td>
<td>{{ product.price }}€</td> <td>{{ product.price }}€</td>
<td>{{ product.unit }}</td> <td>{{ product.unit }}</td>
<td>{{ product.description }}</td> <td>{{ product.description }}</td>
<td>{% if product.packing %}{{ product.packing }}{% endif %}</td> <td>{% if product.packing %}{{ product.packing }}{% endif %}</td>
<td>{% if product.rupture %}RUPTURE !!{% endif %}</td> <td>{% if product.rupture %}RUPTURE !!{% endif %}</td>
<td><a href="/produits/{{ delivery.id }}/producteurs/{{ producer.id }}/produits/{{ product.ref }}/supprimer">supprimer</a></td> <td><a href="{{ url_for('delete_product', delivery_id=delivery.id, producer_id=producer.id, product_ref=product.ref) }}">supprimer</a></td>
</tr> </tr>
{% endfor %} {% endfor %}
</table> </table>

View file

@ -1,6 +1,6 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block toplink %}<a href="/produits/{{ delivery.id }}/producteurs/{{ producer.id }}">↶ Retourner aux produits de {{ producer.name }}</a>{% endblock %} {% block toplink %}<a href="{{ url_for('edit_producer', delivery_id=delivery.id, producer_id=producer.id) }}">↶ Retourner aux produits de {{ producer.name }}</a>{% endblock %}
{% block body %} {% block body %}
@ -10,7 +10,7 @@
<div class="pure-menu pure-menu-horizontal"> <div class="pure-menu pure-menu-horizontal">
<ul class="pure-menu-list"> <ul class="pure-menu-list">
<li class="pure-menu-item"> <li class="pure-menu-item">
<a class="pure-menu-link" href="/produits/{{ delivery.id}}/producteurs/{{ producer.id }}/produits/{{ product.ref }}/supprimer">Supprimer ce produit</a> <a class="pure-menu-link" href="{{ url_for('delete_product', delivery_id=delivery.id, producer_id=producer.id, product_ref=product.ref) }}">Supprimer ce produit</a>
</li> </li>
</ul> </ul>
</div> </div>

View file

@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block toplink %}<a href="/produits/{{ delivery.id }}">↶ Retourner aux produits</a>{% endblock %} {% block toplink %}<a href="{{ url_for('edit_producer', delivery_id=delivery.id, producer_id=producer.id) }}">↶ Retourner a {{ producer.name }}</a>{% endblock %}
{% block body %} {% block body %}
<div class="header"> <div class="header">

View file

@ -6,20 +6,14 @@
<div class="pure-menu pure-menu-horizontal"> <div class="pure-menu pure-menu-horizontal">
<ul class="pure-menu-list"> <ul class="pure-menu-list">
<li class="pure-menu-item"> <li class="pure-menu-item">
<a class="pure-menu-link" href="/produits/{{ delivery.id }}/producteurs/créer"><i class="icon-heart"></i>&nbsp;Ajouter un⋅e producteur⋅rice</a> <a class="pure-menu-link" href="{{ url_for('create_producer', delivery_id=delivery.id) }}"><i class="icon-heart"></i>&nbsp;Ajouter un⋅e producteur⋅rice</a>
</li> </li>
<li class="pure-menu-item"> <li class="pure-menu-item">
<a class="pure-menu-link" href="/produits/{{ delivery.id }}/copier"><i class="icon-hotairballoon"></i>&nbsp;Réutiliser les produits d'une autre distrib</a> <a class="pure-menu-link" href="{{ url_for('copy_products', id=delivery.id) }}"><i class="icon-hotairballoon"></i>&nbsp;Réutiliser les produits d'une autre distrib</a>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<p class="hide-on-print">
{% if producers %}
<a href="/produits/{{ delivery.id }}/produits.pdf{% if referent %}?referent={{ referent }}{% endif %}">Télécharger la liste des commandes en PDF</a>
{% endif %}
{% if referent %}Voici la liste des product⋅eurs⋅rices dont {{ referent }} est référent⋅e. <a class="button" href="/produits/{{delivery.id}}">voir tous les produits</a>{% endif %}
</p>
<article class="delivery"> <article class="delivery">
{% include "includes/delivery_table.html" %} {% include "includes/delivery_table.html" %}

View file

@ -284,7 +284,7 @@ async def show_orders_summary(request, response, id):
@app.route("/distribution/{id}/rapport-complet.xlsx", methods=["GET"]) @app.route("/distribution/{id}/rapport-complet.xlsx", methods=["GET"])
async def xls_full_report(request, response, id): async def generate_report(request, response, id):
delivery = Delivery.load(id) delivery = Delivery.load(id)
date = delivery.to_date.strftime("%Y-%m-%d") date = delivery.to_date.strftime("%Y-%m-%d")
response.xlsx( response.xlsx(

View file

@ -50,6 +50,7 @@ async def send_sesame(request, response):
f"Sésame {config.SITE_NAME}", f"Sésame {config.SITE_NAME}",
hostname=request.host, hostname=request.host,
token=token.decode(), token=token.decode(),
url_for=app.url_for,
) )
except RuntimeError: except RuntimeError:
response.message("Oops, impossible d'envoyer le courriel…", status="error") response.message("Oops, impossible d'envoyer le courriel…", status="error")

View file

@ -147,7 +147,7 @@ async def edit_product(request, response, delivery_id, producer_id, product_ref)
@app.route( @app.route(
"/produits/{delivery_id}/producteurs/{producer_id}/valider-prix", methods=["GET"] "/produits/{delivery_id}/producteurs/{producer_id}/valider-prix", methods=["GET"]
) )
async def mark_producer_prices_as_ok(request, response, delivery_id, producer_id): async def validate_producer_prices(request, response, delivery_id, producer_id):
delivery = Delivery.load(delivery_id) delivery = Delivery.load(delivery_id)
producer = delivery.producers.get(producer_id) producer = delivery.producers.get(producer_id)
@ -217,7 +217,7 @@ async def create_product(request, response, delivery_id, producer_id):
"/produits/{delivery_id}/producteurs/{producer_id}/frais-de-livraison", "/produits/{delivery_id}/producteurs/{producer_id}/frais-de-livraison",
methods=["GET", "POST"], methods=["GET", "POST"],
) )
async def set_shipping_price(request, response, delivery_id, producer_id): async def edit_shipping_price(request, response, delivery_id, producer_id):
delivery = Delivery.load(delivery_id) delivery = Delivery.load(delivery_id)
producer = delivery.producers.get(producer_id) producer = delivery.producers.get(producer_id)