funkcje rezerw i przesuniec
This commit is contained in:
32
app.py
32
app.py
@@ -363,16 +363,42 @@ def zbiorka(zbiorka_id):
|
|||||||
is_admin = current_user.is_authenticated and current_user.czy_admin
|
is_admin = current_user.is_authenticated and current_user.czy_admin
|
||||||
show_hidden = is_admin and (request.args.get("show_hidden") in ("1", "true", "yes"))
|
show_hidden = is_admin and (request.args.get("show_hidden") in ("1", "true", "yes"))
|
||||||
|
|
||||||
# Wpłaty
|
# Stwórz mapę przesunięć wpłat dla tej zbiórki (przychodzące)
|
||||||
|
przesuniecia_wplat_map = {
|
||||||
|
p.wplata_id: {
|
||||||
|
"zbiorka_zrodlo_nazwa": p.zbiorka_zrodlo.nazwa,
|
||||||
|
"zbiorka_zrodlo_id": p.zbiorka_zrodlo_id,
|
||||||
|
"opis": p.opis
|
||||||
|
}
|
||||||
|
for p in zb.przesuniecia_przychodzace
|
||||||
|
if p.wplata_id is not None
|
||||||
|
}
|
||||||
|
|
||||||
|
# Wpłaty z informacją o przesunięciu
|
||||||
wplaty = [
|
wplaty = [
|
||||||
{"typ": "wpłata", "kwota": w.kwota, "opis": w.opis, "data": w.data, "ukryta": getattr(w, "ukryta", False)}
|
{
|
||||||
|
"typ": "wpłata",
|
||||||
|
"id": w.id,
|
||||||
|
"kwota": w.kwota,
|
||||||
|
"opis": w.opis,
|
||||||
|
"data": w.data,
|
||||||
|
"ukryta": getattr(w, "ukryta", False),
|
||||||
|
"przesuniecie_z": przesuniecia_wplat_map.get(w.id)
|
||||||
|
}
|
||||||
for w in zb.wplaty
|
for w in zb.wplaty
|
||||||
if show_hidden or not getattr(w, "ukryta", False)
|
if show_hidden or not getattr(w, "ukryta", False)
|
||||||
]
|
]
|
||||||
|
|
||||||
# Wydatki
|
# Wydatki
|
||||||
wydatki = [
|
wydatki = [
|
||||||
{"typ": "wydatek", "kwota": x.kwota, "opis": x.opis, "data": x.data, "ukryta": getattr(x, "ukryta", False)}
|
{
|
||||||
|
"typ": "wydatek",
|
||||||
|
"id": x.id,
|
||||||
|
"kwota": x.kwota,
|
||||||
|
"opis": x.opis,
|
||||||
|
"data": x.data,
|
||||||
|
"ukryta": getattr(x, "ukryta", False)
|
||||||
|
}
|
||||||
for x in zb.wydatki
|
for x in zb.wydatki
|
||||||
if show_hidden or not getattr(x, "ukryta", False)
|
if show_hidden or not getattr(x, "ukryta", False)
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -320,8 +320,8 @@
|
|||||||
{% if aktywnosci and aktywnosci|length > 0 %}
|
{% if aktywnosci and aktywnosci|length > 0 %}
|
||||||
<ul class="list-group list-group-flush">
|
<ul class="list-group list-group-flush">
|
||||||
{% for a in aktywnosci %}
|
{% for a in aktywnosci %}
|
||||||
<li class="list-group-item bg-transparent d-flex flex-wrap justify-content-between align-items-center">
|
<li class="list-group-item bg-transparent d-flex flex-wrap justify-content-between align-items-start">
|
||||||
<div class="me-3">
|
<div class="me-3 flex-grow-1">
|
||||||
<strong>{{ a.data|dt("%d.%m.%Y %H:%M") }}</strong>
|
<strong>{{ a.data|dt("%d.%m.%Y %H:%M") }}</strong>
|
||||||
|
|
||||||
{% if a.typ == 'wpłata' %}
|
{% if a.typ == 'wpłata' %}
|
||||||
@@ -338,6 +338,22 @@
|
|||||||
<span class="text-muted">— {{ a.opis }}</span>
|
<span class="text-muted">— {{ a.opis }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{# Informacja o przesunięciu wpłaty #}
|
||||||
|
{% if a.typ == 'wpłata' and a.przesuniecie_z %}
|
||||||
|
<div class="text-muted small mt-1">
|
||||||
|
<span class="badge bg-secondary">Przesunięto</span>
|
||||||
|
Źródło:
|
||||||
|
<a href="{{ url_for('zbiorka', zbiorka_id=a.przesuniecie_z.zbiorka_zrodlo_id) }}"
|
||||||
|
class="text-decoration-none">
|
||||||
|
{{ a.przesuniecie_z.zbiorka_zrodlo_nazwa }}
|
||||||
|
</a>
|
||||||
|
{% if a.przesuniecie_z.opis %}
|
||||||
|
<br><span class="text-muted">{{ a.przesuniecie_z.opis }}</span>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{# Link do źródłowej/docelowej zbiórki dla przesunięć ogólnych #}
|
||||||
{% if a.typ in ['przesunięcie_przych', 'przesunięcie_wych'] and a.zbiorka_id %}
|
{% if a.typ in ['przesunięcie_przych', 'przesunięcie_wych'] and a.zbiorka_id %}
|
||||||
<a href="{{ url_for('zbiorka', zbiorka_id=a.zbiorka_id) }}"
|
<a href="{{ url_for('zbiorka', zbiorka_id=a.zbiorka_id) }}"
|
||||||
class="ms-2 text-decoration-none small">
|
class="ms-2 text-decoration-none small">
|
||||||
@@ -352,7 +368,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if not zbiorka.ukryj_kwote %}
|
{% if not zbiorka.ukryj_kwote %}
|
||||||
<span class="badge bg-dark border ms-auto" style="border-color: var(--border);">
|
<span class="badge bg-dark border" style="border-color: var(--border);">
|
||||||
{% if a.typ == 'wpłata' or a.typ == 'przesunięcie_przych' %}
|
{% if a.typ == 'wpłata' or a.typ == 'przesunięcie_przych' %}
|
||||||
+{{ a.kwota|round(2) }} PLN
|
+{{ a.kwota|round(2) }} PLN
|
||||||
{% else %}
|
{% else %}
|
||||||
@@ -379,6 +395,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block extra_scripts %}
|
{% block extra_scripts %}
|
||||||
|
|||||||
Reference in New Issue
Block a user