{% extends 'events/registration/emails/base_registration.html' %} {% block registration_body %} {%- set diff = diff if diff is not none else {} -%} {%- set old_price = old_price if old_price is not none else registration.price -%} {% for section, fields in registration.summary_data.items() if not section.is_manager_only %}

{{ section.title }}

{% for field, regdata in fields.items() if regdata.friendly_data or field.html_field_name in diff %} {{ render_field(field) }} {% if field.html_field_name in diff %} {{ render_modified_regdata(regdata, diff[field.html_field_name]) }} {% else %} {{ render_regdata(regdata) }} {% endif %} {% endfor %}
{% endfor %} {% if old_price != registration.price or registration.price %}

Total: {% if old_price != registration.price %} {{- registration._render_price(old_price) -}} {{- registration.render_price() -}} {% else %} {{- registration.render_price() -}} {% endif %}

{% endif %} {% endblock %} {% macro render_field(field) %}
{{- field.title -}}:
{% endmacro %} {% macro render_regdata(regdata) %}
{%- set friendly_data = regdata.friendly_data -%} {%- set type = regdata.field_data.field.input_type -%} {{- render_friendly_data(friendly_data, type) -}} {%- if regdata.price -%} {{- render_price(regdata) -}} {%- endif -%}
{% endmacro %} {% macro render_modified_regdata(regdata, diff) %}
{%- set type = regdata.field_data.field.input_type -%} {%- set old = diff.old -%} {%- set new = diff.new -%} {%- set old_friendly_data = render_friendly_data(old.friendly_data, type) -%} {%- set new_friendly_data = render_friendly_data(new.friendly_data, type) -%} {%- if old_friendly_data -%} {{ old_friendly_data }} {%- endif -%} {%- if new_friendly_data -%} {{ new_friendly_data }} {%- endif -%} {%- if old.price != new.price -%} {#--#} {{- regdata._render_price(old.price) -}}{#--#} {{- regdata._render_price(new.price) -}}{#--#} {%- elif regdata.price -%} {{- render_price(regdata) -}} {%- endif -%}
{% endmacro %} {% macro render_friendly_data(friendly_data, type) %} {%- if type == 'accommodation' and friendly_data -%} {{- render_accommodation(friendly_data) -}} {%- elif type == 'multi_choice' -%} {{- render_multichoice(friendly_data) -}} {%- else -%} {{- friendly_data -}} {%- endif -%} {% endmacro %} {% macro render_accommodation(friendly_data) %} {%- if friendly_data['is_no_accommodation'] -%} {{- friendly_data.choice -}} {%- else -%} {{- friendly_data.choice }} {# -#} ({{ friendly_data.arrival_date | format_date(locale='en_GB') }} - {# -#} {{ friendly_data.departure_date | format_date(locale='en_GB') -}}) {%- endif -%} {% endmacro %} {% macro render_multichoice(friendly_data) %} {{- friendly_data | join(', ') -}} {% endmacro %} {%- macro render_price(regdata) -%} {{- regdata.render_price() -}} {%- endmacro -%}