mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-30 10:12:37 +02:00
Add a unified balance table for all sidebar pages (#618)
This commit is contained in:
parent
3f46beade3
commit
e10ea6c776
5 changed files with 48 additions and 69 deletions
|
@ -98,23 +98,7 @@
|
|||
|
||||
{% block sidebar %}
|
||||
<div id="table_overflow">
|
||||
<table class="balance table">
|
||||
<thead>
|
||||
<tr class="d-none d-md-table-row">
|
||||
<th>{{ _("Who?") }}</th>
|
||||
<th class="balance-value">{{ _("Balance") }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% set balance = g.project.balance %}
|
||||
{% for member in g.project.members | sort(attribute='name') if member.activated or balance[member.id]|round(2) != 0 %}
|
||||
<tr id="bal-member-{{ member.id }}" action={% if member.activated %}delete{% else %}reactivate{% endif %}>
|
||||
<td class="balance-name">{{ member.name }}</td>
|
||||
<td class="balance-value {% if balance[member.id]|round(2) > 0 %}positive{% elif balance[member.id]|round(2) < 0 %}negative{% endif %}">
|
||||
{% if balance[member.id]|round(2) > 0 %}+{% endif %}{{ "%.2f" | format(balance[member.id]) }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{{ balance_table(show_weight=False, show_header=True) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -45,31 +45,7 @@
|
|||
</form>
|
||||
|
||||
<div id="table_overflow">
|
||||
<table class="balance table">
|
||||
{% set balance = g.project.balance %}
|
||||
{% for member in g.project.members | sort(attribute='name') if member.activated or balance[member.id]|round(2) != 0 %}
|
||||
<tr id="bal-member-{{ member.id }}" action={% if member.activated %}delete{% else %}reactivate{% endif %}>
|
||||
<td class="balance-name">{{ member.name }}
|
||||
<span class="light{% if not g.project.uses_weights %} extra-info{% endif %}">(x{{ member.weight|minimal_round(1) }})</span>
|
||||
</td>
|
||||
{% if member.activated %}
|
||||
<td>
|
||||
<form class="action delete" action="{{ url_for(".remove_member", member_id=member.id) }}" method="POST">
|
||||
<button type="submit">{{ _("deactivate") }}</button></form>
|
||||
<form class="action edit" action="{{ url_for(".edit_member", member_id=member.id) }}" method="GET">
|
||||
<button type="submit">{{ _("edit") }}</button></form>
|
||||
</td>
|
||||
{% else %}
|
||||
<td>
|
||||
<form class="action reactivate" action="{{ url_for(".reactivate", member_id=member.id) }}" method="POST">
|
||||
<button type="submit">{{ _("reactivate") }}</button></form></td>
|
||||
{% endif %}
|
||||
<td class="balance-value {% if balance[member.id]|round(2) > 0 %}positive{% elif balance[member.id]|round(2) < 0 %}negative{% endif %}">
|
||||
{% if balance[member.id]|round(2) > 0 %}+{% endif %}{{ "%.2f" | format(balance[member.id]) }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{{ balance_table(member_edit=True) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="identifier">
|
||||
|
|
|
@ -2,17 +2,7 @@
|
|||
|
||||
{% block sidebar %}
|
||||
<div id="table_overflow">
|
||||
<table class="balance table">
|
||||
{% set balance = g.project.balance %}
|
||||
{% for member in g.project.members | sort(attribute='name') if member.activated or balance[member.id]|round(2) != 0 %}
|
||||
<tr id="bal-member-{{ member.id }}" action={% if member.activated %}delete{% else %}reactivate{% endif %}>
|
||||
<td class="balance-name">{{ member.name }}</td>
|
||||
<td class="balance-value {% if balance[member.id]|round(2) > 0 %}positive{% elif balance[member.id]|round(2) < 0 %}negative{% endif %}">
|
||||
{% if balance[member.id]|round(2) > 0 %}+{% endif %}{{ "%.2f" | format(balance[member.id]) }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{{ balance_table(show_weight=False) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,5 +1,49 @@
|
|||
{% extends "layout.html" %}
|
||||
|
||||
{% macro balance_table(show_weight = True, show_header = False, member_edit = False) %}
|
||||
<table class="balance table">
|
||||
{%- set balance = g.project.balance %}
|
||||
{%- if show_header %}
|
||||
<thead>
|
||||
<tr class="d-none d-md-table-row">
|
||||
<th>{{ _("Who?") }}</th>
|
||||
<th class="balance-value">{{ _("Balance") }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{%- endif %}
|
||||
{%- for member in g.project.members | sort(attribute='name') if member.activated or balance[member.id]|round(2) != 0 %}
|
||||
<tr id="bal-member-{{ member.id }}" action="{% if member.activated %}delete{% else %}reactivate{% endif %}">
|
||||
<td class="balance-name">{{ member.name }}
|
||||
{%- if show_weight -%}
|
||||
<span class="light{% if not g.project.uses_weights %} extra-info{% endif %}">(x{{ member.weight|minimal_round(1) }})</span>
|
||||
{%- endif -%}
|
||||
</td>
|
||||
{%- if member_edit %}
|
||||
{%- if member.activated %}
|
||||
<td>
|
||||
<form class="action delete" action="{{ url_for(".remove_member", member_id=member.id) }}" method="POST">
|
||||
<button type="submit">{{ _("deactivate") }}</button>
|
||||
</form>
|
||||
<form class="action edit" action="{{ url_for(".edit_member", member_id=member.id) }}" method="GET">
|
||||
<button type="submit">{{ _("edit") }}</button>
|
||||
</form>
|
||||
</td>
|
||||
{%- else %}
|
||||
<td>
|
||||
<form class="action reactivate" action="{{ url_for(".reactivate", member_id=member.id) }}" method="POST">
|
||||
<button type="submit">{{ _("reactivate") }}</button>
|
||||
</form>
|
||||
</td>
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
<td class="balance-value {% if balance[member.id]|round(2) > 0 %}positive{% elif balance[member.id]|round(2) < 0 %}negative{% endif %}">
|
||||
{% if balance[member.id] | round(2) > 0 %}+{% endif %}{{ balance[member.id]|currencyformat_nc(g.project.default_currency) }}
|
||||
</td>
|
||||
</tr>
|
||||
{%- endfor %}
|
||||
</table>
|
||||
{% endmacro %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<aside id="sidebar" class="sidebar col-xs-12 col-md-3 " style="height: 100%">
|
||||
|
|
|
@ -2,22 +2,7 @@
|
|||
|
||||
{% block sidebar %}
|
||||
<div id="table_overflow" class="statistics mr-md-n3">
|
||||
<table class="balance table">
|
||||
<thead>
|
||||
<tr class="d-none d-md-table-row">
|
||||
<th>{{ _("Who?") }}</th>
|
||||
<th class="balance-value">{{ _("Balance") }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% for stat in members_stats|sort(attribute='member.name') %}
|
||||
<tr>
|
||||
<td class="balance-name">{{ stat.member.name }}</td>
|
||||
<td class="balance-value {% if stat.balance|round(2) > 0 %}positive{% elif stat.balance|round(2) < 0 %}negative{% endif %}">
|
||||
{% if stat.balance|round(2) > 0 %}+{% endif %}{{ "%.2f" | format(stat.balance) }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{{ balance_table(show_weight=False, show_header=True) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
|
Loading…
Reference in a new issue