def get_available_placeholders(event, base_parameters): if 'order' in base_parameters: base_parameters.append('invoice_address') params = {} for r, val in register_mail_placeholders.send(sender=event): if not isinstance(val, (list, tuple)): val = [val] for v in val: if all(rp in base_parameters for rp in v.required_context): params[v.identifier] = v return params
def get_email_context(**kwargs): from pretix.base.models import InvoiceAddress event = kwargs['event'] if 'order' in kwargs: try: kwargs['invoice_address'] = kwargs['order'].invoice_address except InvoiceAddress.DoesNotExist: kwargs['invoice_address'] = InvoiceAddress() ctx = {} for r, val in register_mail_placeholders.send(sender=event): if not isinstance(val, (list, tuple)): val = [val] for v in val: if all(rp in kwargs for rp in v.required_context): ctx[v.identifier] = v.render(kwargs) return ctx