{# The outstanding-balance section on the management registration page, and the button that settles it. Core's own section above this one reads a repriced member badly: the state is `unpaid` because `pricing.sync_balance_state` put it there, but `registration.is_paid` is still true, so core prints "Registration not paid yet -- the current transaction is still pending" and offers no button at all. This says what actually happened and gives the organizer the one action there is. The confirmation is one line on purpose: Jinja keeps every newline and indent inside a `{% trans %}`, and an attribute is read back verbatim. #} {% macro settle_button(registration, membership) %} {% endmacro %} {% macro render_balance_actions(membership, registration) %}
{% trans %}Outstanding balance{% endtrans %}
{% trans name=membership.group.name, paid=format_currency(membership.paid_amount, registration.currency), price=registration.render_price(), balance=format_currency(membership.balance_due, registration.currency) -%} This registration was repriced after it was paid: {{ paid }} was received and the group "{{ name }}" now costs {{ price }}, leaving {{ balance }} outstanding. Indico records one payment per registration, so collect the difference at the desk or by transfer and record it here. {%- endtrans %}
{{ format_currency(membership.balance_due, registration.currency) }}
{{ settle_button(registration, membership) }}
{% endmacro %}