blob: 1f96851fce873f8ae6d9a14f4c81e65c9f2e8dda [file] [log] [blame]
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001<!-- add mailbox modal -->
2<div class="modal fade" id="addMailboxModal" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01003 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01004 <div class="modal-content">
5 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01006 <h3 class="modal-title">{{ lang.mailbox.add_mailbox }}</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01007 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01008 </div>
9 <div class="modal-body">
10 <form class="form-horizontal" data-cached-form="true" data-id="add_mailbox" role="form" autocomplete="off">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010011 <input type="hidden" value="0" name="force_pw_update">
12 <input type="hidden" value="0" name="sogo_access">
13 <input type="hidden" value="0" name="protocol_access">
14
15 <div class="row mb-2">
16 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="local_part">{{ lang.add.mailbox_username }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010017 <div class="col-sm-10">
18 <input type="text" pattern="[A-Za-z0-9\.!#$%&'*+/=?^_`{|}~-]+" autocorrect="off" autocapitalize="none" class="form-control" name="local_part" required>
19 </div>
20 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010021 <div class="row mb-2">
22 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="domain">{{ lang.add.domain }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010023 <div class="col-sm-10">
24 <select class="full-width-select" data-live-search="true" id="addSelectDomain" name="domain" required>
25 {% for domain in domains %}
26 <option>{{ domain }}</option>
27 {% endfor %}
28 </select>
29 </div>
30 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010031 <div class="row mb-4">
32 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="name">{{ lang.add.full_name }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010033 <div class="col-sm-10">
34 <input type="text" class="form-control" name="name">
35 </div>
36 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010037 <div class="row mb-2">
38 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="password">{{ lang.add.password }} (<a href="#" class="generate_password">{{ lang.add.generate }}</a>)</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010039 <div class="col-sm-10">
40 <input type="password" data-pwgen-field="true" data-hibp="true" class="form-control" name="password" placeholder="" autocomplete="new-password" required>
41 </div>
42 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010043 <div class="row mb-4">
44 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="password2">{{ lang.add.password_repeat }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010045 <div class="col-sm-10">
46 <input type="password" data-pwgen-field="true" class="form-control" name="password2" placeholder="" autocomplete="new-password" required>
47 </div>
48 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010049 <div class="row mb-2">
50 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="description">{{ lang.mailbox.template }}</label>
51 <div class="col-sm-10">
52 <select data-live-search="true" id="mailbox_templates" class="form-control" title="{{ lang.mailbox.template }}">
53 </select>
54 </div>
55 </div>
56 <div class="row mb-2">
57 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.add.tags }}</label>
58 <div class="col-sm-10">
59 <div class="form-control tag-box">
60 <input type="text" class="tag-input" id="addMailbox_tags">
61 <span class="btn tag-add"><i class="bi bi-plus-lg"></i></span>
62 <input type="hidden" value="" name="tags" class="tag-values" />
63 </div>
64 </div>
65 </div>
66 <div class="row mb-4">
67 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="addInputQuota">{{ lang.add.quota_mb }}
68 <br /><span id="quotaBadge" class="badge bg-primary">max. - MiB</span>
69 </label>
70 <div class="col-sm-10">
71 <input type="text" class="form-control" name="quota" min="0" max="" id="addInputQuota" disabled value="{{ lang.add.select_domain }}" required>
72 <small class="text-muted">0 = ∞</small>
73 <div class="badge fs-5 bg-warning addInputQuotaExhausted" style="display:none;">{{ lang.warning.quota_exceeded_scope }}</div>
74 </div>
75 </div>
76 <div class="row mb-2">
77 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.user.quarantine_notification }}</label>
78 <div class="col-sm-10">
79 <div class="btn-group">
80 <input type="radio" class="btn-check" name="quarantine_notification" id="quarantine_notification_never" autocomplete="off" value="never">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +010081 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="quarantine_notification_never">{{ lang.user.never }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010082
83 <input type="radio" class="btn-check" name="quarantine_notification" id="quarantine_notification_hourly" autocomplete="off" value="hourly">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +010084 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="quarantine_notification_hourly">{{ lang.user.hourly }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010085
86 <input type="radio" class="btn-check" name="quarantine_notification" id="quarantine_notification_daily" autocomplete="off" value="daily">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +010087 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="quarantine_notification_daily">{{ lang.user.daily }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010088
89 <input type="radio" class="btn-check" name="quarantine_notification" id="quarantine_notification_weekly" autocomplete="off" value="weekly">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +010090 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="quarantine_notification_weekly">{{ lang.user.weekly }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010091 </div>
92 <p class="text-muted"><small>{{ lang.user.quarantine_notification_info }}</small></p>
93 </div>
94 </div>
95 <div class="row mb-2">
96 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.user.quarantine_category }}</label>
97 <div class="col-sm-10">
98 <div class="btn-group">
99 <input type="radio" class="btn-check" name="quarantine_category" id="quarantine_category_reject" autocomplete="off" value="reject">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100100 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="quarantine_category_reject">{{ lang.user.q_reject }}</label>
101
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100102 <input type="radio" class="btn-check" name="quarantine_category" id="quarantine_category_add_header" autocomplete="off" value="add_header">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100103 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="quarantine_category_add_header">{{ lang.user.q_add_header }}</label>
104
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100105 <input type="radio" class="btn-check" name="quarantine_category" id="quarantine_category_all" autocomplete="off" value="all">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100106 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="quarantine_category_all">{{ lang.user.q_all }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100107 </div>
108 <p class="text-muted"><small>{{ lang.user.quarantine_category_info }}</small></p>
109 </div>
110 </div>
111 <div class="row mb-4">
112 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="tls_enforce_in">{{ lang.user.tls_policy }}</label>
113 <div class="col-sm-10">
114 <div class="btn-group">
115 <input type="checkbox" class="btn-check" name="tls_enforce_in" id="tls_enforce_in" autocomplete="off" value="1">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100116 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="tls_enforce_in">{{ lang.user.tls_enforce_in }}</label>
117
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100118 <input type="checkbox" class="btn-check" name="tls_enforce_out" id="tls_enforce_out" autocomplete="off" value="1">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100119 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="tls_enforce_out">{{ lang.user.tls_enforce_out }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100120 </div>
121 </div>
122 </div>
123 <div class="row mb-2">
124 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="protocol_access">{{ lang.edit.allowed_protocols }}</label>
125 <div class="col-sm-10">
126 <select name="protocol_access" id="protocol_access" multiple class="form-control">
127 <option value="imap">IMAP</option>
128 <option value="pop3">POP3</option>
129 <option value="smtp">SMTP</option>
130 <option value="sieve">Sieve</option>
131 </select>
132 </div>
133 </div>
134 <div class="row mb-4">
135 <label class="control-label col-sm-2 text-sm-end text-sm-end">ACL</label>
136 <div class="col-sm-10">
137 <select id="user_acl" name="acl" multiple class="form-control">
138 <option value="spam_alias" selected>{{ lang.acl["spam_alias"] }}</option>
139 <option value="tls_policy" selected>{{ lang.acl["tls_policy"] }}</option>
140 <option value="spam_score" selected>{{ lang.acl["spam_score"] }}</option>
141 <option value="spam_policy" selected>{{ lang.acl["spam_policy"] }}</option>
142 <option value="delimiter_action" selected>{{ lang.acl["delimiter_action"] }}</option>
143 <option value="syncjobs">{{ lang.acl["syncjobs"] }}</option>
144 <option value="eas_reset" selected>{{ lang.acl["eas_reset"] }}</option>
145 <option value="sogo_profile_reset">{{ lang.acl["sogo_profile_reset"] }}</option>
146 <option value="pushover" selected>{{ lang.acl["pushover"] }}</option>
147 <option value="quarantine" selected>{{ lang.acl["quarantine"] }}</option>
148 <option value="quarantine_attachments" selected>{{ lang.acl["quarantine_attachments"] }}</option>
149 <option value="quarantine_notification" selected>{{ lang.acl["quarantine_notification"] }}</option>
150 <option value="quarantine_category" selected>{{ lang.acl["quarantine_category"] }}</option>
151 <option value="app_passwds" selected>{{ lang.acl["app_passwds"] }}</option>
152 </select>
153 </div>
154 </div>
155 <div class="row mb-4">
156 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.acl.ratelimit }}</label>
157 <div class="col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100158 <div class="input-group">
159 <input name="rl_value" id="rl_value" type="number" autocomplete="off" value="" class="form-control mb-2" placeholder="{{ lang.ratelimit.disabled }}">
160 <select name="rl_frame" id="rl_frame" class="form-control">
161 {% include 'mailbox/rl-frame.twig' %}
162 </select>
163 </div>
164 <p class="text-muted mt-1">{{ lang.edit.mbox_rl_info }}</p>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100165 </div>
166 </div>
167 <div class="row mb-2">
168 <div class="offset-sm-2 col-sm-10">
169 <select name="active" id="mbox_active" class="form-control">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100170 <option value="1" selected>{{ lang.add.active }}</option>
171 <option value="2">{{ lang.add.disable_login }}</option>
172 <option value="0">{{ lang.add.inactive }}</option>
173 </select>
174 </div>
175 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100176 <div class="row">
177 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100178 <div class="form-check">
179 <label><input type="checkbox" class="form-check-input" value="1" name="force_pw_update" id="force_pw_update"> {{ lang.edit.force_pw_update }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100180 <small class="text-muted">{{ lang.edit.force_pw_update_info|format(ui_texts.main_name) }}</small>
181 </div>
182 </div>
183 </div>
184 {% if not skip_sogo %}
185 <div class="row">
186 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100187 <div class="form-check">
188 <label><input type="checkbox" class="form-check-input" value="1" name="sogo_access" id="sogo_access"> {{ lang.edit.sogo_access }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100189 <small class="text-muted">{{ lang.edit.sogo_access_info }}</small>
190 </div>
191 </div>
192 </div>
193 {% endif %}
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100194 <hr>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100195 <div class="row">
196 <div class="offset-sm-2 col-sm-10">
197 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="add_mailbox" data-api-url='add/mailbox' data-api-attr='{}' href="#">{{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100198 </div>
199 </div>
200 </form>
201 </div>
202 </div>
203 </div>
204</div><!-- add mailbox modal -->
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100205<!-- add mailbox template modal -->
206<div class="modal fade" id="addMailboxTemplateModal" tabindex="-1" role="dialog" aria-hidden="true">
207 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100208 <div class="modal-content">
209 <div class="modal-header">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100210 <h3 class="modal-title">{{ lang.mailbox.add_template }}</h3>
211 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100212 </div>
213 <div class="modal-body">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100214 <form class="form-horizontal" data-id="addmailbox_template" role="form" method="post">
215 <input type="hidden" value="default" name="sender_acl">
216 <input type="hidden" value="0" name="force_pw_update">
217 <input type="hidden" value="0" name="sogo_access">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100218 <input type="hidden" value="0" name="protocol_access">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100219
220 <div class="row mb-4">
221 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="template">{{ lang.mailbox.template }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100222 <div class="col-sm-10">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100223 <div class="input-group mb-3">
224 <input type="text" name="template" class="form-control" aria-label="Text input with dropdown button" value="" />
225 </div>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100226 </div>
227 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100228 <div class="row mb-2">
229 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.add.tags }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100230 <div class="col-sm-10">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100231 <div class="form-control tag-box">
232 <input type="text" class="tag-input" id="addMailbox_tags">
233 <span class="btn tag-add"><i class="bi bi-plus-lg"></i></span>
234 <input type="hidden" value="" name="tags" class="tag-values" />
235 </div>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100236 </div>
237 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100238 <div class="row mb-2">
239 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="quota">{{ lang.edit.quota_mb }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100240 <div class="col-sm-10">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100241 <input type="number" name="quota" style="width:100%" min="0" value="" class="form-control">
242 <small class="text-muted">0 = ∞</small>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100243 </div>
244 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100245 <div class="row mb-2">
246 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.user.quarantine_notification }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100247 <div class="col-sm-10">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100248 <div class="btn-group">
249 <input type="radio" class="btn-check" name="quarantine_notification" id="template_quarantine_notification_never" autocomplete="off" value="never">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100250 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="template_quarantine_notification_never">{{ lang.user.never }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100251
252 <input type="radio" class="btn-check" name="quarantine_notification" id="template_quarantine_notification_hourly" autocomplete="off" value="hourly">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100253 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="template_quarantine_notification_hourly">{{ lang.user.hourly }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100254
255 <input type="radio" class="btn-check" name="quarantine_notification" id="template_quarantine_notification_daily" autocomplete="off" value="daily">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100256 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="template_quarantine_notification_daily">{{ lang.user.daily }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100257
258 <input type="radio" class="btn-check" name="quarantine_notification" id="template_quarantine_notification_weekly" autocomplete="off" value="weekly">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100259 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="template_quarantine_notification_weekly">{{ lang.user.weekly }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100260 </div>
261 <p class="text-muted"><small>{{ lang.user.quarantine_notification_info }}</small></p>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100262 </div>
263 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100264 <div class="row mb-2">
265 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.user.quarantine_category }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100266 <div class="col-sm-10">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100267 <div class="btn-group">
268 <input type="radio" class="btn-check" name="quarantine_category" id="template_quarantine_category_reject" autocomplete="off" value="reject" >
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100269 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="template_quarantine_category_reject">{{ lang.user.q_reject }}</label>
270
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100271 <input type="radio" class="btn-check" name="quarantine_category" id="template_quarantine_category_add_header" autocomplete="off" value="add_header">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100272 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="template_quarantine_category_add_header">{{ lang.user.q_add_header }}</label>
273
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100274 <input type="radio" class="btn-check" name="quarantine_category" id="template_quarantine_category_all" autocomplete="off" value="all">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100275 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="template_quarantine_category_all">{{ lang.user.q_all }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100276 </div>
277 <p class="text-muted"><small>{{ lang.user.quarantine_category_info }}</small></p>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100278 </div>
279 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100280 <div class="row mb-4">
281 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="sender_acl">{{ lang.user.tls_policy }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100282 <div class="col-sm-10">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100283 <div class="btn-group">
284 <input type="checkbox" class="btn-check" name="tls_enforce_in" id="template_tls_enforce_in" autocomplete="off" value="1">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100285 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="template_tls_enforce_in">{{ lang.user.tls_enforce_in }}</label>
286
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100287 <input type="checkbox" class="btn-check" name="tls_enforce_out" id="template_tls_enforce_out" autocomplete="off" value="1">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100288 <label class="btn btn-sm btn-xs-quart d-block d-sm-inline btn-light" for="template_tls_enforce_out">{{ lang.user.tls_enforce_out }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100289 </div>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100290 </div>
291 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100292 <div class="row mb-2">
293 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="protocol_access">{{ lang.edit.allowed_protocols }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100294 <div class="col-sm-10">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100295 <select name="protocol_access" multiple class="form-control">
296 <option value="imap" selected>IMAP</option>
297 <option value="pop3" selected>POP3</option>
298 <option value="smtp" selected>SMTP</option>
299 <option value="sieve" selected>Sieve</option>
300 </select>
301 </div>
302 </div>
303 <div class="row mb-4">
304 <label class="control-label col-sm-2 text-sm-end text-sm-end">ACL</label>
305 <div class="col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100306 <select id="template_user_acl" name="acl" size="10" multiple class="form-control">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100307 <option value="spam_alias" selected>{{ lang.acl["spam_alias"] }}</option>
308 <option value="tls_policy" selected>{{ lang.acl["tls_policy"] }}</option>
309 <option value="spam_score" selected>{{ lang.acl["spam_score"] }}</option>
310 <option value="spam_policy" selected>{{ lang.acl["spam_policy"] }}</option>
311 <option value="delimiter_action" selected>{{ lang.acl["delimiter_action"] }}</option>
312 <option value="syncjobs">{{ lang.acl["syncjobs"] }}</option>
313 <option value="eas_reset" selected>{{ lang.acl["eas_reset"] }}</option>
314 <option value="sogo_profile_reset">{{ lang.acl["sogo_profile_reset"] }}</option>
315 <option value="pushover" selected>{{ lang.acl["pushover"] }}</option>
316 <option value="quarantine" selected>{{ lang.acl["quarantine"] }}</option>
317 <option value="quarantine_attachments" selected>{{ lang.acl["quarantine_attachments"] }}</option>
318 <option value="quarantine_notification" selected>{{ lang.acl["quarantine_notification"] }}</option>
319 <option value="quarantine_category" selected>{{ lang.acl["quarantine_category"] }}</option>
320 <option value="app_passwds" selected>{{ lang.acl["app_passwds"] }}</option>
321 </select>
322 </div>
323 </div>
324 <div class="row mb-4">
325 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.acl.ratelimit }}</label>
326 <div class="col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100327 <div class="input-group">
328 <input name="rl_value" type="number" autocomplete="off" value="" class="form-control mb-2" placeholder="{{ lang.ratelimit.disabled }}">
329 <select name="rl_frame" class="form-control">
330 {% include 'mailbox/rl-frame.twig' %}
331 </select>
332 </div>
333 <p class="text-muted mt-1">{{ lang.edit.mbox_rl_info }}</p>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100334 </div>
335 </div>
336 <hr>
337 <div class="row my-2">
338 <div class="offset-sm-2 col-sm-10">
339 <select id="mbox_acitve" name="active" class="form-control">
340 <option value="1" selected>{{ lang.edit.active }}</option>
341 <option value="2">{{ lang.edit.disable_login }}</option>
342 <option value="0">{{ lang.edit.inactive }}</option>
343 </select>
344 </div>
345 </div>
346 <div class="row">
347 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100348 <div class="form-check">
349 <label><input type="checkbox" class="form-check-input" value="1" name="force_pw_update"> {{ lang.edit.force_pw_update }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100350 <small class="text-muted">{{ lang.edit.force_pw_update_info|format(ui_texts.main_name) }}</small>
351 </div>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100352 </div>
353 </div>
354 {% if not skip_sogo %}
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100355 <div class="row">
356 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100357 <div class="form-check">
358 <label><input type="checkbox" class="form-check-input" value="1" name="sogo_access"> {{ lang.edit.sogo_access }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100359 <small class="text-muted">{{ lang.edit.sogo_access_info }}</small>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100360 </div>
361 </div>
362 </div>
363 {% endif %}
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100364 <div class="row my-2">
365 <div class="offset-sm-2 col-sm-10">
366 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="addmailbox_template" data-api-url='add/mailbox/template' data-api-attr='{}' href="#">{{ lang.admin.add }}</button>
367 </div>
368 </div>
369 </form>
370 </div>
371 </div>
372 </div>
373</div><!-- add mailbox template modal -->
374<!-- add domain modal -->
375<div class="modal fade" id="addDomainModal" tabindex="-1" role="dialog" aria-hidden="true">
376 <div class="modal-dialog modal-xl">
377 <div class="modal-content">
378 <div class="modal-header">
379 <h3 class="modal-title">{{ lang.mailbox.add_domain }}</h3>
380 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
381 </div>
382 <div class="modal-body">
383 <form class="form-horizontal" data-cached-form="true" data-id="add_domain" role="form">
384 <div class="row mb-2">
385 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="domain">{{ lang.add.domain }}</label>
386 <div class="col-sm-10">
387 <input type="text" autocorrect="off" autocapitalize="none" class="form-control" name="domain" required>
388 </div>
389 </div>
390 <div class="row mb-4">
391 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="description">{{ lang.add.description }}</label>
392 <div class="col-sm-10">
393 <input type="text" class="form-control" name="description">
394 </div>
395 </div>
396 <div class="row mb-2">
397 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="description">{{ lang.mailbox.template }}</label>
398 <div class="col-sm-10">
399 <select data-live-search="true" id="domain_templates" class="form-control">
400 </select>
401 </div>
402 </div>
403 <div class="row mb-2">
404 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.add.tags }}</label>
405 <div class="col-sm-10">
406 <div class="form-control tag-box">
407 <input type="text" class="tag-input" id="addDomain_tags">
408 <span class="btn tag-add"><i class="bi bi-plus-lg"></i></span>
409 <input type="hidden" value="" name="tags" class="tag-values" />
410 </div>
411 </div>
412 </div>
413 <div class="row mb-2">
414 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="aliases">{{ lang.add.max_aliases }}</label>
415 <div class="col-sm-10">
416 <input type="number" id="addDomain_max_aliases" class="form-control" name="aliases" value="400" required>
417 </div>
418 </div>
419 <div class="row mb-2">
420 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="mailboxes">{{ lang.add.max_mailboxes }}</label>
421 <div class="col-sm-10">
422 <input type="number" id="addDomain_max_mailboxes" class="form-control" name="mailboxes" value="10" required>
423 </div>
424 </div>
425 <div class="row mb-2">
426 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="defquota">{{ lang.add.mailbox_quota_def }}</label>
427 <div class="col-sm-10">
428 <input type="number" id="addDomain_mailbox_quota_def" class="form-control" name="defquota" value="3072" required>
429 </div>
430 </div>
431 <div class="row mb-2">
432 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="maxquota">{{ lang.add.mailbox_quota_m }}</label>
433 <div class="col-sm-10">
434 <input type="number" id="addDomain_mailbox_quota_m" class="form-control" name="maxquota" value="10240" required>
435 </div>
436 </div>
437 <div class="row mb-4">
438 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="quota">{{ lang.add.domain_quota_m }}</label>
439 <div class="col-sm-10">
440 <input type="number" id="addDomain_domain_quota_m" class="form-control" name="quota" value="10240" required>
441 </div>
442 </div>
443 {% if not skip_sogo %}
444 <div class="row mb-2">
445 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100446 <div class="form-check">
447 <label><input type="checkbox" class="form-check-input" id="addDomain_gal" value="1" name="gal" checked> {{ lang.edit.gal }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100448 <small class="text-muted">{{ lang.edit.gal_info|raw }}</small>
449 </div>
450 </div>
451 </div>
452 {% endif %}
453 <div class="row mb-4">
454 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100455 <div class="form-check">
456 <label><input type="checkbox" class="form-check-input" id="addDomain_active" value="1" name="active" checked> {{ lang.add.active }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100457 </div>
458 </div>
459 </div>
460 <hr>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100461 <div class="row mb-4">
462 <label class="control-label col-sm-2 text-sm-end" for="rl_frame">{{ lang.acl.ratelimit }}</label>
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100463 <div class="col-sm-10">
464 <div class="input-group">
465 <input name="rl_value" id="addDomain_rl_value" type="number" class="form-control" placeholder="{{ lang.ratelimit.disabled }}">
466 <select name="rl_frame" id="addDomain_rl_frame" class="form-control">
467 {% include 'mailbox/rl-frame.twig' %}
468 </select>
469 </div>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100470 </div>
471 </div>
472 <hr>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100473 <div class="row mb-2">
474 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="dkim_selector">{{ lang.admin.dkim_domains_selector }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100475 <div class="col-sm-10">
476 <input class="form-control" id="dkim_selector" name="dkim_selector" value="dkim">
477 </div>
478 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100479 <div class="row mb-4">
480 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="key_size">{{ lang.admin.dkim_key_length }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100481 <div class="col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100482 <select data-style="btn btn-light" class="form-control" id="key_size" name="key_size">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100483 <option data-subtext="bits" value="1024">1024</option>
484 <option data-subtext="bits" value="2048" selected>2048</option>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100485 </select>
486 </div>
487 </div>
488 <hr>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100489 <div class="row mb-4">
490 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.add.backup_mx_options }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100491 <div class="col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100492 <div class="form-check">
493 <label><input type="checkbox" class="form-check-input" id="addDomain_relay_domain" value="1" name="backupmx"> {{ lang.add.relay_domain }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100494 <br>
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100495 <label><input type="checkbox" class="form-check-input" id="addDomain_relay_all" value="1" name="relay_all_recipients"> {{ lang.add.relay_all }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100496 <p>{{ lang.add.relay_all_info|raw }}</p>
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100497 <label><input type="checkbox" class="form-check-input" id="addDomain_relay_unknown_only" value="1" name="relay_unknown_only"> {{ lang.add.relay_unknown_only }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100498 <br>
499 <p>{{ lang.add.relay_transport_info|raw }}</p>
500 </div>
501 </div>
502 </div>
503 <hr>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100504 <div class="row mb-4">
505 <div class="offset-sm-2 col-sm-10 btn-group">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100506 {% if not skip_sogo %}
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100507 <button class="btn btn-xs-lg btn-xs-half d-block d-sm-inline btn-secondary" data-action="add_item" data-id="add_domain" data-api-url='add/domain' data-api-attr='{"tags": []}' href="#">{{ lang.add.add_domain_only }}</button>
508 <button class="btn btn-xs-lg btn-xs-half d-block d-sm-inline btn-secondary" data-action="add_item" data-id="add_domain" data-api-url='add/domain' data-api-attr='{"restart_sogo":"1", "tags": []}' href="#">{{ lang.add.add_domain_restart }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100509 {% else %}
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100510 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="add_domain" data-api-url='add/domain' data-api-attr='{"tags": []}' href="#">{{ lang.add.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100511 {% endif %}
512 </div>
513 </div>
514 {# TODO: Separate SOGo-related text #}
515 {% if not skip_sogo %}
516 <p><i class="bi bi-shield-fill-exclamation text-danger"></i> {{ lang.add.post_domain_add|raw }}</p>
517 {% endif %}
518 </form>
519 </div>
520 </div>
521 </div>
522</div><!-- add domain modal -->
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100523<!-- add domain template modal -->
524<div class="modal fade" id="addDomainTemplateModal" tabindex="-1" role="dialog" aria-hidden="true">
525 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100526 <div class="modal-content">
527 <div class="modal-header">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100528 <h3 class="modal-title">{{ lang.mailbox.add_template }}</h3>
529 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
530 </div>
531 <div class="modal-body">
532 <form data-id="adddomain_template" class="form-horizontal" role="form" method="post">
533 {% if mailcow_cc_role == 'admin' %}
534 <div class="row mb-4">
535 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="template">{{ lang.mailbox.template }}</label>
536 <div class="col-sm-10">
537 <div class="input-group mb-3">
538 <input type="text" name="template" class="form-control" aria-label="Text input with dropdown button" value="" />
539 </div>
540 </div>
541 </div>
542 <div class="row mb-2">
543 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.add.tags }}</label>
544 <div class="col-sm-10">
545 <div class="form-control tag-box">
546 <input type="text" class="tag-input">
547 <span class="btn tag-add"><i class="bi bi-plus-lg"></i></span>
548 <input type="hidden" value="" name="tags" class="tag-values" />
549 </div>
550 </div>
551 </div>
552 <div class="row mb-2">
553 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="max_num_aliases_for_domain">{{ lang.add.max_aliases }}</label>
554 <div class="col-sm-10">
555 <input type="number" class="form-control" name="max_num_aliases_for_domain" value="">
556 </div>
557 </div>
558 <div class="row mb-2">
559 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="max_num_mboxes_for_domain">{{ lang.add.max_mailboxes }}</label>
560 <div class="col-sm-10">
561 <input type="number" class="form-control" name="max_num_mboxes_for_domain" value="">
562 </div>
563 </div>
564 <div class="row mb-2">
565 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="def_quota_for_mbox">{{ lang.add.mailbox_quota_def }}</label>
566 <div class="col-sm-10">
567 <input type="number" class="form-control" name="def_quota_for_mbox" value="">
568 </div>
569 </div>
570 <div class="row mb-2">
571 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="max_quota_for_mbox">{{ lang.add.mailbox_quota_m }}</label>
572 <div class="col-sm-10">
573 <input type="number" class="form-control" name="max_quota_for_mbox" value="">
574 </div>
575 </div>
576 <div class="row mb-4">
577 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="max_quota_for_domain">{{ lang.add.domain_quota_m }}</label>
578 <div class="col-sm-10">
579 <input type="number" class="form-control" name="max_quota_for_domain" value="">
580 </div>
581 </div>
582 <div class="row">
583 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100584 <div class="form-check">
585 <label><input type="checkbox" class="form-check-input" value="1" name="gal" checked> {{ lang.add.gal }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100586 <small class="text-muted">{{ lang.add.gal_info|raw }}</small>
587 </div>
588 </div>
589 </div>
590 <div class="row mb-2">
591 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100592 <div class="form-check">
593 <label><input type="checkbox" class="form-check-input" value="1" name="active" checked> {{ lang.add.active }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100594 </div>
595 </div>
596 </div>
597 <hr>
598 <div class="row">
599 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.edit.ratelimit }}</label>
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100600 <div class="col-sm-10">
601 <div class="input-group">
602 <input name="rl_value" type="number" value="" autocomplete="off" class="form-control mb-4" placeholder="{{ lang.ratelimit.disabled }}">
603 <select name="rl_frame" class="form-control">
604 {% include 'mailbox/rl-frame.twig' %}
605 </select>
606 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100607 </div>
608 </div>
609 {% endif %}
610 <hr>
611 <div class="row mb-2">
612 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="dkim_selector">{{ lang.admin.dkim_domains_selector }}</label>
613 <div class="col-sm-10">
614 <input class="form-control" id="dkim_selector" name="dkim_selector" value="dkim">
615 </div>
616 </div>
617 <div class="row mb-4">
618 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="key_size">{{ lang.admin.dkim_key_length }}</label>
619 <div class="col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100620 <select data-style="btn btn-light" class="form-control" id="key_size" name="key_size">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100621 <option data-subtext="bits">1024</option>
622 <option data-subtext="bits" selected>2048</option>
623 </select>
624 </div>
625 </div>
626 <hr>
627 <div class="row mb-2">
628 <label class="control-label col-sm-2 text-sm-end text-sm-end">{{ lang.edit.backup_mx_options }}</label>
629 <div class="col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100630 <div class="form-check">
631 <label><input type="checkbox" class="form-check-input" value="1" name="backupmx"> {{ lang.edit.relay_domain }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100632 <br>
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100633 <label><input type="checkbox" class="form-check-input" value="1" name="relay_all_recipients"> {{ lang.edit.relay_all }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100634 <p>{{ lang.edit.relay_all_info|raw }}</p>
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100635 <label><input type="checkbox" class="form-check-input" value="1" name="relay_unknown_only"> {{ lang.edit.relay_unknown_only }}</label>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100636 <br>
637 <p>{{ lang.edit.relay_transport_info|raw }}</p>
638 </div>
639 </div>
640 </div>
641 <hr>
642 <div class="row">
643 <div class="offset-sm-2 col-sm-10">
644 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="adddomain_template" data-item="{{ domain }}" data-api-url='add/domain/template' data-api-attr='{}' href="#">{{ lang.admin.add }}</button>
645 </div>
646 </div>
647 </form>
648 </div>
649 </div>
650 </div>
651</div><!-- add domain template modal -->
652<!-- add resource modal -->
653<div class="modal fade" id="addResourceModal" tabindex="-1" role="dialog" aria-hidden="true">
654 <div class="modal-dialog modal-xl">
655 <div class="modal-content">
656 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100657 <h3 class="modal-title">{{ lang.mailbox.add_resource }}</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100658 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100659 </div>
660 <div class="modal-body">
661 <form class="form-horizontal" data-cached-form="true" role="form" data-id="add_resource">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100662 <div class="row mb-2">
663 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="description">{{ lang.add.description }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100664 <div class="col-sm-10">
665 <input type="text" class="form-control" name="description" required>
666 </div>
667 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100668 <div class="row mb-2">
669 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="domain">{{ lang.add.domain }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100670 <div class="col-sm-10">
671 <select data-live-search="true" name="domain" title="{{ lang.add.select }}" required>
672 {% for domain in domains %}
673 <option>{{ domain }}</option>
674 {% endfor %}
675 </select>
676 </div>
677 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100678 <div class="row mb-2">
679 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="domain">{{ lang.add.kind }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100680 <div class="col-sm-10">
681 <select name="kind" title="{{ lang.add.select }}" required>
682 <option value="location">Location</option>
683 <option value="group">Group</option>
684 <option value="thing">Thing</option>
685 </select>
686 </div>
687 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100688 <div class="row mb-4">
689 <label class="control-label col-sm-2 text-sm-end text-sm-end" for="multiple_bookings_select">{{ lang.add.multiple_bookings }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100690 <div class="col-sm-10">
691 <select name="multiple_bookings_select" id="multiple_bookings_select" title="{{ lang.add.select }}" required>
692 <option value="0">{{ lang.mailbox.booking_null }}</option>
693 <option value="-1" selected>{{ lang.mailbox.booking_ltnull }}</option>
694 <option value="custom">{{ lang.mailbox.booking_custom }}</option>
695 </select>
696 <div style="display:none" id="multiple_bookings_custom_div">
697 <hr>
698 <input type="number" class="form-control" name="multiple_bookings_custom" id="multiple_bookings_custom">
699 </div>
700 <input type="hidden" name="multiple_bookings" id="multiple_bookings">
701 </div>
702 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100703 <div class="row mb-2">
704 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100705 <div class="form-check">
706 <label><input type="checkbox" class="form-check-input" value="1" name="active" checked> {{ lang.add.active }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100707 </div>
708 </div>
709 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100710 <div class="row mb-4">
711 <div class="offset-sm-2 col-sm-10">
712 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="add_resource" data-api-url='add/resource' data-api-attr='{}' href="#">{{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100713 </div>
714 </div>
715 </form>
716 </div>
717 </div>
718 </div>
719</div><!-- add resource modal -->
720<!-- add alias modal -->
721<div class="modal fade" id="addAliasModal" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100722 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100723 <div class="modal-content">
724 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100725 <h3 class="modal-title">{{ lang.mailbox.add_alias }}</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100726 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100727 </div>
728 <div class="modal-body">
729 <form class="form-horizontal" data-cached-form="true" role="form" data-id="add_alias">
730 <input type="hidden" value="0" name="active">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100731 <div class="row mb-2">
732 <label class="control-label col-sm-2 text-sm-end" for="address">{{ lang.add.alias_address }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100733 <div class="col-sm-10">
734 <textarea autocorrect="off" autocapitalize="none" class="form-control" rows="5" name="address" id="address" required></textarea>
735 <p>{{ lang.add.alias_address_info|raw }}</p>
736 </div>
737 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100738 <div class="row mb-4">
739 <label class="control-label col-sm-2 text-sm-end" for="goto">{{ lang.add.target_address }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100740 <div class="col-sm-10">
741 <textarea id="textarea_alias_goto" autocorrect="off" autocapitalize="none" class="form-control" rows="5" id="goto" name="goto" required></textarea>
742 <p>{{ lang.add.target_address_info|raw }}</p>
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100743 <div class="form-check">
744 <label><input class="form-check-input goto_checkbox" type="checkbox" value="1" name="goto_null"> {{ lang.add.goto_null }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100745 </div>
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100746 <div class="form-check">
747 <label><input class="form-check-input goto_checkbox" type="checkbox" value="1" name="goto_spam"> {{ lang.add.goto_spam|raw }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100748 </div>
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100749 <div class="form-check">
750 <label><input class="form-check-input goto_checkbox" type="checkbox" value="1" name="goto_ham"> {{ lang.add.goto_ham|raw }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100751 </div>
752 {% if not skip_sogo %}
753 <hr>
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100754 <div class="form-check">
755 <label><input type="checkbox" class="form-check-input" value="1" name="sogo_visible" checked> {{ lang.edit.sogo_visible }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100756 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100757 <p class="text-muted">{{ lang.edit.sogo_visible_info }}</p>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100758 {% endif %}
759 </div>
760 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100761 <div class="row mb-2">
762 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100763 <div class="form-check">
764 <label><input type="checkbox" class="form-check-input" value="1" name="active" checked> {{ lang.add.active }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100765 </div>
766 </div>
767 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100768 <div class="row mb-4">
769 <div class="offset-sm-2 col-sm-10">
770 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="add_alias" data-api-url='add/alias' data-api-attr='{}' href="#">{{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100771 </div>
772 </div>
773 </form>
774 </div>
775 </div>
776 </div>
777</div><!-- add alias modal -->
778<!-- add domain alias modal -->
779<div class="modal fade" id="addAliasDomainModal" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100780 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100781 <div class="modal-content">
782 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100783 <h3 class="modal-title">{{ lang.mailbox.add_domain_alias }}</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100784 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100785 </div>
786 <div class="modal-body">
787 <form class="form-horizontal" data-cached-form="true" role="form" data-id="add_alias_domain">
788 <input type="hidden" value="0" name="active">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100789 <div class="row mb-2">
790 <label class="control-label col-sm-2 text-sm-end" for="alias_domain">{{ lang.add.alias_domain }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100791 <div class="col-sm-10">
792 <textarea autocorrect="off" autocapitalize="none" class="form-control" rows="5" name="alias_domain" id="alias_domain" required></textarea>
793 <p>{{ lang.add.alias_domain_info|raw }}</p>
794 </div>
795 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100796 <div class="row mb-4">
797 <label class="control-label col-sm-2 text-sm-end" for="target_domain">{{ lang.add.target_domain }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100798 <div class="col-sm-10">
799 <select data-live-search="true" name="target_domain" title="{{ lang.add.select }}" required>
800 {% for domain in domains %}
801 <option>{{ domain }}</option>
802 {% endfor %}
803 </select>
804 </div>
805 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100806 <div class="row mb-4">
807 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100808 <div class="form-check">
809 <label><input type="checkbox" class="form-check-input" value="1" name="active" checked> {{ lang.add.active }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100810 </div>
811 </div>
812 </div>
813 <hr>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100814 <div class="row mb-2">
815 <label class="control-label col-sm-2 text-sm-end" for="rl_frame">{{ lang.acl.ratelimit }}</label>
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100816 <div class="col-sm-10">
817 <div class="input-group">
818 <input name="rl_value" type="number" class="form-control" placeholder="{{ lang.ratelimit.disabled }}">
819 <select name="rl_frame" class="form-control">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100820 {% include 'mailbox/rl-frame.twig' %}
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100821 </select>
822 </div>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100823 </div>
824 </div>
825 <hr>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100826 <div class="row mb-2">
827 <label class="control-label col-sm-2 text-sm-end" for="dkim_selector2">{{ lang.admin.dkim_domains_selector }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100828 <div class="col-sm-10">
829 <input class="form-control" id="dkim_selector2" name="dkim_selector" value="dkim">
830 </div>
831 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100832 <div class="row mb-4">
833 <label class="control-label col-sm-2 text-sm-end" for="key_size2">{{ lang.admin.dkim_key_length }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100834 <div class="col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100835 <select data-style="btn btn-light" class="form-control" id="key_size2" name="key_size">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100836 <option data-subtext="bits">1024</option>
837 <option data-subtext="bits" selected>2048</option>
838 </select>
839 </div>
840 </div>
841 <hr>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100842 <div class="row mb-4">
843 <div class="offset-sm-2 col-sm-10">
844 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="add_alias_domain" data-api-url='add/alias-domain' data-api-attr='{}' href="#">{{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100845 </div>
846 </div>
847 </form>
848 </div>
849 </div>
850 </div>
851</div><!-- add domain alias modal -->
852<!-- add sync job modal -->
853<div class="modal fade" id="addSyncJobModalAdmin" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100854 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100855 <div class="modal-content">
856 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100857 <h3 class="modal-title">{{ lang.add.syncjob }}</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100858 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100859 </div>
860 <div class="modal-body">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100861 <p class="text-muted">{{ lang.add.syncjob_hint }}</p>
862 <form class="form-horizontal" data-cached-form="false" role="form" data-id="add_syncjob">
863 <div class="row mb-2">
864 <label class="control-label col-sm-2 text-sm-end" for="username">{{ lang.add.username }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100865 <div class="col-sm-10">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100866 <select data-live-search="true" name="username" title="{{ lang.add.select }}" required>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100867 {% for mailbox in mailboxes %}
868 <option>{{ mailbox }}</option>
869 {% endfor %}
870 </select>
871 </div>
872 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100873 <div class="row mb-2">
874 <label class="control-label col-sm-2 text-sm-end" for="host1">{{ lang.add.hostname }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100875 <div class="col-sm-10">
876 <input type="text" class="form-control" name="host1" required>
877 </div>
878 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100879 <div class="row mb-2">
880 <label class="control-label col-sm-2 text-sm-end" for="port1">{{ lang.add.port }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100881 <div class="col-sm-10">
882 <input type="number" class="form-control" name="port1" min="1" max="65535" value="143" required>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100883 <small class="text-muted">1-65535</small>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100884 </div>
885 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100886 <div class="row mb-2">
887 <label class="control-label col-sm-2 text-sm-end" for="user1">{{ lang.add.username }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100888 <div class="col-sm-10">
889 <input type="text" class="form-control" name="user1" required>
890 </div>
891 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100892 <div class="row mb-2">
893 <label class="control-label col-sm-2 text-sm-end" for="password1">{{ lang.add.password }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100894 <div class="col-sm-10">
895 <input type="password" class="form-control" name="password1" required>
896 </div>
897 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100898 <div class="row mb-2">
899 <label class="control-label col-sm-2 text-sm-end" for="enc1">{{ lang.add.enc_method }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100900 <div class="col-sm-10">
901 <select name="enc1" title="{{ lang.add.select }}" required>
902 <option value="SSL" selected>SSL</option>
903 <option value="TLS">STARTTLS</option>
904 <option value="PLAIN">PLAIN</option>
905 </select>
906 </div>
907 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100908 <div class="row mb-2">
909 <label class="control-label col-sm-2 text-sm-end" for="mins_interval">{{ lang.add.mins_interval }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100910 <div class="col-sm-10">
911 <input type="number" class="form-control" name="mins_interval" min="1" max="43800" value="20" required>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100912 <small class="text-muted">1-43800</small>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100913 </div>
914 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100915 <div class="row mb-2">
916 <label class="control-label col-sm-2 text-sm-end" for="subfolder2">{{ lang.edit.subfolder2|raw }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100917 <div class="col-sm-10">
918 <input type="text" class="form-control" name="subfolder2" value="">
919 </div>
920 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100921 <div class="row mb-2">
922 <label class="control-label col-sm-2 text-sm-end" for="maxage">{{ lang.edit.maxage|raw }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100923 <div class="col-sm-10">
924 <input type="number" class="form-control" name="maxage" min="0" max="32000" value="0">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100925 <small class="text-muted">0-32000</small>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100926 </div>
927 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100928 <div class="row mb-2">
929 <label class="control-label col-sm-2 text-sm-end" for="maxbytespersecond">{{ lang.edit.maxbytespersecond|raw }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100930 <div class="col-sm-10">
931 <input type="number" class="form-control" name="maxbytespersecond" min="0" max="125000000" value="0">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100932 <small class="text-muted">0-125000000</small>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100933 </div>
934 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100935 <div class="row mb-2">
936 <label class="control-label col-sm-2 text-sm-end" for="timeout1">{{ lang.edit.timeout1 }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100937 <div class="col-sm-10">
938 <input type="number" class="form-control" name="timeout1" min="1" max="32000" value="600">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100939 <small class="text-muted">1-32000</small>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100940 </div>
941 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100942 <div class="row mb-2">
943 <label class="control-label col-sm-2 text-sm-end" for="timeout2">{{ lang.edit.timeout2 }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100944 <div class="col-sm-10">
945 <input type="number" class="form-control" name="timeout2" min="1" max="32000" value="600">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100946 <small class="text-muted">1-32000</small>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100947 </div>
948 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100949 <div class="row mb-2">
950 <label class="control-label col-sm-2 text-sm-end" for="exclude">{{ lang.add.exclude }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100951 <div class="col-sm-10">
952 <input type="text" class="form-control" name="exclude" value="(?i)spam|(?i)junk">
953 </div>
954 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100955 <div class="row mb-4">
956 <label class="control-label col-sm-2 text-sm-end" for="custom_params">{{ lang.add.custom_params }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100957 <div class="col-sm-10">
958 <input type="text" class="form-control" name="custom_params" placeholder="--dry --some-param=xy --other-param=yx">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100959 <small class="text-muted">{{ lang.add.custom_params_hint }}</small>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100960 </div>
961 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100962 <div class="row mb-2">
963 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100964 <div class="form-check">
965 <label><input type="checkbox" class="form-check-input" value="1" name="delete2duplicates" checked> {{ lang.add.delete2duplicates }} (--delete2duplicates)</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100966 </div>
967 </div>
968 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100969 <div class="row mb-2">
970 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100971 <div class="form-check">
972 <label><input type="checkbox" class="form-check-input" value="1" name="delete1"> {{ lang.add.delete1 }} (--delete1)</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100973 </div>
974 </div>
975 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100976 <div class="row mb-2">
977 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100978 <div class="form-check">
979 <label><input type="checkbox" class="form-check-input" value="1" name="delete2"> {{ lang.add.delete2 }} (--delete2)</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100980 </div>
981 </div>
982 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100983 <div class="row mb-2">
984 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100985 <div class="form-check">
986 <label><input type="checkbox" class="form-check-input" value="1" name="automap" checked> {{ lang.add.automap }} (--automap)</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100987 </div>
988 </div>
989 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100990 <div class="row mb-2">
991 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100992 <div class="form-check">
993 <label><input type="checkbox" class="form-check-input" value="1" name="skipcrossduplicates"> {{ lang.add.skipcrossduplicates }} (--skipcrossduplicates)</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100994 </div>
995 </div>
996 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100997 <div class="row mb-4">
998 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +0100999 <div class="form-check">
1000 <label><input type="checkbox" class="form-check-input" value="1" name="subscribeall" checked> {{ lang.add.subscribeall }} (--subscribeall)</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001001 </div>
1002 </div>
1003 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001004 <div class="row mb-2">
1005 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +01001006 <div class="form-check">
1007 <label><input type="checkbox" class="form-check-input" value="1" name="active" checked> {{ lang.add.active }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001008 </div>
1009 </div>
1010 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001011 <div class="row mb-4">
1012 <div class="offset-sm-2 col-sm-10">
1013 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="add_syncjob" data-api-url='add/syncjob' data-api-attr='{}' href="#">{{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001014 </div>
1015 </div>
1016 </form>
1017 </div>
1018 </div>
1019 </div>
1020</div><!-- add sync job modal -->
1021<!-- add add_filter modal -->
1022<div class="modal fade" id="addFilterModalAdmin" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001023 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001024 <div class="modal-content">
1025 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001026 <h3 class="modal-title">Filter</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001027 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001028 </div>
1029 <div class="modal-body">
1030 <form class="form-horizontal" data-cached-form="true" role="form" data-id="add_filter">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001031 <div class="row mb-2">
1032 <label class="control-label col-sm-2 text-sm-end" for="username">{{ lang.add.username }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001033 <div class="col-sm-10">
1034 <select data-live-search="true" name="username" required>
1035 {% for mailbox in mailboxes %}
1036 <option>{{ mailbox }}</option>
1037 {% endfor %}
1038 </select>
1039 </div>
1040 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001041 <div class="row mb-2">
1042 <label class="control-label col-sm-2 text-sm-end" for="filter_type">{{ lang.add.sieve_type }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001043 <div class="col-sm-10">
1044 <select id="addFilterType" name="filter_type" required>
1045 <option value="prefilter">Prefilter</option>
1046 <option value="postfilter">Postfilter</option>
1047 </select>
1048 </div>
1049 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001050 <div class="row mb-2">
1051 <label class="control-label col-sm-2 text-sm-end" for="script_desc">{{ lang.add.sieve_desc }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001052 <div class="col-sm-10">
1053 <input type="text" class="form-control" id="script_desc" name="script_desc" required maxlength="255">
1054 </div>
1055 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001056 <div class="row mb-4">
1057 <label class="control-label col-sm-2 text-sm-end" for="script_data">Script:</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001058 <div class="col-sm-10">
1059 <textarea autocorrect="off" spellcheck="false" autocapitalize="none" class="form-control textarea-code script_data" rows="20" name="script_data" required></textarea>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001060 <p class="text-muted">{{ lang.add.activate_filter_warn }}</p>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001061 </div>
1062 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001063 <div class="row mb-2">
1064 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +01001065 <div class="form-check">
1066 <label><input type="checkbox" class="form-check-input" value="1" name="active" checked> {{ lang.add.active }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001067 </div>
1068 </div>
1069 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001070 <div class="row mb-4">
1071 <div class="offset-sm-2 col-sm-10 add_filter_btns btn-group">
1072 <button class="btn btn-xs-lg btn-xs-half d-block d-sm-inline btn-secondary validate_sieve" href="#">{{ lang.add.validate }}</button>
1073 <button class="btn btn-xs-lg btn-xs-half d-block d-sm-inline btn-success add_sieve_script" data-action="add_item" data-id="add_filter" data-api-url='add/filter' data-api-attr='{}' href="#" disabled>{{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001074 </div>
1075 </div>
1076 </form>
1077 {{ lang.mailbox.sieve_preset_header|raw }}
1078 <ul id="sieve_presets"></ul>
1079 </div>
1080 </div>
1081 </div>
1082</div><!-- add add_filter modal -->
1083<!-- add add_bcc modal -->
1084<div class="modal fade" id="addBCCModalAdmin" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001085 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001086 <div class="modal-content">
1087 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001088 <h3 class="modal-title">{{ lang.mailbox.bcc_maps }}</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001089 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001090 </div>
1091 <div class="modal-body">
1092 <form class="form-horizontal" data-cached-form="true" role="form" data-id="add_bcc">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001093 <div class="row mb-2">
1094 <label class="control-label col-sm-2 text-sm-end" for="local_dest">{{ lang.mailbox.bcc_local_dest }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001095 <div class="col-sm-10">
1096 <select id="bcc-local-dest" data-live-search="true" data-size="20" name="local_dest" required>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001097 </select>
1098 </div>
1099 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001100 <div class="row mb-2">
1101 <label class="control-label col-sm-2 text-sm-end" for="type">{{ lang.mailbox.bcc_map_type }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001102 <div class="col-sm-10">
1103 <select name="type" required>
1104 <option value="sender">{{ lang.mailbox.bcc_sender_map }}</option>
1105 <option value="rcpt">{{ lang.mailbox.bcc_rcpt_map }}</option>
1106 </select>
1107 </div>
1108 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001109 <div class="row mb-4">
1110 <label class="control-label col-sm-2 text-sm-end" for="bcc_dest">{{ lang.mailbox.bcc_destination }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001111 <div class="col-sm-10">
1112 <input type="text" class="form-control" name="bcc_dest">
1113 <small>{{ lang.add.bcc_dest_format|raw }}</small>
1114 </div>
1115 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001116 <div class="row mb-2">
1117 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +01001118 <div class="form-check">
1119 <label><input type="checkbox" class="form-check-input" value="1" name="active" checked> {{ lang.add.active }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001120 </div>
1121 </div>
1122 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001123 <div class="row mb-4">
1124 <div class="offset-sm-2 col-sm-10">
1125 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="add_bcc" data-api-url='add/bcc' data-api-attr='{}' href="#">{{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001126 </div>
1127 </div>
1128 </form>
1129 </div>
1130 </div>
1131 </div>
1132</div><!-- add add_bcc modal -->
1133<!-- add add_recipient_map modal -->
1134<div class="modal fade" id="addRecipientMapModalAdmin" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001135 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001136 <div class="modal-content">
1137 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001138 <h3 class="modal-title">{{ lang.mailbox.recipient_maps }}</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001139 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001140 </div>
1141 <div class="modal-body">
1142 <form class="form-horizontal" data-cached-form="true" role="form" data-id="add_recipient_map">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001143 <div class="row mb-2">
1144 <label class="control-label col-sm-2 text-sm-end" for="recipient_map_old">{{ lang.mailbox.recipient_map_old }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001145 <div class="col-sm-10">
1146 <input type="text" class="form-control" name="recipient_map_old">
1147 <small>{{ lang.mailbox.recipient_map_old_info }}</small>
1148 </div>
1149 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001150 <div class="row mb-4">
1151 <label class="control-label col-sm-2 text-sm-end" for="recipient_map_new">{{ lang.mailbox.recipient_map_new }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001152 <div class="col-sm-10">
1153 <input type="text" class="form-control" name="recipient_map_new">
1154 <small>{{ lang.mailbox.recipient_map_new_info }}</small>
1155 </div>
1156 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001157 <div class="row mb-2">
1158 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +01001159 <div class="form-check">
1160 <label><input type="checkbox" class="form-check-input" value="1" name="active" checked> {{ lang.add.active }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001161 </div>
1162 </div>
1163 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001164 <div class="row mb-4">
1165 <div class="offset-sm-2 col-sm-10">
1166 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="add_recipient_map" data-api-url='add/recipient_map' data-api-attr='{}' href="#">{{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001167 </div>
1168 </div>
1169 </form>
1170 </div>
1171 </div>
1172 </div>
1173</div><!-- add add_recipient_map modal -->
1174<!-- add add_tls_policy_map modal -->
1175<div class="modal fade" id="addTLSPolicyMapAdmin" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001176 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001177 <div class="modal-content">
1178 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001179 <h3 class="modal-title">{{ lang.mailbox.tls_policy_maps }}</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001180 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001181 </div>
1182 <div class="modal-body">
1183 <form class="form-horizontal" data-cached-form="true" role="form" data-id="add_tls_policy_map">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001184 <div class="row mb-2">
1185 <label class="control-label col-sm-2 text-sm-end" for="dest">{{ lang.mailbox.tls_map_dest }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001186 <div class="col-sm-10">
1187 <input type="text" class="form-control" name="dest">
1188 <small>{{ lang.mailbox.tls_map_dest_info }}</small>
1189 </div>
1190 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001191 <div class="row mb-2">
1192 <label class="control-label col-sm-2 text-sm-end" for="policy">{{ lang.mailbox.tls_map_policy }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001193 <div class="col-sm-10">
1194 <select class="full-width-select" name="policy" required>
1195 <option value="none">none</option>
1196 <option value="may">may</option>
1197 <option value="encrypt">encrypt</option>
1198 <option value="dane">dane</option>
1199 <option value="dane-only">dane-only</option>
1200 <option value="fingerprint">fingerprint</option>
1201 <option value="verify">verify</option>
1202 <option value="secure">secure</option>
1203 </select>
1204 </div>
1205 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001206 <div class="row mb-4">
1207 <label class="control-label col-sm-2 text-sm-end" for="parameters">{{ lang.mailbox.tls_map_parameters }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001208 <div class="col-sm-10">
1209 <input type="text" class="form-control" name="parameters">
1210 <small>{{ lang.mailbox.tls_map_parameters_info }}</small>
1211 </div>
1212 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001213 <div class="row mb-2">
1214 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkardd1f5b682023-11-18 13:18:30 +01001215 <div class="form-check">
1216 <label><input type="checkbox" class="form-check-input" value="1" name="active" checked> {{ lang.add.active }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001217 </div>
1218 </div>
1219 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001220 <div class="row mb-4">
1221 <div class="offset-sm-2 col-sm-10">
1222 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="add_tls_policy_map" data-api-url='add/tls-policy-map' data-api-attr='{}' href="#">{{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001223 </div>
1224 </div>
1225 </form>
1226 </div>
1227 </div>
1228 </div>
1229</div><!-- add add_tls_policy_map modal -->
1230<!-- log modal -->
1231<div class="modal fade" id="syncjobLogModal" tabindex="-1" role="dialog" aria-labelledby="syncjobLogModalLabel">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001232 <div class="modal-dialog modal-xl" role="document">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001233 <div class="modal-content">
1234 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001235 <h3 class="modal-title">Log</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001236 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001237 </div>
1238 <div class="modal-body">
1239 <textarea class="form-control" rows="20" id="logText" spellcheck="false"></textarea>
1240 </div>
1241 </div>
1242 </div>
1243</div><!-- log modal -->
1244<!-- DNS info modal -->
1245<div class="modal fade" id="dnsInfoModal" tabindex="-1" role="dialog" aria-labelledby="dnsInfoModalLabel">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001246 <div class="modal-dialog modal-xl" role="document">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001247 <div class="modal-content">
1248 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001249 <h3 class="modal-title">{{ lang.diagnostics.dns_records }}</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001250 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001251 </div>
1252 <div class="modal-body">
1253 <p>{{ lang.diagnostics.dns_records_24hours }}</p>
1254 <div class="dns-modal-body"></div>
1255 <p>{{ lang.diagnostics.dns_records_docs|raw }}</p>
1256 </div>
1257 </div>
1258 </div>
1259</div><!-- DNS info modal -->