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

This commit is contained in:
Daniel Atwood 2020-04-08 18:41:01 +02:00
parent db73c3cff0
commit 1c8a409e92
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 Rendre plus visible l'action de modifier une commande
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
Repasser sur les tests
Explorer la possibilité de faire des ajustements automatiques
Éditer directement depuis la vue « distribution »
Create an "url_for" utility to simplify URL management.

View file

@ -5,7 +5,7 @@
<div class="pure-menu pure-menu-horizontal">
<ul class="pure-menu-list">
<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>
</ul>
</div>

View file

@ -22,8 +22,8 @@
<a href="#" class="pure-menu-link"><i class="icon-printer"></i>&nbsp;Imprimer…</a>
<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="/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 }}/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 }}/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 }}/paiements" class="pure-menu-link"><i class="icon-wallet"></i>&nbsp;Répartition des paiements</a></li>
</ul>
</li>
{% if request['user'].email == delivery.contact and delivery.status > delivery.EMPTY %}

View file

@ -52,13 +52,13 @@
<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><a href="/distribution/{{ delivery.id }}/résumé-de-commandes">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>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>
</tr>
</tbody>
@ -87,8 +87,8 @@ Une fois les commandes passées :
Pour préparer la distribution :
<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 }}/solde"><i class="icon-gears"></i>&nbsp; Faire la répartition des paiements</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 }}/paiements"><i class="icon-gears"></i>&nbsp; Faire la répartition des paiements</a></li>
</ul>
{% endblock %}

View file

@ -8,5 +8,5 @@
</a>
{% endif %}
{% 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 %}

View file

@ -78,6 +78,11 @@ class Roll(BaseRoll):
def register_context(self, func):
self._context_func.append(func)
def url_for(self, view_name):
from pdb import set_trace
set_trace()
def staff_only(view):
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"])
async def signing_sheet(request, response, id):
@app.route("/distribution/{id}/résumé-de-commandes", methods=["GET"])
async def orders_summary(request, response, id):
delivery = Delivery.load(id)
response.pdf(
"delivery/show_signing_sheet.html",
"delivery/show_orders_summary.html",
{"delivery": delivery},
css="signing-sheet.css",
filename=utils.prefix("commandes-par-groupe.pdf", delivery),
css="orders-summary.css",
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}/solde.pdf", methods=["GET"])
@app.route("/distribution/{id}/paiements", methods=["GET"])
@app.route("/distribution/{id}/paiements.pdf", methods=["GET"])
@staff_only
async def delivery_balance(request, response, id):
delivery = Delivery.load(id)

View file

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

View file

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

View file

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