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 %}
|
{% block sidebar %}
|
||||||
<div id="table_overflow">
|
<div id="table_overflow">
|
||||||
<table class="balance table">
|
{{ balance_table(show_weight=False, show_header=True) }}
|
||||||
<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>
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
|
@ -45,31 +45,7 @@
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div id="table_overflow">
|
<div id="table_overflow">
|
||||||
<table class="balance table">
|
{{ balance_table(member_edit=True) }}
|
||||||
{% 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>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="identifier">
|
<div class="identifier">
|
||||||
|
|
|
@ -2,17 +2,7 @@
|
||||||
|
|
||||||
{% block sidebar %}
|
{% block sidebar %}
|
||||||
<div id="table_overflow">
|
<div id="table_overflow">
|
||||||
<table class="balance table">
|
{{ balance_table(show_weight=False) }}
|
||||||
{% 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>
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,49 @@
|
||||||
{% extends "layout.html" %}
|
{% 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 %}
|
{% block body %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<aside id="sidebar" class="sidebar col-xs-12 col-md-3 " style="height: 100%">
|
<aside id="sidebar" class="sidebar col-xs-12 col-md-3 " style="height: 100%">
|
||||||
|
|
|
@ -2,22 +2,7 @@
|
||||||
|
|
||||||
{% block sidebar %}
|
{% block sidebar %}
|
||||||
<div id="table_overflow" class="statistics mr-md-n3">
|
<div id="table_overflow" class="statistics mr-md-n3">
|
||||||
<table class="balance table">
|
{{ balance_table(show_weight=False, show_header=True) }}
|
||||||
<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>
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue