{% set btn_prefix = 'Hide' if group == 1 else 'Show' %} {{ btn_prefix }} Application Groups
{% if group == 1 %} {# Group rows by Application (CEM)#} {% for cem, pi_dict in apps_dict.items() %} {% set cem_total = pi_dict.values()|sum(attribute='sum_cost') %} {% set cem_sum_days = pi_dict.values()|sum(attribute='sum_days') %} {% if cem_total > 0 %} {% for pi_id, pi_info in pi_dict.items() %} {% set bookings = pi_info['bookings'] %} {% set extra_costs = transactions_dict.get(pi_id, 0) %} {% set to_invoice = pi_info['sum_cost'] + extra_costs %} {% if bookings|length > 0 or extra_costs != 0 %} {% set pu = portal_users[pi_info['pi_email']] %} {% set ia = pu['invoice_address'] %} {% endif %} {% endfor %} {% endif %} {% endfor %} {% else %} {# No grouping, just PI rows #} {% for pi_id, pi_info in pi_dict.items() %} {% set bookings = pi_info['bookings'] %} {% set extra_costs = transactions_dict.get(pi_id, 0) %} {% set to_invoice = pi_info['sum_cost'] + extra_costs %} {% if bookings|length > 0 or extra_costs != 0 %} {% set pu = portal_users[pi_info['pi_email']] %} {% endif %} {% endfor %} {% endif %}
Principal Investigator Invoice Reference Invoice Address Bookings Days Cost (SEK) Extras (SEK) TO BE INVOICED
{{ cem }} {{ cem_days }} {{ cem_total }}
{{ pi_info['pi_name'] }} {{ pu['invoice_ref'] }}{{ ia['address']}}, {{ia['zip']}}, {{ia['city'] }}, {{ ia['country'] }} {{ bookings|length }} {{ pi_info['sum_days'] }} {{ pi_info['sum_cost'] }} {{ extra_costs }} {{ to_invoice }}
{{ pi_info['pi_name'] }} {{ pu['invoice_ref'] }} {{ pu['invoice_address']['address'] }} {{ bookings|length }} {{ pi_info['sum_days'] }} {{ pi_info['sum_cost'] }} {{ extra_costs }} {{ to_invoice }}