{% 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.get_summary_data(hide_empty=true).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 %}

{% trans %}Total:{% endtrans %} {% 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 type = regdata.field_data.field.input_type -%}
{%- set friendly_data = regdata.friendly_data -%} {%- set html_name = regdata.field_data.field.html_field_name -%} {{- render_friendly_data(friendly_data, type, regdata) -}} {%- if regdata.price -%} {{- render_price(regdata) -}} {%- endif -%}
{% endmacro %} {% macro render_modified_regdata(regdata, diff) %} {%- set type = regdata.field_data.field.input_type -%}
{%- set html_name = regdata.field_data.field.html_field_name -%} {%- set old = diff.old -%} {%- set new = diff.new -%} {%- set old_friendly_data = render_friendly_data(old.friendly_data, type, regdata, true) -%} {%- set new_friendly_data = render_friendly_data(new.friendly_data, type, regdata, true) -%} {%- if old_friendly_data and type != 'picture' -%} {{ 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, raw_data, from_diff=false) %} {%- if type == 'accommodation' and friendly_data -%} {{- render_accommodation(friendly_data) -}} {%- elif type == 'multi_choice' -%} {{- render_multichoice(friendly_data) -}} {%- elif type == 'sessions' -%} {{- render_sessions(friendly_data) -}} {%- elif type == 'picture' and friendly_data -%} {{- render_picture(friendly_data, raw_data) -}} {%- elif from_diff -%} {{- raw_data.field_data.field.field_impl.render_email_diff_data(friendly_data) -}} {%- else -%} {{- raw_data.field_data.field.field_impl.render_email_data(raw_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 }} - {# -#} {{ friendly_data.departure_date | format_date -}}) {%- endif -%} {% endmacro %} {% macro render_multichoice(friendly_data) %} {{- friendly_data | join(', ') -}} {% endmacro %} {% macro render_sessions(friendly_data) %} {{- friendly_data | join('
'|safe) -}} {% endmacro %} {% macro render_picture(friendly_data, raw_data) %} {% trans %}Registrant picture{% endtrans %} {% endmacro %} {%- macro render_price(regdata) -%} {{- regdata.render_price() -}} {%- endmacro -%}