{% extends "base.html" %} {% block title %}{{ _("Budget") }} · Wealth Dashboard{% endblock %} {% block heading %}{{ _("Budget") }}{% endblock %} {# Set outside every block: a block cannot see what another block set, and the chart card and its script both need this list. Budgeted categories first, then unbudgeted ones with spending. #} {% set charted = report.rows | selectattr('budget') | list + report.rows | rejectattr('budget') | selectattr('spent') | list %} {% block lede %}
{{ _("Measured against how far through the month you are, not against the whole month. Halfway through, everyone is under budget — the useful question is whether you are ahead of the pace.") }} {% if view_person %}{{ _f("The budget itself is the household's; the spending measured against it here is {name}'s alone.", name=view_person.name) }}{% endif %}
{% endblock %} {% block content %} {% macro fx_note(x) %} {% if x.converted %} {% set amounts %}{% for u in x.converted %}{{ money(u.amount, u.currency) }}{{ ", " if not loop.last }}{% endfor %}{% endset %}{{ _f("Includes {amounts}, converted at ECB rates — each month at its own rate, and months older than the rates on file at the oldest.", amounts=amounts) | safe }}
{% endif %} {% if x.unconverted %}{{ _("Not counted, because no rate here covers them:") }} {% for u in x.unconverted %}{{ money(u.amount, u.currency) }}{{ ", " if not loop.last }}{% endfor %} {% set settings_link %}{{ _("Settings") }}{% endset %} {{ _f("Fetch rates under {settings}.", settings=settings_link) | safe }}
{% endif %} {% endmacro %} {% set remaining = report.total_budget - report.total_spent %}