add detailed finance stuff and reuse euro teplate tag
This commit is contained in:
@@ -2,6 +2,7 @@ from django.core.management import BaseCommand
|
||||
from django.db.models import Sum
|
||||
|
||||
from gaehsnitz.models import Drink
|
||||
from gaehsnitz.templatetags.money import euro
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
@@ -29,4 +30,4 @@ class Command(BaseCommand):
|
||||
remaining = bought - consumed
|
||||
print(f" übrig: {remaining}")
|
||||
purchase_value = remaining * drink.purchase_price_per_bottle
|
||||
print(f" Wert: {purchase_value:.2f} €")
|
||||
print(f" Wert: {euro(purchase_value)}")
|
||||
|
||||
@@ -3,6 +3,7 @@ from django.core.management import BaseCommand
|
||||
from django.db.models import Sum
|
||||
|
||||
from gaehsnitz.models import Payment, Donation
|
||||
from gaehsnitz.templatetags.money import euro
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
@@ -10,23 +11,23 @@ User = get_user_model()
|
||||
class Command(BaseCommand):
|
||||
def handle(self, *args, **options):
|
||||
all_donations_sum = Donation.objects.all().aggregate(sum=Sum("amount"))["sum"]
|
||||
print(f"Alle Spenden/Zahlungen: {all_donations_sum:.2f} €")
|
||||
print(f"Alle Spenden/Zahlungen: {euro(all_donations_sum)}")
|
||||
all_payments_sum = Payment.objects.all().aggregate(sum=Sum("amount"))["sum"]
|
||||
print(f"Alle Ausgaben: {all_payments_sum:.2f} €")
|
||||
print(f"Alle Ausgaben: {euro(all_payments_sum)}")
|
||||
balance = all_donations_sum - all_payments_sum
|
||||
print("-------------------------")
|
||||
print(f"Bilanz: {balance:.2f} €")
|
||||
print(f"Bilanz: {euro(balance)}")
|
||||
print()
|
||||
|
||||
print("Leute mit Schulden:")
|
||||
awaited_sum = 0
|
||||
for user in User.objects.all().order_by("username"):
|
||||
if (value := user.balance) < 0:
|
||||
print(f"{user}: {-value:.2f} €")
|
||||
print(f"{user}: {euro(-value)}")
|
||||
awaited_sum -= value
|
||||
print("-------------------------")
|
||||
print(f"gesamt: {awaited_sum:.2f} €")
|
||||
print(f"gesamt: {euro(awaited_sum)}")
|
||||
balance_after_payments = balance + awaited_sum
|
||||
print("-------------------------")
|
||||
print(f"Bilanz danach: {balance_after_payments:.2f} €")
|
||||
print(f"Bilanz danach: {euro(balance_after_payments)}")
|
||||
print()
|
||||
|
||||
@@ -3,6 +3,7 @@ from django.core.management import BaseCommand
|
||||
from django.db.models import Sum
|
||||
|
||||
from gaehsnitz.models import Drink
|
||||
from gaehsnitz.templatetags.money import euro
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
@@ -21,26 +22,26 @@ class Command(BaseCommand):
|
||||
amount = drink_dict["amount"]
|
||||
drink_list.append(f"{amount}x {name}")
|
||||
drink_list_str = ", ".join(drink_list)
|
||||
print(f"zu zahlen: {to_pay:.2f} € ({drink_list_str})")
|
||||
print(f"zu zahlen: {euro(to_pay)} ({drink_list_str})")
|
||||
|
||||
donated = user.donations_made
|
||||
if donated != 0:
|
||||
don_list = [f"{don.date:%d.%m.} {don.amount:.2f} €" for don in user.donations.order_by("date")]
|
||||
don_list = [f"{don.date:%d.%m.} {euro(don.amount)}" for don in user.donations.order_by("date")]
|
||||
don_list_str = ", ".join(don_list)
|
||||
print(f"gespendet: {donated:.2f} € ({don_list_str})")
|
||||
print(f"gespendet: {euro(donated)} ({don_list_str})")
|
||||
|
||||
paid = user.other_payments_made
|
||||
if paid != 0:
|
||||
pay_list = [f"{pay.purpose} {pay.amount:.2f} €" for pay in user.payments.order_by("date")]
|
||||
pay_list = [f"{pay.purpose} {euro(pay.amount)}" for pay in user.payments.order_by("date")]
|
||||
pay_list_str = ", ".join(pay_list)
|
||||
print(f"bezahlt: {paid:.2f} € ({pay_list_str})")
|
||||
print(f"bezahlt: {euro(paid)} ({pay_list_str})")
|
||||
|
||||
paid_back = user.paybacks_received
|
||||
if paid_back != 0:
|
||||
pb_list = [f"{pb.date:%d.%m.} {pb.amount:.2f} €" for pb in user.paybacks.order_by("date")]
|
||||
pb_list = [f"{pb.date:%d.%m.} {euro(pb.amount)}" for pb in user.paybacks.order_by("date")]
|
||||
pb_list_str = ", ".join(pb_list)
|
||||
print(f"zurückbekommen: {paid_back:.2f} € ({pb_list_str})")
|
||||
print(f"zurückbekommen: {euro(paid_back)} ({pb_list_str})")
|
||||
|
||||
balance = donated + paid - to_pay - paid_back
|
||||
print(f"==> STAND: {balance:.2f} €")
|
||||
print(f"==> STAND: {euro(balance)}")
|
||||
print()
|
||||
|
||||
Reference in New Issue
Block a user