blob: 15971e5932467bb76c838fdd6509e97ea9b7e606 [file] [log] [blame]
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001<!-- add settings rule modal -->
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01002<div class="modal fade" id="addRsettingModal" tabindex="-1" role="dialog" aria-hidden="false">
3 <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.admin.add_settings_rule }}</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="rsetting" role="form" method="post">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010011 <div class="row mb-2">
12 <label class="control-label col-sm-2 text-sm-end" for="desc">{{ lang.admin.rsetting_desc }}:</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010013 <div class="col-sm-10">
14 <input type="text" class="form-control" id="adminRspamdSettingsDesc" name="desc" required>
15 </div>
16 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010017 <div class="row mb-4">
18 <label class="control-label col-sm-2 text-sm-end" for="content">{{ lang.admin.rsetting_content }}:</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010019 <div class="col-sm-10">
20 <textarea class="form-control" id="adminRspamdSettingsContent" name="content" rows="10"></textarea>
21 </div>
22 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010023 <div class="row mb-2">
24 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010025 <div class="checkbox">
26 <label><input type="checkbox" value="1" name="active" checked> {{ lang.admin.active }}</label>
27 </div>
28 </div>
29 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010030 <div class="row mb-4">
31 <div class="offset-sm-2 col-sm-10">
32 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="rsetting" data-api-url='add/rsetting' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> {{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010033 </div>
34 </div>
35 </form>
36 <hr>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010037 <p>{{ lang.admin.rspamd_com_settings | raw }}</p>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010038 <ul id="rspamd_presets"></ul>
39 </div>
40 </div>
41 </div>
42</div><!-- add settings rule modal -->
43<!-- add domain admin modal -->
44<div class="modal fade" id="addDomainAdminModal" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010045 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010046 <div class="modal-content">
47 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010048 <h3 class="modal-title">{{ lang.admin.add_domain_admin }}</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010049 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010050 </div>
51 <div class="modal-body">
52 <form class="form-horizontal" data-cached-form="true" data-id="add_domain_admin" role="form" method="post" autocomplete="off">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010053 <div class="row mb-2">
54 <label class="control-label col-sm-2 text-sm-end" for="username">{{ lang.admin.username }}:</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010055 <div class="col-sm-10">
56 <input type="text" class="form-control" name="username" onkeyup="this.value = this.value.toLowerCase();" required>
57 &rdsh; <kbd>a-z - _ .</kbd>
58 </div>
59 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010060 <div class="row mb-4">
61 <label class="control-label col-sm-2 text-sm-end" for="name">{{ lang.admin.admin_domains }}:</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010062 <div class="col-sm-10">
63 <select title="{{ lang.admin.search_domain_da }}" class="full-width-select" name="domains" size="5" multiple>
64 {% for domain in domains %}
65 <option>{{ domain }}</option>
66 {% endfor %}
67 </select>
68 </div>
69 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010070 <div class="row mb-2">
71 <label class="control-label col-sm-2 text-sm-end" for="password">{{ lang.admin.password }} (<a href="#" class="generate_password">{{ lang.admin.generate }}</a>)</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010072 <div class="col-sm-10">
73 <input type="password" class="form-control" data-pwgen-field="true" data-hibp="true" name="password" placeholder="" autocomplete="new-password" required>
74 </div>
75 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010076 <div class="row mb-4">
77 <label class="control-label col-sm-2 text-sm-end" for="password2">{{ lang.admin.password_repeat }}:</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010078 <div class="col-sm-10">
79 <input type="password" class="form-control" data-pwgen-field="true" name="password2" placeholder="" autocomplete="new-password" required>
80 </div>
81 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010082 <div class="row mb-2">
83 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010084 <div class="checkbox">
85 <label><input type="checkbox" value="1" name="active" checked> {{ lang.admin.active }}</label>
86 </div>
87 </div>
88 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010089 <div class="row mb-4">
90 <div class="offset-sm-2 col-sm-10">
91 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="add_domain_admin" data-api-url='add/domain-admin' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> {{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010092 </div>
93 </div>
94 </form>
95 </div>
96 </div>
97 </div>
98</div><!-- add domain admin modal -->
99<!-- change fido2 fn -->
100<div class="modal fade" id="fido2ChangeFn" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100101 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100102 <div class="modal-content">
103 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100104 <h3 class="modal-title">{{ lang.fido2.set_fn }}</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100105 <p class="text-muted" style="word-break:break-all" id="fido2_subject_desc" data-fido2-subject=""></p>
106 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100107 </div>
108 <div class="modal-body">
109 <form class="form-horizontal" data-cached-form="false" data-id="fido2ChangeFn" role="form" method="post" autocomplete="off">
110 <input type="hidden" class="form-control" name="fido2_cid" id="fido2_cid">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100111 <div class="row mb-4">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100112 <label class="control-label col-sm-4" for="fido2_fn">{{ lang.fido2.fn }}:</label>
113 <div class="col-sm-8">
114 <input type="text" class="form-control" name="fido2_fn">
115 </div>
116 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100117 <div class="row mb-4">
118 <div class="offset-sm-4 col-sm-8">
119 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="edit_selected" data-id="fido2ChangeFn" data-item="null" data-api-url='edit/fido2-fn' data-api-attr='{}' href="#">{{ lang.admin.save }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100120 </div>
121 </div>
122 </form>
123 </div>
124 </div>
125 </div>
126</div><!-- add domain admin modal -->
127<!-- add oauth2 client modal -->
128<div class="modal fade" id="addOAuth2ClientModal" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100129 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100130 <div class="modal-content">
131 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100132 <h3 class="modal-title">OAuth2</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100133 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100134 </div>
135 <div class="modal-body">
136 <form class="form-horizontal" data-cached-form="true" data-id="add_oauth2_client" role="form" method="post">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100137 <div class="row mb-4">
138 <label class="control-label col-sm-2 text-sm-end" for="redirect_uri">{{ lang.admin.oauth2_redirect_uri }}:</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100139 <div class="col-sm-10">
140 <input type="text" class="form-control" name="redirect_uri" required>
141 </div>
142 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100143 <div class="row mb-4">
144 <div class="offset-sm-2 col-sm-10">
145 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="add_oauth2_client" data-api-url='add/oauth2-client' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> {{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100146 </div>
147 </div>
148 </form>
149 </div>
150 </div>
151 </div>
152</div><!-- add domain admin modal -->
153<!-- add admin modal -->
154<div class="modal fade" id="addAdminModal" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100155 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100156 <div class="modal-content">
157 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100158 <h3 class="modal-title">{{ lang.admin.add_admin }}</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100159 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100160 </div>
161 <div class="modal-body">
162 <form class="form-horizontal" data-cached-form="true" data-id="add_admin" role="form" method="post" autocomplete="off">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100163 <div class="row mb-4">
164 <label class="control-label col-sm-2 text-sm-end" for="username">{{ lang.admin.username }}:</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100165 <div class="col-sm-10">
166 <input type="text" class="form-control" name="username" onkeyup="this.value = this.value.toLowerCase();" required>
167 &rdsh; <kbd>a-z - _ .</kbd>
168 </div>
169 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100170 <div class="row mb-2">
171 <label class="control-label col-sm-2 text-sm-end" for="password">{{ lang.admin.password }} (<a href="#" class="generate_password">{{ lang.admin.generate }}</a>):</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100172 <div class="col-sm-10">
173 <input type="password" class="form-control" data-pwgen-field="true" data-hibp="true" name="password" placeholder="" autocomplete="new-password" required>
174 </div>
175 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100176 <div class="row mb-4">
177 <label class="control-label col-sm-2 text-sm-end" for="password2">{{ lang.admin.password_repeat }}:</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100178 <div class="col-sm-10">
179 <input type="password" class="form-control" data-pwgen-field="true" name="password2" placeholder="" autocomplete="new-password" required>
180 </div>
181 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100182 <div class="row mb-2">
183 <div class="offset-sm-2 col-sm-10">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100184 <div class="checkbox">
185 <label><input type="checkbox" value="1" name="active" checked> {{ lang.admin.active }}</label>
186 </div>
187 </div>
188 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100189 <div class="row mb-4">
190 <div class="offset-sm-2 col-sm-10">
191 <button class="btn btn-xs-lg d-block d-sm-inline btn-success" data-action="add_item" data-id="add_admin" data-api-url='add/admin' data-api-attr='{}' href="#"><i class="bi bi-plus-lg"></i> {{ lang.admin.add }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100192 </div>
193 </div>
194 </form>
195 </div>
196 </div>
197 </div>
198</div><!-- add admin modal -->
199<!-- test transport modal -->
200<div class="modal fade" id="testTransportModal" tabindex="-1" role="dialog" aria-hidden="true">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100201 <div class="modal-dialog modal-xl">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100202 <div class="modal-content">
203 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100204 <h3 class="modal-title"><i class="bi bi-info-circle-fill"></i> Transport</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100205 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100206 </div>
207 <div class="modal-body">
208 <form class="form-horizontal" data-cached-form="true" id="test_transport_form" role="form" method="post">
209 <input type="hidden" class="form-control" name="transport_id" id="transport_id">
210 <input type="hidden" class="form-control" name="transport_type" id="transport_type">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100211 <div class="row mb-2">
212 <label class="control-label col-sm-2 text-sm-end" for="mail_from">{{ lang.admin.relay_from }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100213 <div class="col-sm-10">
214 <input type="text" class="form-control" name="mail_from" placeholder="relay@example.org">
215 </div>
216 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100217 <div class="row mb-4">
218 <label class="control-label col-sm-2 text-sm-end" for="mail_rcpt">{{ lang.admin.relay_rcpt }}</label>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100219 <div class="col-sm-10">
220 <input type="text" class="form-control" name="mail_rcpt" placeholder="null@hosted.mailcow.de" value="null@hosted.mailcow.de">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100221 <p class="text-muted">{{ lang.admin.transport_test_rcpt_info|raw }}</p>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100222 </div>
223 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100224 <div class="row mb-4">
225 <div class="offset-sm-2 col-sm-10">
226 <button class="btn btn-xs-lg d-block d-sm-inline btn-secondary" id="test_transport" href="#">{{ lang.admin.relay_run }}</button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100227 </div>
228 </div>
229 </form>
230 <hr>
231 <div id="test_transport_result" style="font-size:10pt">-</div>
232 </div>
233 </div>
234 </div>
235</div><!-- test transport modal -->
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100236<!-- priv key modal -->
237<div class="modal fade" id="showDKIMprivKey" tabindex="-1" role="dialog" aria-hidden="true">
238 <div class="modal-dialog">
239 <div class="modal-content">
240 <div class="modal-header">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100241 <h3 class="modal-title"><i class="bi bi-key-fill"></i> Private key</h3>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100242 <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100243 </div>
244 <div class="modal-body">
245 <pre id="priv_key_pre"></pre>
246 </div>
247 </div>
248 </div>
249</div><!-- priv key modal -->