unlink users from payments, delete payback model and other small model changes
This commit is contained in:
@@ -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',
|
||||
),
|
||||
]
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user