{% set infotext = { 'green': "The last entry is a passing balance check.", 'red': "The last entry is a failing balance check.", 'yellow': "The last entry is not a balance check.", } %} {% macro indicator(account) %} {% set status=ledger.account_uptodate_status(account) %} {% if status %} {% endif %} {% endmacro %} {% macro last_account_activity(account_name) %} {% set last_entry = ledger.last_entry(account_name) %} {% set last_account_activity = (today() - last_entry.date).days if last_entry else 0 %} {% if last_account_activity > ledger.fava_options['uptodate-indicator-grey-lookback-days'] %} {% endif %} {% endmacro %} {% macro balance_directive(account) %} {% for position in (ledger.all_root_account|get_or_create(account)).balance|units %} {{ today() }} balance {{ account.ljust(28) }} {% with num=position.units.number|string %}{{ num.rjust(15) }}{% endwith %} {{ position.units.currency }} {% endfor %} {% endmacro %} {% macro account_name(account_name, last_segment=False) %} {{ account_name.split(':')[-1] if last_segment else account_name }} {% if account_name and ledger.accounts[account_name].meta.get('fava-uptodate-indication') %} {{ indicator(account_name) }} {{ last_account_activity(account_name) }} {% endif %} {% endmacro %} {% macro account_name_header(account_name) %} {% set parts = account_name.split(':') %} {% for part in parts %} {%- if loop.last -%} {{ part }} {%- else -%} {%- set name = ':'.join(parts[:loop.index]) -%} {{ part }}: {%- endif -%} {% endfor %} {% if account_name and ledger.accounts[account_name].meta.get('fava-uptodate-indication') %} {{ indicator(account_name) }} {{ last_account_activity(account_name) }} {% endif %} {% set last_entry = ledger.last_entry(account_name) %} {% if last_entry %} (Last entry: {{ last_entry.date }}) {% endif %} {% endmacro %}