def send_invitations(self, request, queryset): """ Sends invitations. """ def create_context(base_info): """ Creates invitation object and returns context. """ invitation = models.Invitation() invitation.base = base_info invitation.payment = base_info.payment invitation.save() return [(base_info.email, { 'base_info': base_info, 'info': info.as_dict(), 'invitation': invitation, 'invitation_id': invitation.id, 'current_site': unicode(Site.objects.get_current()), })] def send_handler(to, from_email, context): """ Handles mail sent event. """ from django.utils import timezone from nmadb_session_reg.models import Invitation invitation = Invitation.objects.get( id=context['invitation_id']) invitation.time_sent = timezone.now() invitation.save() return mail.send_template_mail_admin_action( create_context, False, request, queryset, callback=send_handler, action=u'send_invitations')
def send_async_template_mail(self, request, queryset): """ Sends template email asynchronously. """ return mail.send_template_mail_admin_action( lambda obj: [ (obj.email, {'obj': obj, 'info': info.as_dict()}) ], True, request, queryset)
def send_async_template_mail(self, request, queryset): """ Sends template email asynchronously. """ return mail.send_template_mail_admin_action( lambda human: [ (email.get_address_and_mark(), {'human': human}) for email in human.email_set.all() if email.used is not False], True, request, queryset)
def send_async_template_mail(self, request, queryset): """ Sends template email asynchronously. """ return mail.send_template_mail_admin_action( lambda obj: [(obj.get_address_and_mark(), {'obj': obj})], True, request, queryset)