templates/rescan/list.html.twig line 1

Open in your IDE?
  1. {% extends 'layouts/report.html.twig' %}
  2. {% block title %}Rescan Delay Configuration{% endblock %}
  3. {% block report_content %}
  4.     <div class="row mb-4">
  5.         <div class="col-12 js_message_alert_report text-center">
  6.             {% for msg in app.session.flashbag.get('notification-success') %}
  7.                 <div class="alert alert-success col-md-12" role="alert">
  8.                     {{ msg }}
  9.                 </div>
  10.             {% endfor %}
  11.         </div>
  12.     </div>
  13.     <div class="row mb-4 js-actions-bar">
  14.         <div class="col-12 text-right">
  15.             <a class="btn btn-primary" href="{{ path('rescan_config_new') }}" title="New Config">+ New</a>
  16.         </div>
  17.     </div>
  18.     <div class="row">
  19.         <div class="col-12">
  20.             <table class="table table-striped display dt-responsive overflow-auto" id="reportTable" width="100%"
  21.                    data-opsui-base-url="{{ opsui_base_url }}">
  22.                 <thead>
  23.                 <tr>
  24.                     <th scope="col">Id</th>
  25.                     <th scope="col">Affiliate Id</th>
  26.                     <th scope="col">Affiliate Name</th>
  27.                     <th scope="col">Rescan Delay</th>
  28.                     <th scope="col">Actions</th>
  29.                 </tr>
  30.                 </thead>
  31.                 <tbody>
  32.                 {% if configs is empty %}
  33.                     <tr>
  34.                         <th colspan="8">There are no configurations.</th>
  35.                     </tr>
  36.                 {% endif %}
  37.                 {% for config in configs %}
  38.                     <tr>
  39.                         <td class="align-middle">{{ config.id }}</td>
  40.                         <td class="align-middle text-truncate">{{ config.affiliate.id }}</td>
  41.                         <td class="align-middle text-truncate">{{ config.affiliate.name }}</td>
  42.                         <td class="align-middle text-truncate">{{ config.rescanDelay }}</td>
  43.                         <td class="align-items-end">
  44.                             <a class="btn btn-primary" href="{{ path('rescan_config_edit', {id: config.id}) }}"
  45.                                title="Edit Config">Edit</a>
  46.                             <a class="btn btn-danger" title="Delete Config"
  47.                                onclick="onDeleteButtonClicked({{ config.id }})">Delete</a>
  48.                         </td>
  49.                     </tr>
  50.                 {% endfor %}
  51.                 </tbody>
  52.             </table>
  53.         </div>
  54.     </div>
  55.     <div class="modal modal-confirm-delete" tabindex="-1" role="dialog">
  56.         <div class="modal-dialog" role="document">
  57.             <div class="modal-content">
  58.                 <div class="modal-header">
  59.                     <h5 class="modal-title">Confirm Deletion</h5>
  60.                     <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  61.                         <span aria-hidden="true">&times;</span>
  62.                     </button>
  63.                 </div>
  64.                 <div class="modal-body">
  65.                     <p>Do you want to delete?</p>
  66.                 </div>
  67.                 <div class="modal-footer">
  68.                     <form action="delete" method="post">
  69.                         <input type="hidden" name="configId" id="configId"/>
  70.                         <button type="submit" class="btn btn-danger">Confirm</button>
  71.                         <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
  72.                     </form>
  73.                 </div>
  74.             </div>
  75.         </div>
  76.     </div>
  77.     <script>
  78.         $(document).ready(function () {
  79.             //Initialize DataTables, with no sorting on the 'details' column
  80.             $('table#reportTable').DataTable({
  81.                 paging: true,
  82.                 columns: [
  83.                     {"name": "id", orderable: true},
  84.                     {"name": "affiliateId", searchable: true, orderable: true},
  85.                     {"name": "affiliateName", searchable: true, orderable: true},
  86.                     {"name": "rescanDelay", searchable: false, orderable: true},
  87.                     {"name": "action"}
  88.                 ]
  89.             });
  90.         });
  91.         function onDeleteButtonClicked(id) {
  92.             $('input#configId').val(id);
  93.             $('div.modal-confirm-delete').modal();
  94.         }
  95.     </script>
  96. {% endblock %}