tab-user-settings.twig 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <div class="tab-pane fade" id="tab-user-settings" role="tabpanel" aria-labelledby="tab-user-settings">
  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-user-settings" data-bs-toggle="collapse" aria-controls="collapse-tab-user-settings">
  5. {{ lang.user.mailbox_settings }}
  6. </button>
  7. <span class="d-none d-md-block">{{ lang.user.mailbox_settings }}</span>
  8. </div>
  9. <div id="collapse-tab-user-settings" class="card-body collapse" data-bs-parent="#user-content">
  10. {# Show tagging options #}
  11. <div class="row">
  12. <div class="col-sm-3 col-12 text-sm-end text-start text-xs-bold mb-4">{{ lang.user.tag_handling }}:</div>
  13. <div class="col-sm-9 col-12">
  14. <div class="btn-group" data-acl="{{ acl.delimiter_action }}">
  15. <button type="button" class="btn btn-sm btn-xs-third d-block d-sm-inline{% if get_tagging_options == 'subfolder' %} btn-dark{% else %} btn-light{% endif %}"
  16. data-action="edit_selected"
  17. data-item="{{ mailcow_cc_username }}"
  18. data-id="delimiter_action"
  19. data-api-url='edit/delimiter_action'
  20. data-api-attr='{"tagged_mail_handler":"subfolder"}'>{{ lang.user.tag_in_subfolder }}</button>
  21. <button type="button" class="btn btn-sm btn-xs-third d-block d-sm-inline{% if get_tagging_options == 'subject' %} btn-dark{% else %} btn-light{% endif %}"
  22. data-action="edit_selected"
  23. data-item="{{ mailcow_cc_username }}"
  24. data-id="delimiter_action"
  25. data-api-url='edit/delimiter_action'
  26. data-api-attr='{"tagged_mail_handler":"subject"}'>{{ lang.user.tag_in_subject }}</button>
  27. <button type="button" class="btn btn-sm btn-xs-third d-block d-sm-inline{% if get_tagging_options == 'none' %} btn-dark{% else %} btn-light{% endif %}"
  28. data-action="edit_selected"
  29. data-item="{{ mailcow_cc_username }}"
  30. data-id="delimiter_action"
  31. data-api-url='edit/delimiter_action'
  32. data-api-attr='{"tagged_mail_handler":"none"}'>{{ lang.user.tag_in_none }}</button>
  33. </div>
  34. <p class="text-muted">{{ lang.user.tag_help_explain|raw }}</p>
  35. <p class="text-muted">{{ lang.user.tag_help_example|raw }}</p>
  36. </div>
  37. </div>
  38. {# Show TLS policy options #}
  39. <div class="row">
  40. <div class="col-sm-3 col-12 text-sm-end text-start text-xs-bold mb-4">{{ lang.user.tls_policy }}:</div>
  41. <div class="col-sm-9 col-12">
  42. <div class="btn-group" data-acl="{{ acl.tls_policy }}">
  43. <button type="button" class="btn btn-sm btn-xs-half d-block d-sm-inline{% if get_tls_policy.tls_enforce_in == '1' %} btn-dark"{% else %} btn-light{% endif %}"
  44. data-action="edit_selected"
  45. data-item="{{ mailcow_cc_username }}"
  46. data-id="tls_policy"
  47. data-api-url='edit/tls_policy'
  48. data-api-attr='{"tls_enforce_in": {% if get_tls_policy.tls_enforce_in == '1' %}0{% else %}1{% endif %} }'>{{ lang.user.tls_enforce_in }}</button>
  49. <button type="button" class="btn btn-sm btn-xs-half d-block d-sm-inline{% if get_tls_policy.tls_enforce_out == '1' %} btn-dark{% else %} btn-light{% endif %}"
  50. data-action="edit_selected"
  51. data-item="{{ mailcow_cc_username }}"
  52. data-id="tls_policy"
  53. data-api-url='edit/tls_policy'
  54. data-api-attr='{"tls_enforce_out": {% if get_tls_policy.tls_enforce_out == '1' %}0{% else %}1{% endif %} }'>{{ lang.user.tls_enforce_out }}</button>
  55. </div>
  56. <p class="text-muted">{{ lang.user.tls_policy_warning|raw }}</p>
  57. </div>
  58. </div>
  59. {# Show quarantine_notification options #}
  60. <div class="row">
  61. <div class="col-sm-3 col-12 text-sm-end text-start text-xs-bold mb-4">{{ lang.user.quarantine_notification }}:</div>
  62. <div class="col-sm-9 col-12">
  63. <div class="btn-group" data-acl="{{ acl.quarantine_notification }}">
  64. <button type="button" class="btn btn-sm btn-xs-quart d-block d-sm-inline{% if quarantine_notification == 'never' %} btn-dark{% else %} btn-light{% endif %}"
  65. data-action="edit_selected"
  66. data-item="{{ mailcow_cc_username }}"
  67. data-id="quarantine_notification"
  68. data-api-url='edit/quarantine_notification'
  69. data-api-attr='{"quarantine_notification":"never"}'>{{ lang.user.never }}</button>
  70. <button type="button" class="btn btn-sm btn-xs-quart d-block d-sm-inline{% if quarantine_notification == 'hourly' %} btn-dark{% else %} btn-light{% endif %}"
  71. data-action="edit_selected"
  72. data-item="{{ mailcow_cc_username }}"
  73. data-id="quarantine_notification"
  74. data-api-url='edit/quarantine_notification'
  75. data-api-attr='{"quarantine_notification":"hourly"}'>{{ lang.user.hourly }}</button>
  76. <button type="button" class="btn btn-sm btn-xs-quart d-block d-sm-inline{% if quarantine_notification == 'daily' %} btn-dark{% else %} btn-light{% endif %}"
  77. data-action="edit_selected"
  78. data-item="{{ mailcow_cc_username }}"
  79. data-id="quarantine_notification"
  80. data-api-url='edit/quarantine_notification'
  81. data-api-attr='{"quarantine_notification":"daily"}'>{{ lang.user.daily }}</button>
  82. <button type="button" class="btn btn-sm btn-xs-quart d-block d-sm-inline{% if quarantine_notification == 'weekly' %} btn-dark{% else %} btn-light{% endif %}"
  83. data-action="edit_selected"
  84. data-item="{{ mailcow_cc_username }}"
  85. data-id="quarantine_notification"
  86. data-api-url='edit/quarantine_notification'
  87. data-api-attr='{"quarantine_notification":"weekly"}'>{{ lang.user.weekly }}</button>
  88. </div>
  89. <p class="text-muted">{{ lang.user.quarantine_notification_info }}</p>
  90. </div>
  91. </div>
  92. <div class="row">
  93. <div class="col-sm-3 col-12 text-sm-end text-start text-xs-bold mb-4">{{ lang.user.quarantine_category }}:</div>
  94. <div class="col-sm-9 col-12">
  95. <div class="btn-group" data-acl="{{ acl.quarantine_category }}">
  96. <button type="button" class="btn btn-sm btn-xs-third d-block d-sm-inline{% if quarantine_category == 'reject' %} btn-dark{% else %} btn-light{% endif %}"
  97. data-action="edit_selected"
  98. data-item="{{ mailcow_cc_username }}"
  99. data-id="quarantine_category"
  100. data-api-url='edit/quarantine_category'
  101. data-api-attr='{"quarantine_category":"reject"}'>{{ lang.user.q_reject }}</button>
  102. <button type="button" class="btn btn-sm btn-xs-third d-block d-sm-inline{% if quarantine_category == 'add_header' %} btn-dark{% else %} btn-light{% endif %}"
  103. data-action="edit_selected"
  104. data-item="{{ mailcow_cc_username }}"
  105. data-id="quarantine_category"
  106. data-api-url='edit/quarantine_category'
  107. data-api-attr='{"quarantine_category":"add_header"}'>{{ lang.user.q_add_header }}</button>
  108. <button type="button" class="btn btn-sm btn-xs-third d-block d-sm-inline{% if quarantine_category == 'all' %} btn-dark{% else %} btn-light{% endif %}"
  109. data-action="edit_selected"
  110. data-item="{{ mailcow_cc_username }}"
  111. data-id="quarantine_category"
  112. data-api-url='edit/quarantine_category'
  113. data-api-attr='{"quarantine_category":"all"}'>{{ lang.user.q_all }}</button>
  114. </div>
  115. <p class="text-muted">{{ lang.user.quarantine_category_info }}</p>
  116. </div>
  117. </div>
  118. {% if not skip_sogo %}
  119. <hr>
  120. <div class="row">
  121. <div class="col-sm-3 col-12 text-sm-end text-start text-xs-bold mb-4">{{ lang.user.eas_reset }}:</div>
  122. <div class="col-sm-9 col-12">
  123. <button class="btn btn-sm d-block d-sm-inline btn-secondary" data-acl="{{ acl.eas_reset }}" data-action="delete_selected" data-text="{{ lang.user.eas_reset }}?" data-item="{{ mailcow_cc_username }}" data-id="eas_cache" data-api-url='delete/eas_cache' href="#">{{ lang.user.eas_reset_now }}</button>
  124. <p class="text-muted">{{ lang.user.eas_reset_help|raw }}</p>
  125. </div>
  126. </div>
  127. <div class="row">
  128. <div class="col-sm-3 col-12 text-sm-end text-start text-xs-bold mb-4">{{ lang.user.sogo_profile_reset }}:</div>
  129. <div class="col-sm-9 col-12">
  130. <button class="btn btn-sm d-block d-sm-inline btn-secondary" data-acl="{{ acl.sogo_profile_reset }}" data-action="delete_selected" data-text="{{ lang.user.sogo_profile_reset }}?" data-item="{{ mailcow_cc_username }}" data-id="sogo_profile" data-api-url='delete/sogo_profile' href="#">{{ lang.user.sogo_profile_reset_now }}</button>
  131. <p class="text-muted">{{ lang.user.sogo_profile_reset_help|raw }}</p>
  132. </div>
  133. </div>
  134. {% endif %}
  135. </div>
  136. </div>
  137. </div>