Exemplo n.º 1
0
    def get_context_data(self, **kwargs):
        ctx = super().get_context_data(**kwargs)
        ctx['cart'] = self.get_cart(answers=True)
        if self.payment_provider:
            ctx['payment'] = self.payment_provider.checkout_confirm_render(
                self.request)
            ctx['payment_provider'] = self.payment_provider
        ctx['require_approval'] = any(cp.item.require_approval
                                      for cp in ctx['cart']['positions'])
        ctx['addr'] = self.invoice_address
        ctx['confirm_messages'] = self.confirm_messages
        ctx['cart_session'] = self.cart_session
        ctx['invoice_address_asked'] = self.address_asked

        self.cart_session['shown_total'] = str(ctx['cart']['total'])

        email = self.cart_session.get('contact_form_data', {}).get('email')
        if email != settings.PRETIX_EMAIL_NONE_VALUE:
            ctx['contact_info'] = [
                (_('E-mail'), email),
            ]
        else:
            ctx['contact_info'] = []
        responses = contact_form_fields.send(self.event, request=self.request)
        for r, response in sorted(responses, key=lambda r: str(r[0])):
            for key, value in response.items():
                v = self.cart_session.get('contact_form_data', {}).get(key)
                v = value.bound_data(v, initial='')
                if v is True:
                    v = _('Yes')
                elif v is False:
                    v = _('No')
                ctx['contact_info'].append((rich_text_snippet(value.label), v))

        return ctx
Exemplo n.º 2
0
def cf_formfields(sender, **kwargs):
    return {
        "manual_newsletter": forms.BooleanField(
            label=rich_text_snippet(sender.settings.newsletter_manual_text),
            required=False,
        )
    }
Exemplo n.º 3
0
def cf_formfields(sender, **kwargs):
    skip = (not sender.settings.newsletter_ml_subscribe_address
            or sender.settings.newsletter_ml_add_automatically)
    if skip:
        return {}
    return {
        'ml_newsletter':
        forms.BooleanField(
            label=rich_text_snippet(sender.settings.newsletter_ml_text),
            required=False,
        )
    }
Exemplo n.º 4
0
def test_linkify_abs(link):
    input, output = link
    assert rich_text_snippet(input, safelinks=False) == output
    assert rich_text(input, safelinks=False) == f'<p>{output}</p>'
    assert markdown_compile_email(input) == f'<p>{output}</p>'