From 2b46c7cd547a63638a3319d3ce72e5b2847bbdb1 Mon Sep 17 00:00:00 2001 From: Flo Ha Date: Thu, 14 May 2026 22:16:33 +0200 Subject: [PATCH] Remove drink_stats / total_balance / user_stats commands All three are now superseded by the staff-only /suff/dashboard/ page plus the year-scoped Drink and User admin views: drink_stats by the Drink list+detail, user_stats by the User list+detail breakdown, and total_balance by the dashboard's Refinanzierung gesamt panel. Co-Authored-By: Claude Opus 4.7 --- gaehsnitz/management/commands/drink_stats.py | 33 ------------------- .../management/commands/total_balance.py | 19 ----------- gaehsnitz/management/commands/user_stats.py | 23 ------------- 3 files changed, 75 deletions(-) delete mode 100644 gaehsnitz/management/commands/drink_stats.py delete mode 100644 gaehsnitz/management/commands/total_balance.py delete mode 100644 gaehsnitz/management/commands/user_stats.py diff --git a/gaehsnitz/management/commands/drink_stats.py b/gaehsnitz/management/commands/drink_stats.py deleted file mode 100644 index b424054..0000000 --- a/gaehsnitz/management/commands/drink_stats.py +++ /dev/null @@ -1,33 +0,0 @@ -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): - def handle(self, *args, **options): - for drink in Drink.objects.all(): - print(f"--- {drink.name} ---") - - print(f"Kästen (laut Abrechnung):") - ordered = drink.crates_ordered - print(f" bestellt: {ordered}") - purchased = drink.crates_purchased - print(f" gekauft: {purchased}") - full_ret = ordered - purchased - print(f" voll zurück: {full_ret}") - empty_ret = drink.crates_returned - print(f" leer zurück: {empty_ret}") - remaining = purchased - empty_ret - print(f" übrig: {remaining}") - - print("Flaschen (laut Strichliste):") - bought = drink.bottles_total - print(f" gekauft: {bought}") - consumed = drink.consumption_list.aggregate(sum=Sum("amount"))["sum"] or 0 - print(f" getrunken: {consumed}") - remaining = bought - consumed - print(f" übrig: {remaining}") - purchase_value = remaining * drink.purchase_price_per_bottle - print(f" Wert: {euro(purchase_value)}") diff --git a/gaehsnitz/management/commands/total_balance.py b/gaehsnitz/management/commands/total_balance.py deleted file mode 100644 index b2a3875..0000000 --- a/gaehsnitz/management/commands/total_balance.py +++ /dev/null @@ -1,19 +0,0 @@ -from django.contrib.auth import get_user_model -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() - - -class Command(BaseCommand): - def handle(self, *args, **options): - all_donations_sum = Donation.objects.all().aggregate(sum=Sum("amount"))["sum"] - print(f"Alle Spenden/Zahlungen: {euro(all_donations_sum)}") - all_payments_sum = Payment.objects.all().aggregate(sum=Sum("amount"))["sum"] - print(f"Alle Ausgaben: {euro(all_payments_sum)}") - balance = all_donations_sum - all_payments_sum - print("-------------------------") - print(f"Bilanz: {euro(balance)}") diff --git a/gaehsnitz/management/commands/user_stats.py b/gaehsnitz/management/commands/user_stats.py deleted file mode 100644 index ed7183b..0000000 --- a/gaehsnitz/management/commands/user_stats.py +++ /dev/null @@ -1,23 +0,0 @@ -from django.contrib.auth import get_user_model -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() - - -class Command(BaseCommand): - def handle(self, *args, **options): - id_to_name = {d.id: d.name for d in Drink.objects.all()} - for user in User.objects.all().order_by("username"): - to_pay = user.consumed_drinks_price - if to_pay != 0: - paid_consumption = user.consumption_list.filter(for_free=False) - drink_list = [] - for drink_dict in paid_consumption.values("drink_id").annotate(amount=Sum("amount")): - name = id_to_name[drink_dict["drink_id"]] - amount = drink_dict["amount"] - drink_list.append(f"{amount}x {name}") - print(f"{user.username.capitalize()}: {euro(to_pay)} ({', '.join(drink_list)})")