diff --git a/copanier/__init__.py b/copanier/__init__.py index 464c4e7..ea87bed 100644 --- a/copanier/__init__.py +++ b/copanier/__init__.py @@ -358,7 +358,7 @@ async def edit_producer(request, response, delivery_id, producer_id): if request.method == "POST": form = request.form producer.referent = form.get("referent") - producer.tel_referent = form.get("tel_referent") + producer.referent_tel = form.get("referent_tel") producer.description = form.get("description") producer.contact = form.get("contact") delivery.producers[producer_id] = producer @@ -733,12 +733,21 @@ async def delivery_balance(request, response, id): for group_id, order in delivery.orders.items(): balance.append((group_id, order.total(delivery.products) * -1)) + producer_groups = {} + for producer in delivery.producers.values(): group = groups.get_user_group(producer.referent) + # When a group contains multiple producer contacts, + # the first one is elected to receive the money, + # and all the other ones are separated in the table. + group_id = None if hasattr(group, "id"): - group_id = group.id - else: - group_id = group + if group.id not in producer_groups or producer_groups[group.id] == producer.referent_name: + producer_groups[group.id] = producer.referent_name + group_id = group.id + if not group_id: + group_id = producer.referent_name + amount = delivery.total_for_producer(producer.id) if amount: balance.append((group_id, amount)) @@ -759,7 +768,8 @@ async def delivery_balance(request, response, id): "debiters": debiters, "crediters": crediters, "results": results_dict, - "groups": groups.groups, + "debiters_groups": groups.groups, + "crediters_groups": producer_groups, }, ) diff --git a/copanier/models.py b/copanier/models.py index c69264c..bdd9aa6 100644 --- a/copanier/models.py +++ b/copanier/models.py @@ -164,7 +164,8 @@ class Groups(PersistedBase): class Producer(Base): id: str referent: str = "" - tel_referent: str = "" + referent_tel: str = "" + referent_name: str = "" contact: str = "" description: str = "" diff --git a/copanier/static/app.css b/copanier/static/app.css index db59a77..f62e43a 100644 --- a/copanier/static/app.css +++ b/copanier/static/app.css @@ -560,4 +560,41 @@ details summary { .email-template { height: 400px; +} + +code { + font-family: monospace; + padding: .2em .4em; +margin: 0; +font-size: 85%; +background-color: rgba(27,31,35,.05); +border-radius: 3px; +} + +table.paiements { + font-family:Arial, Helvetica, sans-serif; + color:#666; + font-size:12px; + text-shadow: 1px 1px 0px #fff; + background:#eaebec; + box-shadow: 0 1px 2px #d1d1d1; +} +table.paiements tr { + text-align: center; + padding-left:20px; +} +table.paiements td:first-child { + text-align: left; + padding-left:20px; + border-left: 0; +} +table.paiements td { + padding:5px; + border-top: 1px solid #ffffff; + border-bottom:1px solid #e0e0e0; + border-left: 1px solid #e0e0e0; + background: #fafafa; +} +table.paiements tr:hover td { + background: #f2f2f2; } \ No newline at end of file diff --git a/copanier/templates/delivery_balance.html b/copanier/templates/delivery_balance.html index cc589ee..5627b77 100644 --- a/copanier/templates/delivery_balance.html +++ b/copanier/templates/delivery_balance.html @@ -1,45 +1,15 @@ {% extends "base.html" %} -{% block head %} - -{% endblock head %} {% block body %}
- {% for crediter in crediters %} | {% if crediter[0] in groups %} {{ groups[crediter[0]].name }}{% else %}{{ crediter[0] }}{% endif %} (+{{ crediter[1] | round(2) }}) | {% endfor %} + {% for crediter in crediters %}{% if crediter[0] in crediters_groups %} {{ crediters_groups[crediter[0]] }}*{% else %}{{ crediter[0] }}{% endif %} (+{{ crediter[1] | round(2) }}) | {% endfor %}
{% if debiter[0] in groups %} {{ groups[debiter[0]].name }}{% else %}{{ debiter[0] }}{% endif %} ({{ debiter[1] | round(2) }}) | +{% if debiter[0] in debiters_groups %} {{ debiters_groups[debiter[0]].name }}{% else %}{{ debiter[0] }}{% endif %} ({{ debiter[1] | round(2) }}) | {% for crediter in crediters %} {% set due_amount = results[debiter[0]][crediter[0]] | round(2) %} diff --git a/copanier/templates/edit_producer.html b/copanier/templates/edit_producer.html index 40ec4e5..a6740af 100644 --- a/copanier/templates/edit_producer.html +++ b/copanier/templates/edit_producer.html @@ -25,7 +25,7 @@