def form_valid(self, form): rsvps = form.cleaned_data.get('rsvps') event = self.get_context_data().get('event') selected_rsvps = event.rsvps.all() if rsvps == 'yes': selected_rsvps = event.rsvps.yes() elif rsvps == 'no': selected_rsvps = event.rsvps.no() elif rsvps == 'maybe': selected_rsvps = event.rsvps.maybe() elif rsvps == 'possible': selected_rsvps = event.rsvps.possible() to_emails = ['{0.name} <{0.email}>'.format(rsvp.user) for rsvp in selected_rsvps] host_email = event.host.email if form.cleaned_data.get( 'include_email_address') else None email = generate_email( 'events/email/message_from_host', self.request, { 'subject': form.cleaned_data.get('subject'), 'body': form.cleaned_data.get('body'), 'body_html': misaka.html(form.cleaned_data.get('body')), 'host_email': host_email, 'event': event, 'domain': Site.objects.get_current().domain }, to=to_emails ) email.send(fail_silently=True) return super(EmailRSVPs, self).form_valid(form)
def rsvp_notification(sender, instance, created, raw, **kwargs): if instance.response == instance.RESPONSE_CHOICES.yes: to_email = '{0.name} <{0.email}>'.format(instance.event.host) email = generate_email( 'events/email/notify_rsvp', HttpRequest(), { 'instance': instance, }, to=(to_email,) ) email.send(fail_silently=True)
def rsvp_delete(sender, instance, **kwargs): to_email = '{0.name} <{0.email}>'.format(instance.user) email = generate_email( 'events/email/delete_rsvp', HttpRequest(), { 'instance': instance }, to=(to_email,) ) email.send(fail_silently=True)
def event_delete(sender, instance, **kwargs): to_emails = ['{0.name} <{0.email}>'.format(rsvp.user) for rsvp in instance.rsvps.possible()] email = generate_email( 'events/email/delete_event', HttpRequest(), { 'instance': instance }, to=to_emails ) email.send(fail_silently=True)
def event_creation(sender, instance, created, raw, **kwargs): if created: to_email = '{0.name} <{0.email}>'.format(instance.host) email = generate_email( 'events/email/new_event', HttpRequest(), { 'instance': instance, 'domain': Site.objects.get_current().domain }, to=(to_email,) ) email.send(fail_silently=True)
def rsvp_creation(sender, instance, created, raw, **kwargs): if created and instance.response != instance.RESPONSE_CHOICES.no: to_email = '{0.name} <{0.email}>'.format(instance.user) email = generate_email( 'events/email/new_rsvp', HttpRequest(), { 'instance': instance, 'domain': Site.objects.get_current().domain }, to=(to_email,) ) email.send(fail_silently=True)
def event_change(sender, instance, created, raw, **kwargs): if not created: to_emails = ['{0.name} <{0.email}>'.format(rsvp.user) for rsvp in instance.rsvps.possible()] email = generate_email( 'events/email/change_event', HttpRequest(), { 'instance': instance, 'domain': Site.objects.get_current().domain }, to=to_emails ) email.send(fail_silently=True)