+
+ 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)