{% extends "sidebar_table_layout.html" %} {% macro change_to_logging_preference(event) %} {% if event.val_after == LoggingMode.DISABLED %} {% if event.val_before == LoggingMode.ENABLED %} {{ _("Disabled Project History") }} {% else %} {{ _("Disabled Project History & IP Address Recording") }} {% endif %} {% elif event.val_after == LoggingMode.ENABLED %} {% if event.val_before == LoggingMode.DISABLED %} {{ _("Enabled Project History") }} {% elif event.val_before == LoggingMode.RECORD_IP %} {{ _("Disabled IP Address Recording") }} {% else %} {{ _("Enabled Project History") }} {% endif %} {% elif event.val_after == LoggingMode.RECORD_IP %} {% if event.val_before == LoggingMode.DISABLED %} {{ _("Enabled Project History & IP Address Recording") }} {% elif event.val_before == LoggingMode.ENABLED %} {{ _("Enabled IP Address Recording") }} {% else %} {{ _("Enabled Project History & IP Address Recording") }} {% endif %} {% else %} {# Should be unreachable #} {{ _("History Settings Changed") }} {% endif %} {% endmacro %} {% macro bill_property_change(event, localized_property_name, before=event.val_before|em_surround, after=event.val_after|em_surround) %} {% set name=event.object_desc|em_surround %} {% set property_name=localized_property_name %} {% if before %} {% trans %}Bill {{ name }}: {{ property_name }} changed from {{ before }} to {{ after }}{% endtrans %} {% else %} {% trans %}Bill {{ name }}: {{ property_name }} changed to {{ after }}{% endtrans %} {% endif %} {% endmacro %} {% macro clear_history_modals() %}

### {{ _('Confirm Remove IP Adresses') }}

×

{{ _("Are you sure you want to delete all recorded IP addresses from this project? The rest of the project history will be unaffected. This action cannot be undone.") }}

{{ forms.delete_ip_addresses(delete_form) }}

### {{ _('Delete Confirmation') }}

×

{{ _("Are you sure you want to erase all history for this project? This action cannot be undone.") }}

{{ forms.delete_project_history(delete_form) }}
{% endmacro %} {% macro owers_changed(event, add) %} {% set name=event.object_desc|em_surround %} {% set owers_list_str=event.val_after|localize_list|safe %} {% if add %} {% trans %}Bill {{ name }}: added {{ owers_list_str }} to owers list{% endtrans %} {% else %} {% trans %}Bill {{ name }}: removed {{ owers_list_str }} from owers list{% endtrans %} {% endif %} {% endmacro %} {% macro bill_details(details, before=False) %} {% set owers_list_str=details.owers|localize_list|safe %}
{% if before %} {{ _("Details of the bill (before the change)") }} {% else %} {{ _("Details of the bill") }} {% endif %}
{{ _("Date:") }} {{ details.date|em_surround }}. {{ _("Payer:") }} {{ details.payer|em_surround }}. {{ _("Amount:") }} {{ details.amount|currency(details.original_currency)|em_surround }}. {{ _("Owers:") }} {{ owers_list_str }}. {% if details.external_link %} {{ _("External link:") }} {{ details.external_link }} {% endif %}
{% endmacro %} {% block sidebar %}
{{ balance_table(show_weight=False, show_header=True) }}
{% endblock %} {% block content %} {% if current_log_pref == LoggingMode.DISABLED or (current_log_pref != LoggingMode.RECORD_IP and any_ip_addresses) %}
{% if current_log_pref == LoggingMode.DISABLED %}

{{ _("This project has history disabled. New actions won't appear below.") }} {{ _("You can enable history on the settings page.") }}

{% if history %}

{{ _("The table below reflects actions recorded prior to disabling project history.") }} {{ _("You can clear the project history to remove them.") }}

{% endif %} {% endif %} {% if current_log_pref != LoggingMode.RECORD_IP and any_ip_addresses %}

{{ _("Some entries below contain IP addresses, even though this project has IP recording disabled. ") }} {{ _("Delete stored IP addresses") }}

{% endif %}
{% endif %} {{ clear_history_modals() }}
{{ static_include("images/x.svg") | safe }} {{ _("Delete Stored IP Addresses") }} {{ static_include("images/x.svg") | safe }} {{ _("Clear Project History") }}
{% if history %}

{{ _("Time") }} | {{ _("Event") }} | {{ _("From IP") }}
--- | --- | ---
{% for event in history %}
{{ event.time|datetimeformat("medium") }} | {# Common value setting #} {% set name=event.object_desc|em_surround %} {% if event.operation_type == OperationType.INSERT %} {% if event.object_type == "Project" %} {% trans %}Project {{ name }} added{% endtrans %} {% elif event.object_type == "Bill" %} {% trans %}Bill {{ name }} added{% endtrans %} {{ bill_details(event.bill_details) }} {% elif event.object_type == "Person" %} {% trans %}Participant {{ name }} added{% endtrans %} {% endif %} {% elif event.operation_type == OperationType.UPDATE %} {% if event.object_type == "Project" %} {% if event.prop_changed == "password" %} {{ _("Project private code changed") }} {% elif event.prop_changed == "logging_preference" %} {{ change_to_logging_preference(event) }} {% elif event.prop_changed == "name" %} {% set new_project_name=event.val_after|em_surround %} {% trans %}Project renamed to {{ new_project_name }}{% endtrans %} {% elif event.prop_changed == "contact_email" %} {% set new_email=event.val_after|em_surround %} {% trans %}Project contact email changed to {{ new_email }}{% endtrans %} {% else %} {{ _("Project settings modified") }} {% endif %} {% elif event.object_type == "Bill" %} {% if event.prop_changed == "what" %} {% set new_description=event.val_after|em_surround %} {% trans %}Bill {{ name }} renamed to {{ new_description }}{% endtrans %} {% elif event.prop_changed == "external_link" %} {{ bill_property_change(event, _("External link"), None, "{link}".format(link=event.val_after | escape) | safe | em_surround) }} {% elif event.prop_changed == "owers_added" %} {{ owers_changed(event, True)}} {% elif event.prop_changed == "owers_removed" %} {{ owers_changed(event, False)}} {% elif event.prop_changed == "payer" %} {{ bill_property_change(event, _("Payer"))}} {% elif event.prop_changed == "amount" %} {{ bill_property_change(event, _("Amount")) }} {% elif event.prop_changed == "date" %} {{ bill_property_change(event, _("Date")) }} {% elif event.prop_changed == "original_currency" %} {{ bill_property_change(event, _("Currency")) }} {% elif event.prop_changed == "converted_amount" %} {{ bill_property_change(event, _("Amount in %(currency)s", currency=g.project.default_currency)) }} {% else %} {% trans %}Bill {{ name }} modified{% endtrans %} {% endif %} {{ bill_details(event.bill_details, before=True) }} {% elif event.object_type == "Person" %} {% if event.prop_changed == "activated" %} {% if event.val_after == False %} {% trans %}Participant {{ name }} deactivated{% endtrans %} {% else %} {% trans %}Participant {{ name }} reactivated{% endtrans %} {% endif %} {% elif event.prop_changed == "name" %} {% set new_name=event.val_after|em_surround %} {% trans %}Participant {{ name }} renamed to {{ new_name }}{% endtrans %} {% elif event.prop_changed == "weight" %} {% set old_weight=event.val_before|em_surround %} {% set new_weight=event.val_after|em_surround %} {% trans %}Participant {{ name }}: weight changed from {{ old_weight }} to {{ new_weight }}{% endtrans %} {% else %} {% trans %}Participant {{ name }} modified{% endtrans %} {% endif %} {% endif %} {% elif event.operation_type == OperationType.DELETE %} {% if event.object_type == "Bill" %} {% trans %}Bill {{ name }} removed{% endtrans %} {{ bill_details(event.bill_details) }} {% elif event.object_type == "Person" %} {% trans %}Participant {{ name }} removed{% endtrans %} {% endif %} {% else %} {# Should be unreachable #} {% if event.object_type == "Project" %} {% trans %}Project {{ name }} changed in an unknown way{% endtrans %} {% elif event.object_type == "Bill" %} {% trans %}Bill {{ name }} changed in an unknown way{% endtrans %} {% elif event.object_type == "Person" %} {% trans %}Participant {{ name }} changed in an unknown way{% endtrans %} {% endif %} {% endif %} | {% if event.ip %}{{ event.ip }}{% else %} -- {% endif %}
{% endfor %}

{% else %}
{{ static_include("images/bill.svg") | safe }}

### {{ _('Nothing to list')}}

{{ _("Someone probably cleared the project history.") }}

{% endif %} {% endblock %}