aboutsummaryrefslogtreecommitdiffhomepage
path: root/main/app/sprinkles/admin/templates/tables/activities.html.twig
diff options
context:
space:
mode:
Diffstat (limited to 'main/app/sprinkles/admin/templates/tables/activities.html.twig')
-rwxr-xr-xmain/app/sprinkles/admin/templates/tables/activities.html.twig73
1 files changed, 73 insertions, 0 deletions
diff --git a/main/app/sprinkles/admin/templates/tables/activities.html.twig b/main/app/sprinkles/admin/templates/tables/activities.html.twig
new file mode 100755
index 0000000..d70541b
--- /dev/null
+++ b/main/app/sprinkles/admin/templates/tables/activities.html.twig
@@ -0,0 +1,73 @@
+{# This partial template renders a table of user activities, 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="[[0, 1]]">
+ <thead>
+ <tr>
+ <th class="sorter-metanum" data-column-name="occurred_at" data-column-template="#activity-table-column-occurred-at" data-priority="1">{{translate('ACTIVITY.TIME')}} <i class="fa fa-sort"></i></th>
+ {% if 'user' in table.columns %}
+ <th class="sorter-metatext" data-column-name="user" data-column-template="#activity-table-column-user" data-priority="1">{{translate('USER')}} <i class="fa fa-sort"></i></th>
+ {% endif %}
+ <th class="sorter-metatext" data-column-name="description" data-column-template="#activity-table-column-description" data-priority="1">{{translate("DESCRIPTION")}} <i class="fa fa-sort"></i></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="activity-table-column-occurred-at" type="text/x-handlebars-template">
+ {{#if row.occurred_at }}
+ <td data-num="{{dateFormat row.occurred_at format='x'}}">
+ {{dateFormat row.occurred_at format="dddd"}}<br>{{dateFormat row.occurred_at format="MMM Do, YYYY h:mm a"}}
+ </td>
+ {{ else }}
+ <td data-num="0">
+ <i>{% endverbatim %}{{translate("UNKNOWN")}}{% verbatim %}</i>
+ </td>
+ {{/if }}
+ </script>
+
+ <script id="activity-table-column-user" type="text/x-handlebars-template">
+ <td data-text="{{row.user.last_name}}">
+ {{#if row.user }}
+ <strong>
+ <a href="{{site.uri.public}}/users/u/{{row.user.user_name}}">{{row.user.first_name}} {{row.user.last_name}} ({{row.user.user_name}})</a>
+ </strong>
+ <div class="js-copy-container">
+ <span class="js-copy-target">{{row.user.email}}</span>
+ <button class="btn btn-xs uf-copy-trigger js-copy-trigger"><i class="fa fa-copy"></i></button>
+ </div>
+ {{ else }}
+ <i>{% endverbatim %}{{translate("USER.DELETED")}}{% verbatim %}</i>
+ {{/if }}
+ </td>
+ </script>
+
+ <script id="activity-table-column-description" type="text/x-handlebars-template">
+ <td>
+ <div>
+ {{row.ip_address}}
+ </div>
+ <div>
+ <i>{{row.description}}</i>
+ </div>
+ </td>
+ </script>
+ {% endverbatim %}
+{% endblock %}