{% 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 em_surround(text) %}{{ text }}{% endmacro %} {% macro simple_property_change(event, localized_property_name, from=True) %} {% if from %} {{ _("{object_type} {object_description}: {property_name} changed from {value_before} to {value_after}").format( object_type=event.object_type, object_description=em_surround(event.object_desc), property_name=localized_property_name, value_before=em_surround(event.val_before), value_after=em_surround(event.val_after) ) }} {% else %} {{ _("{object_type} {object_description}: {property_name} changed to {value_after}").format( object_type=event.object_type, object_description=em_surround(event.object_desc), property_name=localized_property_name, value_after=em_surround(event.val_after) ) }} {% endif %} {% endmacro %} {% macro clear_history_modals() %} {% endmacro %} {% macro owers_changed(event, add) %} {% if add %} {{ _("{object_type} {object_description}: Added {owers_list_str} to owers list").format( object_type=event.object_type, object_description=em_surround(event.object_desc), owers_list_str=event.val_after|localize_list|safe ) }} {% else %} {{ _("{object_type} {object_description}: Removed {owers_list_str} from owers list").format( object_type=event.object_type, object_description=em_surround(event.object_desc), owers_list_str=event.val_after|localize_list|safe ) }} {% endif %} {% endmacro %} {% block sidebar %}
{% set balance = g.project.balance %} {% for member in g.project.members | sort(attribute='name') if member.activated or balance[member.id]|round(2) != 0 %} {% endfor %}
{{ _("Who?") }} {{ _("Balance") }}
{{ member.name }} {% if balance[member.id]|round(2) > 0 %}+{% endif %}{{ "%.2f" | format(balance[member.id]) }}
{% 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 %}

{% set url = url_for(".edit_project") %} {% trans %} This project has history disabled. New actions won't appear below. You can enable history on the settings page {% endtrans %}

{% if history %}

{% trans %} The table below reflects actions recorded prior to disabling project history. You can clear project history to remove them.

{% endtrans %} {% 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 }} {{ _("Clear Project History") }} {{ static_include("images/x.svg") | safe }} {{ _("Delete Stored IP Addresses") }}
{% if history %} {% for event in history %} {% endfor %}
{{ _("Time") }} {{ _("Event") }} {{ _("From IP") }}
{% if event.operation_type == OperationType.INSERT %} {{ _("{object_type} {object_description} added").format( object_type=event.object_type, object_description=em_surround(event.object_desc) ) }} {% 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" %} {{ _("Project renamed to {new_project_name}").format( new_project_name=em_surround(event.val_after) ) }} {% elif event.prop_changed == "contact_email" %} {{ _("Project contact email changed to {new_email}").format( new_email=em_surround(event.val_after) ) }} {% else %} {{ _("Project settings modified") }} {% endif %} {% elif event.prop_changed == "activated" %} {% if event.val_after == False %} {{ _("{object_type} {object_description} deactivated").format( object_type=event.object_type, object_description=em_surround(event.object_desc) ) }} {% else %} {{ _("{object_type} {object_description} reactivated").format( object_type=event.object_type, object_description=em_surround(event.object_desc) ) }} {% endif %} {% elif event.prop_changed == "name" or event.prop_changed == "what" %} {{ _("{object_type} {object_description} renamed to {new_name}").format( object_type=event.object_type, object_description=em_surround(event.object_desc), new_name=em_surround(event.val_after) ) }} {% elif event.prop_changed == "weight" %} {{ simple_property_change(event, _("Weight")) }} {% elif event.prop_changed == "external_link" %} {{ _("{object_type} {object_description}: External link changed to {new_link}").format( object_type=event.object_type, object_description=em_surround(event.object_desc), new_link='{0}'.format(event.val_after) ) }} {% 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" %} {{ simple_property_change(event, _("Payer"))}} {% elif event.prop_changed == "amount" %} {{ simple_property_change(event, _("Amount")) }} {% elif event.prop_changed == "date" %} {{ simple_property_change(event, _("Date")) }} {% else %} {{ _("{object_type} {object_description} modified").format( object_type=event.object_type, object_description=em_surround(event.object_desc) ) }} {% endif %} {% elif event.operation_type == OperationType.DELETE %} {{ _("{object_type} {object_description} removed").format( object_type=event.object_type, object_description=em_surround(event.object_desc) ) }} {% else %} {# Should be unreachable #} {{ _("{object_type} {object_description} changed in an unkown way").format( object_type=event.object_type, object_description=em_surround(event.object_desc) ) }} {% endif %}
{% if event.ip %}{{ event.ip }}{% else %} -- {% endif %}
{% else %}
{{ static_include("images/hand-holding-heart.svg") | safe }}

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

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

{% endif %} {% endblock %}