From 6baf5c90667aaaf053d0b59e6c579a29aa12dc42 Mon Sep 17 00:00:00 2001 From: Flo Ha Date: Tue, 11 Jun 2024 23:38:38 +0200 Subject: [PATCH] unlink users from payments, delete payback model and other small model changes --- ..._user_remove_payment_from_user_and_more.py | 29 +++++++++++++++ gaehsnitz/models.py | 35 +------------------ 2 files changed, 30 insertions(+), 34 deletions(-) create mode 100644 gaehsnitz/migrations/0002_remove_donation_from_user_remove_payment_from_user_and_more.py diff --git a/gaehsnitz/migrations/0002_remove_donation_from_user_remove_payment_from_user_and_more.py b/gaehsnitz/migrations/0002_remove_donation_from_user_remove_payment_from_user_and_more.py new file mode 100644 index 0000000..c664bb0 --- /dev/null +++ b/gaehsnitz/migrations/0002_remove_donation_from_user_remove_payment_from_user_and_more.py @@ -0,0 +1,29 @@ +# Generated by Django 5.0.6 on 2024-06-11 21:43 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('gaehsnitz', '0001_initial'), + ] + + operations = [ + migrations.RemoveField( + model_name='donation', + name='from_user', + ), + migrations.RemoveField( + model_name='payment', + name='from_user', + ), + migrations.AlterField( + model_name='consumption', + name='day', + field=models.PositiveSmallIntegerField(choices=[(1, 'Do'), (2, 'Fr'), (3, 'Sa'), (4, 'So')]), + ), + migrations.DeleteModel( + name='Payback', + ), + ] diff --git a/gaehsnitz/models.py b/gaehsnitz/models.py index 22b23c1..36f52e6 100644 --- a/gaehsnitz/models.py +++ b/gaehsnitz/models.py @@ -20,11 +20,6 @@ class User(AbstractUser): def free_drinks(self): return self.consumption_list.filter(for_free=True) - @property - def donations_made(self): - query = self.donations.aggregate(sum=Sum("amount")) - return query["sum"] or 0 - @property def consumed_drinks_price(self): query = self.paid_drinks \ @@ -32,25 +27,8 @@ class User(AbstractUser): .aggregate(sum=Sum("cost")) return query["sum"] or 0 - @property - def other_payments_made(self): - query = self.payments.aggregate(sum=Sum("amount")) - return query["sum"] or 0 - - @property - def paybacks_received(self): - query = self.paybacks.aggregate(sum=Sum("amount")) - return query["sum"] or 0 - - @property - def balance(self): - return self.donations_made - self.consumed_drinks_price + self.other_payments_made - self.paybacks_received - class Donation(models.Model): - from_user = models.ForeignKey( - to=User, on_delete=models.PROTECT, - related_name="donations", related_query_name="donation") date = models.DateField() amount = PriceField() note = models.CharField(max_length=64, blank=True, default="") @@ -65,19 +43,8 @@ class Payment(models.Model): purpose = models.CharField(max_length=64) date = models.DateField() amount = PriceField() - from_user = models.ForeignKey( - to=User, on_delete=models.PROTECT, - related_name="payments", related_query_name="payment") -class Payback(models.Model): - to_user = models.ForeignKey( - to=User, on_delete=models.PROTECT, - related_name="paybacks", related_query_name="payback") - date = models.DateField() - amount = PriceField() - note = models.CharField(max_length=64, blank=True, default="") - class Drink(models.Model): name = models.CharField(max_length=32, unique=True) @@ -166,5 +133,5 @@ class Consumption(models.Model): to=Drink, on_delete=models.CASCADE, related_name="consumption_list", related_query_name="consumption") amount = models.PositiveSmallIntegerField() - day = models.PositiveSmallIntegerField(choices=[(1, "Do"), (2, "Fr"), (3, "Sa")]) + day = models.PositiveSmallIntegerField(choices=[(1, "Do"), (2, "Fr"), (3, "Sa"), (4, "So")]) for_free = models.BooleanField(default=False)