def on_insufficent_hot_funds_emails(sender, **kwargs): superusers = User.objects.filter(is_superuser=True) emails = map(lambda u: email.get_emailaddress_or_none(u), superusers) emails = filter(lambda email: email != None, emails) subject = "asset/email/insufficent_hot_funds_subject.txt" message = "asset/email/insufficent_hot_funds_message.txt" if emails: email.send(emails, subject, message, kwargs)
def on_cannot_refund_email(sender, **kwargs): userfund = kwargs["userfund"] today = datetime.datetime.now().date() if userfund.remind_date: # user was reminded previously delay = 2 ** userfund.remind_count # exponential backoff avoid spamming next_remind_date = userfund.remind_date + datetime.timedelta(days=delay) if today < next_remind_date: return # to soon to remind user emails = [email.get_emailaddress_or_404(userfund.user)] subject = "userfund/email/cannot_refund_subject.txt" message = "userfund/email/cannot_refund_message.txt" email.send(emails, subject, message, kwargs) userfund.remind_count = userfund.remind_count + 1 userfund.remind_date = today userfund.save()
def on_cannot_refund_email(sender, **kwargs): userfund = kwargs["userfund"] today = datetime.datetime.now().date() if userfund.remind_date: # user was reminded previously delay = 2**userfund.remind_count # exponential backoff avoid spamming next_remind_date = userfund.remind_date + datetime.timedelta( days=delay) if today < next_remind_date: return # to soon to remind user emails = [email.get_emailaddress_or_404(userfund.user)] subject = "userfund/email/cannot_refund_subject.txt" message = "userfund/email/cannot_refund_message.txt" email.send(emails, subject, message, kwargs) userfund.remind_count = userfund.remind_count + 1 userfund.remind_date = today userfund.save()
def on_refunded_email(sender, **kwargs): emails = [email.get_emailaddress_or_404(kwargs["userfund"].user)] subject = "userfund/email/refunded_subject.txt" message = "userfund/email/refunded_message.txt" email.send(emails, subject, message, kwargs)
def on_created_email_investors(sender, **kwargs): emails = _investor_emails(kwargs["claim"]) subject = "claim/email/created_investors_subject.txt" message = "claim/email/created_investors_message.txt" email.send(emails, subject, message, kwargs)
def on_payout_email(sender, **kwargs): emails = [email.get_emailaddress_or_404(kwargs["claim"].user)] subject = "claim/email/payout_subject.txt" message = "claim/email/payout_message.txt" email.send(emails, subject, message, kwargs)
def on_successful_email_winning_claimant(sender, **kwargs): emails = [email.get_emailaddress_or_404(kwargs["claim"].user)] subject = "claim/email/winning_claimant_subject.txt" message = "claim/email/winning_claimant_message.txt" email.send(emails, subject, message, kwargs)