110 lines
5.2 KiB
Twig
110 lines
5.2 KiB
Twig
{# This partial template renders a table of organisations, to be populated with rows via an AJAX request.
|
|
# This extends a generic template for paginated tables.
|
|
#
|
|
# Note that this template contains a "skeleton" table with an empty table body, and then a block of Handlebars templates which are used
|
|
# to render the table cells with the data from the AJAX request.
|
|
#}
|
|
|
|
{% extends "tables/table-paginated.html.twig" %}
|
|
|
|
{% block table %}
|
|
<table id="{{table.id}}" class="tablesorter table table-bordered table-hover table-striped" data-sortlist="{{table.sortlist}}">
|
|
<thead>
|
|
<tr>
|
|
<th class="sorter-metatext" data-column-name="name" data-column-template="#organisation-table-column-info" data-priority="1">{{translate('ORGANISATION')}} <i class="fas fa-sort"></i></th>
|
|
<th class="sorter-metatext" data-column-name="description" data-column-template="#organisation-table-column-description" data-priority="2">{{translate("DESCRIPTION")}} <i class="fas fa-sort"></i></th>
|
|
<th class="filter-select filter-metatext" data-column-name="status" data-column-template="#user-table-column-status" data-priority="2">{{translate("STATUS")}} <i class="fas fa-sort"></i></th>
|
|
<th class="sorter-metanum" data-column-name="member_count" data-column-template="#organisation-table-column-memberCount" data-priority="2">{{translate("ORGANISATION.MEMBER_COUNT")}} <i class="fas fa-sort"></i></th>
|
|
<th class="sorter-metanum" data-column-name="admin_count" data-column-template="#organisation-table-column-adminCount" data-priority="2">{{translate("ORGANISATION.ADMIN_COUNT")}} <i class="fas fa-sort"></i></th>
|
|
<th data-column-template="#organisation-table-column-actions" data-sorter="false" data-filter="false" data-priority="1">{{translate("ACTIONS")}}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
</tbody>
|
|
</table>
|
|
{% endblock %}
|
|
|
|
{% block table_cell_templates %}
|
|
{# This contains a series of <script> blocks, each of which is a client-side Handlebars template.
|
|
# Note that these are NOT Twig templates, although the syntax is similar. We wrap them in the `verbatim` tag,
|
|
# so that Twig will output them directly into the DOM instead of trying to treat them like Twig templates.
|
|
#
|
|
# These templates require handlebars-helpers.js, moment.js
|
|
#}
|
|
{% verbatim %}
|
|
<script id="organisation-table-column-info" type="text/x-handlebars-template">
|
|
<td data-text="{{row.name}}">
|
|
<strong>
|
|
<a href="{{site.uri.public}}/organisations/o/{{row.slug}}">{{row.name}}</a>
|
|
</strong>
|
|
</td>
|
|
</script>
|
|
|
|
<script id="organisation-table-column-description" type="text/x-handlebars-template">
|
|
<td>
|
|
{{row.description}}
|
|
</td>
|
|
</script>
|
|
|
|
<script id="user-table-column-status" type="text/x-handlebars-template">
|
|
<td
|
|
{{#ifx row.flag_approved '==' 1 }}
|
|
data-text="approved"
|
|
{{ else }}
|
|
data-text="pending"
|
|
{{/ifx }}
|
|
>
|
|
{{#ifx row.flag_approved '==' 1 }}
|
|
<span>
|
|
{% endverbatim %}{{translate("APPROVED")}}{% verbatim %}
|
|
</span>
|
|
{{ else }}
|
|
<span class="text-danger">
|
|
{% endverbatim %}{{translate("PENDING")}}{% verbatim %}
|
|
</span>
|
|
{{/ifx }}
|
|
</td>
|
|
</script>
|
|
|
|
<script id="organisation-table-column-memberCount" type="text/x-handlebars-template">
|
|
<td>
|
|
{{row.member_count}}
|
|
</td>
|
|
</script>
|
|
|
|
<script id="organisation-table-column-adminCount" type="text/x-handlebars-template">
|
|
<td>
|
|
{{row.admin_count}}
|
|
</td>
|
|
</script>
|
|
|
|
<script id="organisation-table-column-actions" type="text/x-handlebars-template">
|
|
<td>
|
|
<div class="btn-group">
|
|
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
|
|
{% endverbatim %}{{translate("ACTIONS")}}{% verbatim %}
|
|
<span class="caret"></span>
|
|
</button>
|
|
<ul class="dropdown-menu dropdown-menu-right" role="menu">
|
|
<li>
|
|
<a href="#" data-slug="{{row.slug}}" class="js-organisation-edit">
|
|
<i class="fas fa-edit"></i> {% endverbatim %}{{translate("ORGANISATION.EDIT")}}{% verbatim %}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" data-slug="{{row.slug}}" class="js-organisation-merge">
|
|
<i class="fas fa-object-group"></i> {% endverbatim %}{{translate("ORGANISATION.MERGE")}}{% verbatim %}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="#" data-slug="{{row.slug}}" class="js-organisation-delete">
|
|
<i class="fas fa-trash-alt"></i> {% endverbatim %}{{translate("ORGANISATION.DELETE")}}{% verbatim %}
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</td>
|
|
</script>
|
|
{% endverbatim %}
|
|
{% endblock %}
|