Replaced "solde" and "émargement" URLs by "paiements" and "résumé-de-commandes".

This commit is contained in:
Alexis MÃtaireau 2020-04-08 18:41:01 +02:00
parent a1cd995d9d
commit 81865a6814
13 changed files with 32 additions and 21 deletions

2
Makefile Normal file
View file

@ -0,0 +1,2 @@
serve:
./venv/bin/copanier serve --reload

7
TODO
View file

@ -18,10 +18,9 @@ x Permettre la supression des produits (terminer)
x Gérer le souci d'URL pour l'édition d'Apiluly x Gérer le souci d'URL pour l'édition d'Apiluly
x Rendre plus visible l'action de modifier une commande x Rendre plus visible l'action de modifier une commande
x Ajouter la trame (agenda dune distribution) dans la boite à outil du coordinateur x Ajouter la trame (agenda dune distribution) dans la boite à outil du coordinateur
x Repasser sur les tests
x Changer les liens d'emergement, de paiements et ???, trouver de meilleurs dénominations
Changer les liens d'emergement, de solde et ???, trouver de meilleurs dénominations
Faire un refactoring des modèles Faire un refactoring des modèles
Repasser sur les tests
Explorer la possibilité de faire des ajustements automatiques Create an "url_for" utility to simplify URL management.
Éditer directement depuis la vue « distribution »

View file

@ -5,7 +5,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="/distribution/{{ delivery.id }}/solde.pdf">Télécharger</a> <a class="pure-menu-link" href="/distribution/{{ delivery.id }}/paiements.pdf">Télécharger</a>
</li> </li>
</ul> </ul>
</div> </div>

View file

@ -22,8 +22,8 @@
<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="/produits/{{ 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="/produits/{{ 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="/distribution/{{ delivery.id }}/émargement" 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="/distribution/{{ delivery.id }}/résumé-de-commandes" 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="/distribution/{{ delivery.id }}/solde" class="pure-menu-link"><i class="icon-wallet"></i>&nbsp;Répartition des paiements</a></li> <li class="pure-menu-item"><a href="/distribution/{{ delivery.id }}/paiements" class="pure-menu-link"><i class="icon-wallet"></i>&nbsp;Répartition des paiements</a></li>
</ul> </ul>
</li> </li>
{% if request['user'].email == delivery.contact and delivery.status > delivery.EMPTY %} {% if request['user'].email == delivery.contact and delivery.status > delivery.EMPTY %}

View file

@ -52,13 +52,13 @@
<tr> <tr>
<th>Préparation de la distribution</th> <th>Préparation de la distribution</th>
<td>La veille du {{ delivery.dates.delivery_date | date }}</td> <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><a href="/distribution/{{ delivery.id }}/résumé-de-commandes">Imprimer les bons de commandes par colocation</a></td>
<td></td> <td></td>
</tr> </tr>
<tr> <tr>
<th>Distribution</th> <th>Distribution</th>
<td>{{ delivery.dates.delivery_date | date }}</td> <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>Coordoner la distribution, <a href="/distribution/{{ delivery.id }}/paiements">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> <td>Arriver 30mn avant le début de la distribution, répartir les produits par coloc</td>
</tr> </tr>
</tbody> </tbody>
@ -87,8 +87,8 @@ Une fois les commandes passées :
Pour préparer la distribution : Pour préparer la distribution :
<ul> <ul>
<li><a href="/distribution/{{ delivery.id }}/émargement"><i class="icon-document"></i>&nbsp; Fiches de commandes par groupe</a></li> <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="/distribution/{{ delivery.id }}/solde"><i class="icon-gears"></i>&nbsp; Faire la répartition des paiements</a></li> <li><a href="/distribution/{{ delivery.id }}/paiements"><i class="icon-gears"></i>&nbsp; Faire la répartition des paiements</a></li>
</ul> </ul>
{% endblock %} {% endblock %}

View file

@ -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 solde"><i class="icon-wallet"></i>&nbsp;{{ delivery.total_for(request.user) }} €</span> <span class="flag" title="Mon paiements"><i class="icon-wallet"></i>&nbsp;{{ delivery.total_for(request.user) }} €</span>
{% endif %} {% endif %}

View file

@ -78,6 +78,11 @@ class Roll(BaseRoll):
def register_context(self, func): def register_context(self, func):
self._context_func.append(func) self._context_func.append(func)
def url_for(self, view_name):
from pdb import set_trace
set_trace()
def staff_only(view): def staff_only(view):
async def decorator(request, response, *args, **kwargs): async def decorator(request, response, *args, **kwargs):

View file

@ -272,14 +272,14 @@ async def place_order(request, response, id):
) )
@app.route("/distribution/{id}/émargement", methods=["GET"]) @app.route("/distribution/{id}/résumé-de-commandes", methods=["GET"])
async def signing_sheet(request, response, id): async def orders_summary(request, response, id):
delivery = Delivery.load(id) delivery = Delivery.load(id)
response.pdf( response.pdf(
"delivery/show_signing_sheet.html", "delivery/show_orders_summary.html",
{"delivery": delivery}, {"delivery": delivery},
css="signing-sheet.css", css="orders-summary.css",
filename=utils.prefix("commandes-par-groupe.pdf", delivery), filename=utils.prefix("résumé-de-commandes.pdf", delivery),
) )
@ -321,8 +321,8 @@ async def adjust_product(request, response, id, ref):
) )
@app.route("/distribution/{id}/solde", methods=["GET"]) @app.route("/distribution/{id}/paiements", methods=["GET"])
@app.route("/distribution/{id}/solde.pdf", methods=["GET"]) @app.route("/distribution/{id}/paiements.pdf", methods=["GET"])
@staff_only @staff_only
async def delivery_balance(request, response, id): async def delivery_balance(request, response, id):
delivery = Delivery.load(id) delivery = Delivery.load(id)

View file

@ -9,7 +9,7 @@ install_requires =
Jinja2==2.10 Jinja2==2.10
openpyxl==2.6.1 openpyxl==2.6.1
PyJWT==1.7.1 PyJWT==1.7.1
PyYAML==5.1 PyYAML==5.2
roll==0.10.1 roll==0.10.1
ujson==1.35 ujson==1.35
minicli==0.4.4 minicli==0.4.4

View file

@ -89,6 +89,11 @@ def groups():
return groups return groups
@pytest.fixture
def anothergroup():
return Group(id="another-group", name="Another Group", members=["another@bar.org"])
@pytest.fixture @pytest.fixture
def yaourt(): def yaourt():
return Product( return Product(

View file

@ -220,4 +220,4 @@ async def test_export_products(client, delivery):
'rupture' 'rupture'
), ),
("Lait", "lait", 1.5, delivery.products[0].last_update, None, None, None, "ferme-du-coin", None), ("Lait", "lait", 1.5, delivery.products[0].last_update, None, None, None, "ferme-du-coin", None),
] ]