X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/891c65c58eef499c1ffc3a5fe690e1b6bff0f0db..fbe0f421e3eef997ed79a0d8d8443bf84ae205b3:/src/club/models.py diff --git a/src/club/models.py b/src/club/models.py index 35402686b..98b4ee00e 100644 --- a/src/club/models.py +++ b/src/club/models.py @@ -37,11 +37,45 @@ class Club(models.Model): def __str__(self): return 'Klub' + def get_amounts(self): + c = {} + single = list(self.singleamount_set.all()) + monthly = list(self.monthlyamount_set.all()) + for tag, amounts in ('single', single), ('monthly', monthly): + wide_spot = narrow_spot = 0 + for i, p in enumerate(amounts): + if p.wide: + # Do we have space for xl? + if wide_spot < 2: + p.box_variant = 'xl' + wide_spot += 2 + else: + p.box_variant = 'card' + wide_spot += 1 + narrow_spot = 0 + elif p.description: + p.box_variant = 'card' + if narrow_spot: + amounts[i-1].box_variant = 'bar' + wide_spot += 1 + narrow_spot = 0 + else: + p.box_variant = 'half' + wide_spot += 1 + narrow_spot += 1 + wide_spot %= 3 + narrow_spot %= 2 + c[tag] = amounts + c[f'{tag}_wide_spot'] = wide_spot + return c + + class SingleAmount(models.Model): club = models.ForeignKey(Club, models.CASCADE) amount = models.IntegerField() description = models.TextField(blank=True) + wide = models.BooleanField(default=False) class Meta: ordering = ['amount'] @@ -50,6 +84,7 @@ class MonthlyAmount(models.Model): club = models.ForeignKey(Club, models.CASCADE) amount = models.IntegerField() description = models.TextField(blank=True) + wide = models.BooleanField(default=False) class Meta: ordering = ['amount'] @@ -431,7 +466,6 @@ class PayUOrder(payu_models.Order): if not payments: return payments.sort(key=lambda x: x['timestamp']) - print(payments) ctx = { "email": email, @@ -451,7 +485,7 @@ class PayUOrder(payu_models.Order): message = EmailMessage( 'Odlicz darowiznę na Wolne Lektury od podatku', template.loader.render_to_string('club/receipt_email.txt', ctx), - settings.CONTACT_EMAIL, [email] + settings.CLUB_CONTACT_EMAIL, [email] ) with open(temp.name, 'rb') as f: message.attach('wolnelektury-darowizny.pdf', f.read(), 'application/pdf')