# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
from datetime import datetime, timedelta
+from django.apps import apps
from django.conf import settings
from django.contrib.sites.models import Site
from django.core.mail import send_mail
from django.utils.timezone import now
from django.utils.translation import ugettext_lazy as _, ungettext, ugettext, get_language
from catalogue.utils import get_random_hash
+from messaging.states import Level
from .payment_methods import recurring_payment_method, single_payment_method
from .payu import models as payu_models
from . import utils
def save(self, *args, **kwargs):
if not self.key:
self.key = get_random_hash(self.email)
- return super(Schedule, self).save(*args, **kwargs)
+ super(Schedule, self).save(*args, **kwargs)
+ self.update_contact()
def initiate_payment(self, request):
return self.get_payment_method().initiate(request, self)
self.email_sent = True
self.save()
+ def update_contact(self):
+ Contact = apps.get_model('messaging', 'Contact')
+ if not self.payed_at:
+ level = Level.TRIED
+ since = self.started_at
+ else:
+ since = self.payed_at
+ if self.is_recurring():
+ level = Level.RECURRING
+ else:
+ level = Level.SINGLE
+ Contact.update(self.email, level, since, self.expires_at)
+
class Membership(models.Model):
""" Represents a user being recognized as a member of the club. """