renew finance page

This commit is contained in:
2022-09-11 14:02:38 +02:00
parent 0cbcb4611d
commit 8c7ef25ec1
2 changed files with 26 additions and 66 deletions

View File

@@ -2,68 +2,51 @@
{% block content %}
<h2>Die Lage</h2>
<p>
Der finanzelle Stand Anfang September sieht nicht so gut aus: Wir haben etwa 1250 € ausgegeben und 850 €
eingenommen. In der Rechnung fehlen noch unbezahlte Zechen, aber auf der Gegenseite auch unbezahlte Bands.
Letztendlich wird es also bei diesen fehlenden 400 € bleiben, die privat von einigen Leuten getragen werden
müssen.
</p>
<p>
Die Ursache dafür ist wohl ziemlich einfach, dass (rein aus finanzieller Sicht) nicht genug Leute da waren.
Die Gründe dafür und Konsequenzen für die Zukunft bequatschen wir mal an anderer Stelle.
</p>
<h2>Spenden, yay!</h2>
<p>
Wir finanzieren im Grunde alles über einen flexiblen Eintritts-Spendenbeitrag und den Getränkeverkauf.
Selbstverständlich ist der Suff äußerst erschwinglich. Für den Eintritt empfehlen wir
<span class="accent">20-30 €</span>, je nachdem wie lange ihr bleiben wollt/könnt.
Erstmal vielen Dank an alle, die schon ihre Getränke bezahlt, gespendet oder sogar etwas ausgelegt haben!
&#10084;
</p>
<p>
Außerdem gibt's die Möglichkeit, <span class="accent">vorher</span> euer Bier zu bezahlen. Das hilft uns
ungemein, da wir ja auch vorher schon alles besorgen müssen. Wir schreiben uns das alles fein auf und können
dann vor Ort abhaken.
Alle Teilnehmenden sollten von Flo eine Nachricht bekommen haben, die der persönliche Stand ist. Wenn ihr also
euer Bier noch nicht bezahlt habt oder noch etwas Schadensbegrenzung betreiben wollt, spendet gern ...
</p>
<p>
Hier also der Geheimtipp: Spendet 50 € und sagt, dass die Hälfte Suffkredit ist, dann müsst ihr euch vor Ort
um nichts mehr kümmern. ;)
... via <span class="accent">PayPal</span> an
<a href="https://www.paypal.com/paypalme/lotharwiener">paypal.me/lotharwiener</a>
</p>
<p>
Spendet gern via PayPal an <a href="https://www.paypal.com/paypalme/lotharwiener">paypal.me/lotharwiener</a>
oder fragt Flo persönlich nach seiner IBAN.
... oder fragt Flo persönlich nach seiner IBAN.
</p>
<h2>aktueller Stand</h2>
<h2>Details</h2>
<p>
Da eine offene Kommunikation irgendwie zu dem ganzen unkommerziellen DIY-Gedöhns dazugehört, findet ihr hier
ganz transparent eine Übersicht, von wo nach wo eigentlich wie viel Kohle geflossen ist.
Nur keine Klarnamen. ;)
</p>
<p>
... dynamische Listen kommen zeitnah &#128526; ...
</p>
<p>
Nicht aufgelistet sind kurzfristige Dinge für die Vorbereitungsaktionen, also z.B. Suff und Sprit, den wir für
die Arbeitseinsätze gekauft und auch direkt vernichtet haben. Danke an dieser Stelle nochmal allen für die
jeweiligen Einkäufe und die unbezahlbare Arbeitskraft!
</p>
<ul>
{% for topic, amounts in balance_dict.items %}
<li>
{{ amounts.total }}€ {{ topic }}
{% if amounts.estimated %}(davon {{ amounts.estimated }}€ geschätzt){% endif %}
</li>
{% endfor %}
</ul>
<p>Summe: {{ overall_sum }}€</p>
<h3>Details</h3>
{% for topic, payments in detailed_payments.items %}
<p>{{ topic }}:</p>
<table>
{% for payment in payments %}
<tr class="{% cycle 'odd-row' 'even-row' %}">
<td>{{ payment.date|date:"d.m." }}</td>
<td class="align-right">{{ payment.amount }}€</td>
<td>{{ payment.other_party }}</td>
<td>
{% if payment.is_estimated %}(geschätzt){% endif %}
{{ payment.note }}
</td>
</tr>
{% endfor %}
</table>
{% endfor %}
{% endblock %}

View File

@@ -1,11 +1,7 @@
from collections import defaultdict
from datetime import date, timezone
from datetime import date
from django.utils import timezone
from django.views.generic import TemplateView
from gaehsnitz.models import Payment
festival_start_date, festival_end_date = date(2022, 8, 25), date(2022, 8, 28)
@@ -38,27 +34,8 @@ class FinanceView(GaehsnitzTemplateView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
balance_dict = defaultdict(lambda: defaultdict(int))
detailed_payments = defaultdict(list)
overall_sum = 0
for payment in Payment.objects.filter(date__year=timezone.now().year).order_by("topic", "date"):
topic_name = Payment.Topic(payment.topic).label
sign = 1 if payment.is_incoming() else -1
balance_dict[topic_name]["total"] += sign * payment.amount
if payment.is_estimated:
balance_dict[topic_name]["estimated"] += sign * payment.amount
overall_sum += sign * payment.amount
if payment.is_outgoing() and payment.topic != Payment.Topic.bands:
detailed_payments[topic_name].append(payment)
# TODO reimplement
context.update({
# apparently defaultdicts do not work
"balance_dict": dict(balance_dict),
"overall_sum": overall_sum,
"detailed_payments": dict(detailed_payments),
# drinks are delivered and no longer estimated, thus the table is not relevant any more
# "drinks_table": generate_drinks_table(),
})
return context