def _send_emails(self, form): for registration in self.registrations: email_body = replace_placeholders('registration-email', form.body.data, regform=self.regform, registration=registration) email_subject = replace_placeholders('registration-email', form.subject.data, regform=self.regform, registration=registration) template = get_template_module( 'events/registration/emails/custom_email.html', email_subject=email_subject, email_body=email_body) bcc = [session.user.email] if form.copy_for_sender.data else [] attach_ticket = 'attach_ticket' in form and form.attach_ticket.data and not registration.is_ticket_blocked attachments = get_ticket_attachments( registration) if attach_ticket else None email = make_email(to_list=registration.email, cc_list=form.cc_addresses.data, bcc_list=bcc, from_address=form.from_address.data, template=template, html=True, attachments=attachments) send_email(email, self.event, 'Registration')
def _notify_registration(registration, template, to_managers=False): from indico.modules.events.registration.util import get_ticket_attachments attachments = None regform = registration.registration_form tickets_handled = values_from_signal( signals.event.is_ticketing_handled.send(regform), single_value=True) if (not to_managers and regform.tickets_enabled and regform.ticket_on_email and not any(tickets_handled) and registration.state == RegistrationState.complete): attachments = get_ticket_attachments(registration) template = get_template_module( 'events/registration/emails/{}'.format(template), registration=registration) to_list = registration.email if not to_managers else registration.registration_form.manager_notification_recipients from_address = registration.registration_form.sender_address if not to_managers else None mail = make_email(to_list=to_list, template=template, html=True, from_address=from_address, attachments=attachments) send_email(mail, event=registration.registration_form.event, module='Registration', user=session.user)
def _notify_registration(registration, template_name, to_managers=False, attach_rejection_reason=False): from indico.modules.events.registration.util import get_ticket_attachments attachments = [] regform = registration.registration_form tickets_handled = values_from_signal(signals.event.is_ticketing_handled.send(regform), single_value=True) if (not to_managers and regform.tickets_enabled and regform.ticket_on_email and not any(tickets_handled) and registration.state == RegistrationState.complete): attachments += get_ticket_attachments(registration) if not to_managers and registration.registration_form.attach_ical: event_ical = event_to_ical(registration.event) attachments.append(('event.ics', event_ical, 'text/calendar')) tpl = get_template_module(f'events/registration/emails/{template_name}', registration=registration, attach_rejection_reason=attach_rejection_reason) to_list = registration.email if not to_managers else registration.registration_form.manager_notification_recipients from_address = registration.registration_form.notification_sender_address if not to_managers else None mail = make_email(to_list=to_list, template=tpl, html=True, from_address=from_address, attachments=attachments) user = session.user if session else None signals.core.before_notification_send.send('notify-registration', email=mail, registration=registration, template_name=template_name, attach_rejection_reason=attach_rejection_reason) send_email(mail, event=registration.registration_form.event, module='Registration', user=user, log_metadata={'registration_id': registration.id})
def send_ticket(registration): """Send the ticket to access the CERN site by email.""" start_dt, end_dt = get_access_dates(get_last_request(registration.event)) template = get_template_module('cern_access:emails/ticket_email.html', registration=registration, start_dt=start_dt, end_dt=end_dt) attachments = get_ticket_attachments(registration) email = make_email(to_list=registration.email, template=template, html=True, attachments=attachments) send_email(email, event=registration.registration_form.event, module='Registration', user=session.user)
def _send_emails(self, form): for registration in self.registrations: email_body = replace_placeholders('registration-email', form.body.data, regform=self.regform, registration=registration) email_subject = replace_placeholders('registration-email', form.subject.data, regform=self.regform, registration=registration) template = get_template_module('events/registration/emails/custom_email.html', email_subject=email_subject, email_body=email_body) bcc = [session.user.email] if form.copy_for_sender.data else [] attachments = (get_ticket_attachments(registration) if 'attach_ticket' in form and form.attach_ticket.data else None) email = make_email(to_list=registration.email, cc_list=form.cc_addresses.data, bcc_list=bcc, from_address=form.from_address.data, template=template, html=True, attachments=attachments) send_email(email, self.event, 'Registration')
def _send_emails(self, form): for registration in self.registrations: #email_body = replace_placeholders('registration-email', form.body.data, regform=self.regform, # registration=registration) email_body = '<img src="'+ request.url_root + 'event/' + str(self.event.id) + '/images/' + 'event-banner.png' + '" alt="">' + form.body.data email_subject = replace_placeholders('registration-email', form.subject.data, regform=self.regform, registration=registration) template = get_template_module('events/registration/emails/custom_email.html', email_subject=email_subject, email_body=email_body) bcc = [session.user.email] if form.copy_for_sender.data else [] attachments = (get_ticket_attachments(registration) if 'attach_ticket' in form and form.attach_ticket.data else None) email = make_email(to_list=registration.email, cc_list=form.cc_addresses.data, bcc_list=bcc, from_address=form.from_address.data, template=template, html=True, attachments=attachments) send_email(email, self.event, 'Registration')