{% extends "admin/base_site.html" %}
{% load i18n %}

{% block breadcrumbs %}
<div class="breadcrumbs"><a href="../../../../">{% trans 'Home' %}</a> &rsaquo; <a href="../../">{{ module_name }}</a> &rsaquo; <a href="../">{{ object|truncatewords:"18" }}</a> &rsaquo; {% trans 'History' %}</div>
{% endblock %}

{% block content %}
<div id="content-main">
<div class="module">

{% if action_list %}
    <table id="change-history">
        <thead>
        <tr>
            <th scope="col">{% trans 'Date/time' %}</th>
            <th scope="col">{% trans 'User' %}</th>
            <th scope="col">{% trans 'Action' %}</th>
        </tr>
        </thead>
        <tbody>
        {% for action in action_list %}
        <tr>
            <th scope="row">{{ action.action_time|date:_("DATETIME_FORMAT") }}</th>
            <td>{{ action.user.username }}{% if action.user.first_name %} ({{ action.user.first_name }} {{ action.user.last_name }}){% endif %}</td>
            <td>{{ action.change_message }}</td>
        </tr>
        {% endfor %}
        </tbody>
    </table>
{% else %}
    <p>{% trans "This object doesn't have a change history. It probably wasn't added via this admin site." %}</p>
{% endif %}
</div>
</div>
{% endblock %}
