templates/admin/entity_log/entity_log.html.twig line 79

Open in your IDE?
  1. {% extends 'admin/base.html.twig' %}
  2. {% block title %}История изменения данных{% endblock %}
  3. {% block content %}
  4.     <h1 class="h3 mb-2 text-gray-800">История изменения данных</h1>
  5.     <div class="card shadow mb-4 mt-4">
  6.         <div class="card-header py-3">
  7.             <h6 class="m-0 font-weight-bold text-primary">Список изменений</h6>
  8.         </div>
  9.         <div class="card-body">
  10.             <div id="entity-log-table-filters" class="mb-4 d-flex align-items-center" style="gap: 20px; flex-wrap: wrap;">
  11.                 {% include 'components/table_filter.html.twig' with { options: {
  12.                     labelText: 'Автор',
  13.                     dropdownIdPrefix: 'author',
  14.                     allItemsButtonText: 'Все авторы',
  15.                 }} %}
  16.                 {% include 'components/table_filter.html.twig' with { options: {
  17.                     labelText: 'Тип данных',
  18.                     dropdownIdPrefix: 'entityType',
  19.                     allItemsButtonText: 'Все типы',
  20.                 }} %}
  21.                 {% include 'components/table_filter.html.twig' with { options: {
  22.                     labelText: 'Действие',
  23.                     dropdownIdPrefix: 'actionType',
  24.                     allItemsButtonText: 'Все действия',
  25.                 }} %}
  26.             </div>
  27.             <div class="table-responsive">
  28.                 <table class="table table-bordered" id="entity-log-data-table">
  29.                     <thead>
  30.                         <tr>
  31.                             <th data-table-type="num">Номер п/п</th>
  32.                             <th data-table-type="date-d-m-Y-asc">Дата</th>
  33.                             <th data-table-dropdown-id="authorDropdown"
  34.                                 data-table-badge-id="authorBadge"
  35.                                 data-table-dropdown-text-for-all="Все авторы">Автор</th>
  36.                             <th>Данные</th>
  37.                             <th data-table-hide-col
  38.                                 data-table-dropdown-id="entityTypeDropdown"
  39.                                 data-table-badge-id="entityTypeBadge"
  40.                                 data-table-dropdown-text-for-all="Все типы">Тип данных</th>
  41. {#                            <th>Поле</th>#}
  42.                             <th data-table-dropdown-id="actionTypeDropdown"
  43.                                 data-table-badge-id="actionTypeBadge"
  44.                                 data-table-dropdown-text-for-all="Все действия">Действие</th>
  45.                             <th>Старое значение</th>
  46.                             <th>Новое значение</th>
  47.                         </tr>
  48.                     </thead>
  49.                     <tbody>
  50.                         {% set i = 0 %}
  51.                         {% for item in items %}
  52.                             {% set i = i + 1 %}
  53.                             <tr>
  54.                                 <td>{{ i }}</td>
  55.                                 <td>{{ item.createdAt|date('d.m.Y H:i') }}</td>
  56.                                 <td>{{ item.editedBy ? item.editedBy.name : '–' }}</td>
  57.                                 <td>
  58.                                     {% set fieldLabel = item.getEntityFieldText() %}
  59.                                     {% if fieldLabel == item.fieldName %}
  60.                                         {% set fieldLabel = entityLogService.getEntityFormFieldLabel(
  61.                                             "App\\Entity\\" ~ item.entityClass, item.fieldName) %}
  62.                                     {% endif %}
  63.                                     {% include 'components/status_button.html.twig' with { options: {
  64.                                         buttonClass: item.getEntityClassCss(),
  65.                                         text: item.getEntityText(),
  66.                                     } } %}
  67.                                     <small class="text-muted">{{ fieldLabel ?: '–' }}</small>
  68.                                 </td>
  69.                                 <td>{{ item.getEntityText() }}</td>
  70. {#                                <td>{{ item.getEntityFieldText() ?: '–' }}</td>#}
  71.                                 <td>{{ item.typeText }}</td>
  72.                                 <td>
  73.                                     {% if item.getOldFieldValueText %}
  74.                                         {{ item.getOldFieldValueText|raw }}
  75.                                     {% elseif item.oldData %}
  76.                                         {% for key, value in item.oldData %}
  77.                                             <strong>{{ value.label }}:</strong> {{ isArray(value.value) ? "[]" : value.value|raw }}{% if not loop.last %}<br>{% endif %}
  78.                                         {% endfor %}
  79.                                     {% else %}
  80.                                         –
  81.                                     {% endif %}
  82.                                 </td>
  83.                                 <td>
  84.                                 {% if item.getOldFieldValueText %}
  85.                                     {{ item.getOldFieldValueText|raw }}
  86.                                 {% elseif item.data %}
  87.                                     {% for key, value in item.data %}
  88.                                         <strong>{{ value.label }}:</strong> {{ isArray(value.value) ? "[]" : value.value|raw }}{% if not loop.last %}<br>{% endif %}
  89.                                     {% endfor %}
  90.                                 {% else %}
  91.                                     –
  92.                                 {% endif %}
  93.                                 </td>
  94.                             </tr>
  95.                         {% endfor %}
  96.                     </tbody>
  97.                 </table>
  98.             </div>
  99.         </div>
  100.     </div>
  101. {% endblock %}
  102. {% block addJs %}
  103.     <script>
  104.         let table = new CustomDataTable('#entity-log-data-table', {
  105.             "lengthMenu": [[20, 50, 100, 200, -1], [20, 50, 100, 200, "Все"]],
  106.             drawRowNumbersForColIndex: 0,
  107.         });
  108.         table.initDataTable();
  109.     </script>
  110. {% endblock %}