X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/74f7584b18b4386433b4c02336f5adafcae530c5..14e08cfc833a63ad2c51aa3ac0ce60960d4ace0d:/src/paypal/models.py?ds=inline diff --git a/src/paypal/models.py b/src/paypal/models.py index 3fc012ba7..69d2f006a 100644 --- a/src/paypal/models.py +++ b/src/paypal/models.py @@ -1,5 +1,5 @@ -# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Wolne Lektury. See NOTICE for more information. # # from django.contrib.auth import get_user_model from django.contrib.auth.models import User @@ -21,3 +21,25 @@ class BillingAgreement(models.Model): def check_agreement(self): from .rest import check_agreement return check_agreement(self.agreement_id) + + def get_donations(self, year): + from .rest import get_donations + return get_donations(self.agreement_id, year) + + def update_donations(self, year): + from .rest import get_donations + for donation in get_donations(self.agreement_id, year): + Donation.objects.get_or_create( + transaction_id=donation['transaction_id'], + defaults={ + 'timestamp': donation['timestamp'], + 'amount': donation['amount'], + } + ) + + +class Donation(models.Model): + billing_agreement = models.ForeignKey(BillingAgreement, models.CASCADE) + transaction_id = models.CharField(max_length=255, db_index=True) + timestamp = models.DateTimeField() + amount = models.DecimalField(decimal_places=2, max_digits=10)