blob: 942f784fa569a5d27985d2180f2990062a9b1cbd [file] [log] [blame]
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001<div role="tabpanel" class="tab-pane fade" id="tab-filters" role="tabpanel" aria-labelledby="tab-filters">
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-filters" data-bs-toggle="collapse" aria-controls="collapse-tab-filters">
5 {{ lang.mailbox.filters }} <span class="badge bg-info table-lines"></span>
6 </button>
7 <span class="d-none d-md-block">{{ lang.mailbox.filters }} <span class="badge bg-info table-lines"></span></span>
8
9 <div class="btn-group ms-auto d-flex">
10 <button class="btn btn-xs btn-secondary refresh_table" data-draw="draw_filter_table" data-table="filter_table">{{ lang.admin.refresh }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010011 </div>
12 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010013 <div id="collapse-tab-filters" class="card-body collapse" data-bs-parent="#mail-content">
14 <div class="mass-actions-mailbox mb-4">
15 <div class="btn-group" data-acl="{{ acl.filters }}">
16 <a class="btn btn-sm btn-xs-half btn-secondary" id="toggle_multi_select_all" data-id="filter_item" href="#"><i class="bi bi-check-all"></i> {{ lang.mailbox.toggle_all }}</a>
17 <a class="btn btn-sm btn-xs-half btn-secondary dropdown-toggle" data-bs-toggle="dropdown" href="#">{{ lang.mailbox.quick_actions }}</a>
18 <ul class="dropdown-menu">
19 <li><a class="dropdown-item" data-action="edit_selected" data-id="filter_item" data-api-url='edit/filter' data-api-attr='{"active":"1"}' href="#">{{ lang.mailbox.activate }}</a></li>
20 <li><a class="dropdown-item" data-action="edit_selected" data-id="filter_item" data-api-url='edit/filter' data-api-attr='{"active":"0"}' href="#">{{ lang.mailbox.deactivate }}</a></li>
21 <li><hr class="dropdown-divider"></li>
22 <li><a class="dropdown-item" data-action="edit_selected" data-id="filter_item" data-api-url='edit/filter' data-api-attr='{"filter_type":"prefilter"}' href="#">{{ lang.mailbox.set_prefilter }}</a></li>
23 <li><a class="dropdown-item" data-action="edit_selected" data-id="filter_item" data-api-url='edit/filter' data-api-attr='{"filter_type":"postfilter"}' href="#">{{ lang.mailbox.set_postfilter }}</a></li>
24 <li><hr class="dropdown-divider"></li>
25 <li><a class="dropdown-item" data-action="delete_selected" data-text="{{ lang.user.eas_reset }}?" data-id="filter_item" data-api-url='delete/filter' href="#">{{ lang.mailbox.remove }}</a></li>
26 <li><hr class="dropdown-divider"></li>
27 <li><a class="dropdown-item" data-datatables-expand="filter_table">{{ lang.datatables.expand_all }}</a></li>
28 <li><a class="dropdown-item" data-datatables-collapse="filter_table">{{ lang.datatables.collapse_all }}</a></li>
29 </ul>
30 <a class="btn btn-sm btn-success" href="#" data-bs-toggle="modal" data-bs-target="#addFilterModalAdmin"><i class="bi bi-plus-lg"></i> {{ lang.mailbox.add_filter }}</a>
31 </div>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010032 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010033 <p class="text-muted">{{ lang.mailbox.sieve_info|raw }}</p><br>
34 <table id="filter_table" class="table table-striped dt-responsive w-100"></table>
35 <div class="mass-actions-mailbox mt-4 mb-4">
36 <div class="btn-group" data-acl="{{ acl.filters }}">
37 <a class="btn btn-sm btn-xs-half btn-secondary" id="toggle_multi_select_all" data-id="filter_item" href="#"><i class="bi bi-check-all"></i> {{ lang.mailbox.toggle_all }}</a>
38 <a class="btn btn-sm btn-xs-half btn-secondary dropdown-toggle" data-bs-toggle="dropdown" href="#">{{ lang.mailbox.quick_actions }}</a>
39 <ul class="dropdown-menu">
40 <li><a class="dropdown-item" data-action="edit_selected" data-id="filter_item" data-api-url='edit/filter' data-api-attr='{"active":"1"}' href="#">{{ lang.mailbox.activate }}</a></li>
41 <li><a class="dropdown-item" data-action="edit_selected" data-id="filter_item" data-api-url='edit/filter' data-api-attr='{"active":"0"}' href="#">{{ lang.mailbox.deactivate }}</a></li>
42 <li><hr class="dropdown-divider"></li>
43 <li><a class="dropdown-item" data-action="edit_selected" data-id="filter_item" data-api-url='edit/filter' data-api-attr='{"filter_type":"prefilter"}' href="#">{{ lang.mailbox.set_prefilter }}</a></li>
44 <li><a class="dropdown-item" data-action="edit_selected" data-id="filter_item" data-api-url='edit/filter' data-api-attr='{"filter_type":"postfilter"}' href="#">{{ lang.mailbox.set_postfilter }}</a></li>
45 <li><hr class="dropdown-divider"></li>
46 <li><a class="dropdown-item" data-action="delete_selected" data-text="{{ lang.user.eas_reset }}?" data-id="filter_item" data-api-url='delete/filter' href="#">{{ lang.mailbox.remove }}</a></li>
47 <li><hr class="dropdown-divider"></li>
48 <li><a class="dropdown-item" data-datatables-expand="filter_table">{{ lang.datatables.expand_all }}</a></li>
49 <li><a class="dropdown-item" data-datatables-collapse="filter_table">{{ lang.datatables.collapse_all }}</a></li>
50 </ul>
51 <a class="btn btn-sm btn-success" href="#" data-bs-toggle="modal" data-bs-target="#addFilterModalAdmin"><i class="bi bi-plus-lg"></i> {{ lang.mailbox.add_filter }}</a>
52 </div>
53 </div>
54 <div class="{% if mailcow_cc_role != 'admin' %}hidden{% endif %}">
55 <div class="row">
56 <div class="col-lg-6 mt-4">
57 <h5>Global Prefilter</h5>
58 <form class="form-horizontal" data-cached-form="false" role="form" data-id="add_prefilter">
59 <div class="row">
60 <div class="col-sm-12">
61 <textarea autocorrect="off" spellcheck="false" autocapitalize="none" class="form-control textarea-code script_data" rows="10" name="script_data" required>{{ global_filters.prefilter }}</textarea>
62 </div>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010063 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010064 <div class="row mt-2">
65 <div class="col-sm-10 add_filter_btns">
66 <div class="btn-group">
67 <button class="btn btn-sm btn-xs-half btn-secondary validate_sieve" href="#">{{ lang.add.validate }}</button>
68 <button class="btn btn-sm btn-xs-half btn-success add_sieve_script" data-action="add_item" data-id="add_prefilter" data-api-url='add/global-filter' data-api-attr='{"filter_type":"prefilter"}' href="#" disabled><i class="bi bi-check-lg"></i> {{ lang.admin.save }}</button>
69 </div>
70 </div>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010071 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010072 </form>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010073 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010074 <div class="col-lg-6 mt-4">
75 <h5>Global Postfilter</h5>
76 <form class="form-horizontal" data-cached-form="false" role="form" data-id="add_postfilter">
77 <div class="row">
78 <div class="col-sm-12">
79 <textarea autocorrect="off" spellcheck="false" autocapitalize="none" class="form-control textarea-code script_data" rows="10" name="script_data" required>{{ global_filters.postfilter }}</textarea>
80 </div>
81 </div>
82 <div class="row mt-2">
83 <div class="col-sm-10 add_filter_btns">
84 <div class="btn-group">
85 <button class="btn btn-sm btn-xs-half btn-secondary validate_sieve" href="#">{{ lang.add.validate }}</button>
86 <button class="btn btn-sm btn-xs-half btn-success add_sieve_script" data-action="add_item" data-id="add_postfilter" data-api-url='add/global-filter' data-api-attr='{"filter_type":"postfilter"}' href="#" disabled><i class="bi bi-check-lg"></i> {{ lang.admin.save }}</button>
87 </div>
88 </div>
89 </div>
90 </form>
91 </div>
92 </div>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010093 </div>
94 </div>
95 </div>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010096</div>