Exemplo n.º 1
0
 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')
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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})
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
 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')
Exemplo n.º 6
0
 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')