tab-config-rsettings.twig 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <div class="tab-pane fade" id="tab-config-rsettings" role="tabpanel" aria-labelledby="tab-config-rsettings">
  2. <div class="card mb-4">
  3. <div class="card-header d-flex fs-5">
  4. <button class="btn d-md-none flex-grow-1 text-start" data-bs-target="#collapse-tab-config-rsettings" data-bs-toggle="collapse" aria-controls="collapse-tab-config-rsettings">
  5. {{ lang.admin.rspamd_settings_map }}
  6. </button>
  7. <span class="d-none d-md-block">{{ lang.admin.rspamd_settings_map }}</span>
  8. </div>
  9. <div id="collapse-tab-config-rsettings" class="card-body collapse" data-bs-parent="#admin-content">
  10. <legend data-bs-target="#active_settings_map" style="cursor:pointer" unselectable="on" data-bs-toggle="collapse">
  11. <i style="font-size:10pt;" class="bi bi-plus-square"></i> {{ lang.admin.active_rspamd_settings_map }}
  12. </legend>
  13. <hr />
  14. <div id="active_settings_map" class="collapse" >
  15. <textarea autocorrect="off" spellcheck="false" autocapitalize="none" class="form-control textarea-code" rows="20" name="settings_map" readonly>{{ rsettings_map }}</textarea>
  16. </div>
  17. <br>
  18. <form class="form" data-id="rsettings" role="form" method="post">
  19. <div class="row">
  20. <div class="col-sm-3">
  21. <div class="list-group">
  22. {% if not rsettings %}
  23. {% endif %}
  24. {% for rsetting in rsettings %}
  25. <a href="#" class="list-group-item list-group-item-{% if rsetting.details.active %}success{% endif %}" data-dont-remember="1" data-bs-target="#settings_tab{{ rsetting.details.id }}" data-bs-toggle="tab">{{ rsetting.details.desc }} (ID #{{ rsetting.id }})</a>
  26. {% else %}
  27. <span class="list-group-item"><em>{{ lang.admin.rsetting_none }}</em></span>
  28. {% endfor %}
  29. <a href="#" class="list-group-item list-group-item-default"
  30. data-bs-toggle="modal"
  31. data-dont-remember="1"
  32. data-bs-target="#addRsettingModal">{{ lang.admin.rsetting_add_rule }}</a>
  33. </div>
  34. </div>
  35. <div class="col-sm-9">
  36. <div class="tab-content">
  37. {% if not rsettings %}
  38. <div id="none" class="tab-pane active">
  39. <p class="text-muted">{{ lang.admin.rsetting_none }}</p>
  40. </div>
  41. {% else %}
  42. <div id="none" class="tab-pane active">
  43. <p class="text-muted">{{ lang.admin.rsetting_no_selection }}</p>
  44. </div>
  45. {% for rsetting in rsettings %}
  46. <div id="settings_tab{{ rsetting.details.id }}" class="tab-pane rsettings">
  47. <form class="form" data-id="rsettings" role="form" method="post">
  48. <input type="hidden" name="active" value="0">
  49. <div>
  50. <label for="rsettings_desc">{{ lang.admin.rsetting_desc }}:</label>
  51. <input type="text" class="form-control" id="rsettings_desc" name="desc" value="{{ rsetting.details.desc }}">
  52. </div>
  53. <div class="mt-4">
  54. <label for="rsettings_content">{{ lang.admin.rsetting_content }}:</label>
  55. <textarea class="form-control" id="rsettings_content" name="content" rows="10">{{ rsetting.details.content }}</textarea>
  56. </div>
  57. <div class="mt-4 mb-2">
  58. <label>
  59. <input type="checkbox" class="form-check-input" name="active" value="1" {% if rsetting.details.active %}checked{% endif %}> {{ lang.admin.active }}
  60. </label>
  61. </div>
  62. <div class="btn-group">
  63. <button class="btn btn-sm btn-xs-lg btn-success" data-action="edit_selected" data-item="{{ rsetting.details.id }}" data-id="rsettings" data-api-url='edit/rsetting' data-api-attr='{}' href="#"><i class="bi bi-check-lg"></i> {{ lang.admin.save }}</button>
  64. <button class="btn btn-sm btn-xs-lg btn-danger" data-action="delete_selected" data-item="{{ rsetting.details.id }}" data-id="rsettings" data-api-url="delete/rsetting" data-api-attr='{}' href="#">{{ lang.admin.remove }}</button>
  65. </div>
  66. </form>
  67. </div>
  68. {% endfor %}
  69. {% endif %}
  70. </div>
  71. </div>
  72. </div>
  73. </form>
  74. </div>
  75. </div>
  76. </div>