{% macro category_table(cat_list, current_repository, state_list=["mixed"], redirect_target="categories.workshop", interactive=True, with_colors=True, buttons_id="") -%}
{% for cat in cat_list %}
{% if state_list == ["mixed"] or (cat.state in state_list) %}
<tr
{% if with_colors %}
{% if cat.state == "created" %}
class="success"
{% elif cat.state == "modified" %}
class="warning"
{% elif cat.state == "deleted" %}
class="danger"
{% endif %}
{% endif %}>
<td class="col-md-2">{{ cat.cat_label }}</td>
<td class="col-md-7">{{ cat.cat_description}}</td>
<td class="col-md-1 text-center">
<a title="Détails catégorie">
<button class="btn btn-default cat-info-toggle" id="info_button_{% if ((cat.state != 'untouched') and (cat.state != 'original')) %}edited_{% endif %}{{ cat.cat_id }}{% if buttons_id %}-{{ buttons_id }}{% endif %}">
<span id="info_icon_{% if ((cat.state != 'untouched') and (cat.state != 'original')) %}edited_{% endif %}{{ cat.cat_id }}{% if buttons_id %}-{{ buttons_id }}{% endif %}" class="glyphicon glyphicon-plus-sign"/>
</button>
</a>
</td>
{% if interactive %}
{% if (cat.state != "deleted") %}
<td class="col-md-1 text-center">
<a href="{{ url_for('categories.editor', cat_id=cat.cat_id, repository=current_repository)}}" title="Editer catégorie" class="btn btn-default {% if readonly %}disabled{% endif %}">
<span class="glyphicon glyphicon glyphicon-pencil"/>
</a>
</td>
{% endif %}
{% if (cat.state == "untouched") or (cat.state == "original") %}
<td class="col-md-1 text-center">
<a title="Supprimer catégorie">
<button class="btn btn-default cat-delete-toggle {% if readonly %}disabled{% endif %}" id="delete_button_{{ cat.cat_id }}{% if buttons_id %}-{{ buttons_id }}{% endif %}">
<span id="delete_icon_{{ cat.cat_id }}" class="glyphicon glyphicon-trash"/>
</button>
</a>
</td>
{% elif (cat.state == "created" or cat.state == "modified") %}
<td class="col-md-1 text-center">
<a title="Supprimer changements">
<button class="btn btn-default cat-delete-toggle {% if readonly %}disabled{% endif %}" id="delete_button_edited_{{ cat.cat_id }}{% if buttons_id %}-{{ buttons_id }}{% endif %}">
<span id="delete_icon_edited_{{ cat.cat_id }}"class="glyphicon glyphicon-remove-sign"/>
</button>
</a>
</td>
{% else %}
<td colspan="2" class="text-center">
<form method="POST" action="{{url_for('categories.delete_category', deleted_cat_id=cat.cat_id, repository=current_repository, redirect_to=redirect_target)}}" class="form-inline">
<input name="csrf_token" value="{{ csrf_token() }}" type="hidden">
<a title="Restaurer catégorie">
<button class="btn btn-default" type="submit">Restaurer</button>
</a>
</form>
</td>
{% endif %}
{% endif %}
</tr>
<tr
{% if with_colors %}
{% if cat.state == "created" %}
class="success"
{% elif cat.state == "modified" %}
class="warning"
{% elif cat.state == "deleted" %}
class="danger"
{% endif %}
{% endif %}>
<td colspan="5">
<div class="cat-info-div" id="properties_{% if (cat.state != 'untouched') and (cat.state != 'original') %}edited_{% endif %}{{cat.cat_id}}{% if buttons_id %}-{{ buttons_id }}{% endif %}">
<dl class="dl-horizontal">
{% if cat.cat_properties|length == 0 %} <dt></dt><dd>Aucune autre propriété</dd>
{% else %}
{% for (predicate, object) in cat.cat_properties %}
<dt>{{ get_property_list()[current_repository][predicate.toPython()]["descriptive_label_fr"] }}</dt>
<dd>
{% if get_property_list()[current_repository][predicate.toPython()]["object_type"]=="uriref-category" %}
{% for cat in cat_list %}
{% if object == config["CATEGORY_NAMESPACE"][cat.cat_id] %}
{{ cat.cat_label }}
{% endif %}
{% endfor %}
{% elif get_property_list()[current_repository][predicate.toPython()]["object_type"]=="uriref-link" %}
<a href="{{ object }}">{{ object }}</a>
{% else %}
{{ object }}
{% endif %}
</dd>
{% endfor %}
{% endif %}
</dl>
</div>
{% if interactive %}
{% if cat.state != "deleted" %}
<div class="cat-delete-div" id="delete_confirm_{% if ((cat.state != 'untouched') and (cat.state != 'original')) %}edited_{% endif %}{{cat.cat_id}}{% if buttons_id %}-{{ buttons_id }}{% endif %}">
<form method="POST" action=
"{% if cat.state == 'modified' or cat.state == 'created' %}
{{url_for('categories.delete_changes', deleted_changes_id=cat.cat_id, repository=current_repository, redirect_to=redirect_target)}}
{% else %}
{{url_for('categories.delete_category', deleted_cat_id=cat.cat_id, repository=current_repository, redirect_to=redirect_target)}}
{% endif %}" class="form-inline">
<label> Vous allez supprimer {% if (cat.state == "modified") or (cat.state == "created") %} les changements sur {% endif %} la catégorie. </label>
<input name="csrf_token" value="{{ csrf_token() }}" type="hidden">
<a title="Supprimer {% if cat.state == 'modified' %}changements{% else %}catégorie{% endif %}">
<button class="btn btn-default {% if readonly %}disabled{% endif %}" type="submit">Confirmer suppression</button>
</a>
</form>
</div>
{% endif %}
{% endif %}
</td>
</tr>
{% endif %}
{% endfor %}
{%- endmacro %}
{% macro render_pagination(pagination, per_page, page_arg_name="page", per_page_arg_name="per_page") -%}
{% if pagination %}
<ul class="pagination">
{% if pagination.has_prev %}
<li><a href="{{ url_for_other_page(pagination.page - 1, page_arg_name)}}" aria-label="Previous">«</a></li>
{% endif %}
{% for page in pagination.iter_pages() %}
{% if page %}
{% if page != pagination.page %}
<li><a href="{{ url_for_other_page(page, page_arg_name) }}">{{ page }}</a></li>
{% else %}
<li class="active"><a>{{ page }}</a></li>
{% endif %}
{% else %}
<li><span class=ellipsis>…</span></li>
{% endif %}
{% endfor %}
{% if pagination.has_next %}
<li><a href="{{ url_for_other_page(pagination.page + 1, page_arg_name)}}" aria-label="Next">»</a></li>
{% endif %}
</ul>
{% endif %}
<form class="form form-inline form-pagination">
<label class="label-pagination">Par page:</label>
<select class="form-control" name="comment_count" onchange="window.location.href=this.form.comment_count.options[this.form.comment_count.selectedIndex].value">
{% for count in [10, 30, 50, 100] %}
<option value="{{url_for_other_per_page(count, per_page_arg_name, per_page_arg_name)}}" {% if per_page==count %}selected="selected"{% endif %}>{{count}}</option>
{% endfor %}
</select>
</form>
{%- endmacro %}