|
157 | 157 |
|
158 | 158 | <!-- Optional Settings -->
|
159 | 159 | <h4 class="ui dividing header">{{ctx.Locale.Tr "install.optional_title"}}</h4>
|
160 |
| - |
161 |
| - <!-- Email --> |
162 |
| - <details class="optional field"> |
163 |
| - <summary class="right-content tw-py-2{{if .Err_SMTP}} text red{{end}}"> |
164 |
| - {{ctx.Locale.Tr "install.email_title"}} |
165 |
| - </summary> |
166 |
| - <div class="inline field"> |
167 |
| - <label for="smtp_addr">{{ctx.Locale.Tr "install.smtp_addr"}}</label> |
168 |
| - <input id="smtp_addr" name="smtp_addr" value="{{.smtp_addr}}"> |
169 |
| - </div> |
170 |
| - <div class="inline field"> |
171 |
| - <label for="smtp_port">{{ctx.Locale.Tr "install.smtp_port"}}</label> |
172 |
| - <input id="smtp_port" name="smtp_port" value="{{.smtp_port}}"> |
173 |
| - </div> |
174 |
| - <div class="inline field {{if .Err_SMTPFrom}}error{{end}}"> |
175 |
| - <label for="smtp_from">{{ctx.Locale.Tr "install.smtp_from"}}</label> |
176 |
| - <input id="smtp_from" name="smtp_from" value="{{.smtp_from}}"> |
177 |
| - <span class="help">{{ctx.Locale.TrString "install.smtp_from_helper"}}{{/* it contains lt/gt chars*/}}</span> |
178 |
| - </div> |
179 |
| - <div class="inline field {{if .Err_SMTPUser}}error{{end}}"> |
180 |
| - <label for="smtp_user">{{ctx.Locale.Tr "install.mailer_user"}}</label> |
181 |
| - <input id="smtp_user" name="smtp_user" value="{{.smtp_user}}"> |
182 |
| - </div> |
183 |
| - <div class="inline field"> |
184 |
| - <label for="smtp_passwd">{{ctx.Locale.Tr "install.mailer_password"}}</label> |
185 |
| - <input id="smtp_passwd" name="smtp_passwd" type="password" value="{{.smtp_passwd}}"> |
186 |
| - </div> |
187 |
| - <div class="inline field"> |
188 |
| - <div class="ui checkbox"> |
189 |
| - <label>{{ctx.Locale.Tr "install.register_confirm"}}</label> |
190 |
| - <input name="register_confirm" type="checkbox" {{if .register_confirm}}checked{{end}}> |
| 160 | + <div> |
| 161 | + <!-- Email --> |
| 162 | + <details class="optional field"> |
| 163 | + <summary class="right-content tw-py-2{{if .Err_SMTP}} text red{{end}}"> |
| 164 | + {{ctx.Locale.Tr "install.email_title"}} |
| 165 | + </summary> |
| 166 | + <div class="inline field"> |
| 167 | + <label for="smtp_addr">{{ctx.Locale.Tr "install.smtp_addr"}}</label> |
| 168 | + <input id="smtp_addr" name="smtp_addr" value="{{.smtp_addr}}"> |
191 | 169 | </div>
|
192 |
| - </div> |
193 |
| - <div class="inline field"> |
194 |
| - <div class="ui checkbox"> |
195 |
| - <label>{{ctx.Locale.Tr "install.mail_notify"}}</label> |
196 |
| - <input name="mail_notify" type="checkbox" {{if .mail_notify}}checked{{end}}> |
| 170 | + <div class="inline field"> |
| 171 | + <label for="smtp_port">{{ctx.Locale.Tr "install.smtp_port"}}</label> |
| 172 | + <input id="smtp_port" name="smtp_port" value="{{.smtp_port}}"> |
197 | 173 | </div>
|
198 |
| - </div> |
199 |
| - </details> |
| 174 | + <div class="inline field {{if .Err_SMTPFrom}}error{{end}}"> |
| 175 | + <label for="smtp_from">{{ctx.Locale.Tr "install.smtp_from"}}</label> |
| 176 | + <input id="smtp_from" name="smtp_from" value="{{.smtp_from}}"> |
| 177 | + <span class="help">{{ctx.Locale.TrString "install.smtp_from_helper"}}{{/* it contains lt/gt chars*/}}</span> |
| 178 | + </div> |
| 179 | + <div class="inline field {{if .Err_SMTPUser}}error{{end}}"> |
| 180 | + <label for="smtp_user">{{ctx.Locale.Tr "install.mailer_user"}}</label> |
| 181 | + <input id="smtp_user" name="smtp_user" value="{{.smtp_user}}"> |
| 182 | + </div> |
| 183 | + <div class="inline field"> |
| 184 | + <label for="smtp_passwd">{{ctx.Locale.Tr "install.mailer_password"}}</label> |
| 185 | + <input id="smtp_passwd" name="smtp_passwd" type="password" value="{{.smtp_passwd}}"> |
| 186 | + </div> |
| 187 | + <div class="inline field"> |
| 188 | + <div class="ui checkbox"> |
| 189 | + <label>{{ctx.Locale.Tr "install.register_confirm"}}</label> |
| 190 | + <input name="register_confirm" type="checkbox" {{if .register_confirm}}checked{{end}}> |
| 191 | + </div> |
| 192 | + </div> |
| 193 | + <div class="inline field"> |
| 194 | + <div class="ui checkbox"> |
| 195 | + <label>{{ctx.Locale.Tr "install.mail_notify"}}</label> |
| 196 | + <input name="mail_notify" type="checkbox" {{if .mail_notify}}checked{{end}}> |
| 197 | + </div> |
| 198 | + </div> |
| 199 | + </details> |
200 | 200 |
|
201 |
| - <!-- Server and other services --> |
202 |
| - <details class="optional field"> |
203 |
| - <summary class="right-content tw-py-2{{if .Err_Services}} text red{{end}}"> |
204 |
| - {{ctx.Locale.Tr "install.server_service_title"}} |
205 |
| - </summary> |
206 |
| - <div class="inline field"> |
207 |
| - <div class="ui checkbox" id="offline-mode"> |
208 |
| - <label data-tooltip-content="{{ctx.Locale.Tr "install.offline_mode_popup"}}">{{ctx.Locale.Tr "install.offline_mode"}}</label> |
209 |
| - <input name="offline_mode" type="checkbox" {{if .offline_mode}}checked{{end}}> |
| 201 | + <!-- Server and other services --> |
| 202 | + <details class="optional field"> |
| 203 | + <summary class="right-content tw-py-2{{if .Err_Services}} text red{{end}}"> |
| 204 | + {{ctx.Locale.Tr "install.server_service_title"}} |
| 205 | + </summary> |
| 206 | + <div class="inline field"> |
| 207 | + <div class="ui checkbox" id="offline-mode"> |
| 208 | + <label data-tooltip-content="{{ctx.Locale.Tr "install.offline_mode_popup"}}">{{ctx.Locale.Tr "install.offline_mode"}}</label> |
| 209 | + <input name="offline_mode" type="checkbox" {{if .offline_mode}}checked{{end}}> |
| 210 | + </div> |
210 | 211 | </div>
|
211 |
| - </div> |
212 |
| - <div class="inline field"> |
213 |
| - <div class="ui checkbox" id="disable-gravatar"> |
214 |
| - <label data-tooltip-content="{{ctx.Locale.Tr "install.disable_gravatar_popup"}}">{{ctx.Locale.Tr "install.disable_gravatar"}}</label> |
215 |
| - <input name="disable_gravatar" type="checkbox" {{if .disable_gravatar}}checked{{end}}> |
| 212 | + <div class="inline field"> |
| 213 | + <div class="ui checkbox" id="disable-gravatar"> |
| 214 | + <label data-tooltip-content="{{ctx.Locale.Tr "install.disable_gravatar_popup"}}">{{ctx.Locale.Tr "install.disable_gravatar"}}</label> |
| 215 | + <input name="disable_gravatar" type="checkbox" {{if .disable_gravatar}}checked{{end}}> |
| 216 | + </div> |
216 | 217 | </div>
|
217 |
| - </div> |
218 |
| - <div class="inline field"> |
219 |
| - <div class="ui checkbox" id="federated-avatar-lookup"> |
220 |
| - <label data-tooltip-content="{{ctx.Locale.Tr "install.federated_avatar_lookup_popup"}}">{{ctx.Locale.Tr "install.federated_avatar_lookup"}}</label> |
221 |
| - <input name="enable_federated_avatar" type="checkbox" {{if .enable_federated_avatar}}checked{{end}}> |
| 218 | + <div class="inline field"> |
| 219 | + <div class="ui checkbox" id="federated-avatar-lookup"> |
| 220 | + <label data-tooltip-content="{{ctx.Locale.Tr "install.federated_avatar_lookup_popup"}}">{{ctx.Locale.Tr "install.federated_avatar_lookup"}}</label> |
| 221 | + <input name="enable_federated_avatar" type="checkbox" {{if .enable_federated_avatar}}checked{{end}}> |
| 222 | + </div> |
222 | 223 | </div>
|
223 |
| - </div> |
224 |
| - <div class="inline field"> |
225 |
| - <div class="ui checkbox" id="enable-openid-signin"> |
226 |
| - <label data-tooltip-content="{{ctx.Locale.Tr "install.openid_signin_popup"}}">{{ctx.Locale.Tr "install.openid_signin"}}</label> |
227 |
| - <input name="enable_open_id_sign_in" type="checkbox" {{if .enable_open_id_sign_in}}checked{{end}}> |
| 224 | + <div class="inline field"> |
| 225 | + <div class="ui checkbox" id="enable-openid-signin"> |
| 226 | + <label data-tooltip-content="{{ctx.Locale.Tr "install.openid_signin_popup"}}">{{ctx.Locale.Tr "install.openid_signin"}}</label> |
| 227 | + <input name="enable_open_id_sign_in" type="checkbox" {{if .enable_open_id_sign_in}}checked{{end}}> |
| 228 | + </div> |
228 | 229 | </div>
|
229 |
| - </div> |
230 |
| - <div class="inline field"> |
231 |
| - <div class="ui checkbox" id="disable-registration"> |
232 |
| - <label data-tooltip-content="{{ctx.Locale.Tr "install.disable_registration_popup"}}">{{ctx.Locale.Tr "install.disable_registration"}}</label> |
233 |
| - <input name="disable_registration" type="checkbox" {{if .disable_registration}}checked{{end}}> |
| 230 | + <div class="inline field"> |
| 231 | + <div class="ui checkbox" id="disable-registration"> |
| 232 | + <label data-tooltip-content="{{ctx.Locale.Tr "install.disable_registration_popup"}}">{{ctx.Locale.Tr "install.disable_registration"}}</label> |
| 233 | + <input name="disable_registration" type="checkbox" {{if .disable_registration}}checked{{end}}> |
| 234 | + </div> |
234 | 235 | </div>
|
235 |
| - </div> |
236 |
| - <div class="inline field"> |
237 |
| - <div class="ui checkbox" id="allow-only-external-registration"> |
238 |
| - <label data-tooltip-content="{{ctx.Locale.Tr "install.allow_only_external_registration_popup"}}">{{ctx.Locale.Tr "install.allow_only_external_registration_popup"}}</label> |
239 |
| - <input name="allow_only_external_registration" type="checkbox" {{if .allow_only_external_registration}}checked{{end}}> |
| 236 | + <div class="inline field"> |
| 237 | + <div class="ui checkbox" id="allow-only-external-registration"> |
| 238 | + <label data-tooltip-content="{{ctx.Locale.Tr "install.allow_only_external_registration_popup"}}">{{ctx.Locale.Tr "install.allow_only_external_registration_popup"}}</label> |
| 239 | + <input name="allow_only_external_registration" type="checkbox" {{if .allow_only_external_registration}}checked{{end}}> |
| 240 | + </div> |
240 | 241 | </div>
|
241 |
| - </div> |
242 |
| - <div class="inline field"> |
243 |
| - <div class="ui checkbox" id="enable-openid-signup"> |
244 |
| - <label data-tooltip-content="{{ctx.Locale.Tr "install.openid_signup_popup"}}">{{ctx.Locale.Tr "install.openid_signup"}}</label> |
245 |
| - <input name="enable_open_id_sign_up" type="checkbox" {{if .enable_open_id_sign_up}}checked{{end}}> |
| 242 | + <div class="inline field"> |
| 243 | + <div class="ui checkbox" id="enable-openid-signup"> |
| 244 | + <label data-tooltip-content="{{ctx.Locale.Tr "install.openid_signup_popup"}}">{{ctx.Locale.Tr "install.openid_signup"}}</label> |
| 245 | + <input name="enable_open_id_sign_up" type="checkbox" {{if .enable_open_id_sign_up}}checked{{end}}> |
| 246 | + </div> |
246 | 247 | </div>
|
247 |
| - </div> |
248 |
| - <div class="inline field"> |
249 |
| - <div class="ui checkbox" id="enable-captcha"> |
250 |
| - <label data-tooltip-content="{{ctx.Locale.Tr "install.enable_captcha_popup"}}">{{ctx.Locale.Tr "install.enable_captcha"}}</label> |
251 |
| - <input name="enable_captcha" type="checkbox" {{if .enable_captcha}}checked{{end}}> |
| 248 | + <div class="inline field"> |
| 249 | + <div class="ui checkbox" id="enable-captcha"> |
| 250 | + <label data-tooltip-content="{{ctx.Locale.Tr "install.enable_captcha_popup"}}">{{ctx.Locale.Tr "install.enable_captcha"}}</label> |
| 251 | + <input name="enable_captcha" type="checkbox" {{if .enable_captcha}}checked{{end}}> |
| 252 | + </div> |
252 | 253 | </div>
|
253 |
| - </div> |
254 |
| - <div class="inline field"> |
255 |
| - <div class="ui checkbox"> |
256 |
| - <label data-tooltip-content="{{ctx.Locale.Tr "install.require_sign_in_view_popup"}}">{{ctx.Locale.Tr "install.require_sign_in_view"}}</label> |
257 |
| - <input name="require_sign_in_view" type="checkbox" {{if .require_sign_in_view}}checked{{end}}> |
| 254 | + <div class="inline field"> |
| 255 | + <div class="ui checkbox"> |
| 256 | + <label data-tooltip-content="{{ctx.Locale.Tr "install.require_sign_in_view_popup"}}">{{ctx.Locale.Tr "install.require_sign_in_view"}}</label> |
| 257 | + <input name="require_sign_in_view" type="checkbox" {{if .require_sign_in_view}}checked{{end}}> |
| 258 | + </div> |
258 | 259 | </div>
|
259 |
| - </div> |
260 |
| - <div class="inline field"> |
261 |
| - <div class="ui checkbox"> |
262 |
| - <label data-tooltip-content="{{ctx.Locale.Tr "install.default_keep_email_private_popup"}}">{{ctx.Locale.Tr "install.default_keep_email_private"}}</label> |
263 |
| - <input name="default_keep_email_private" type="checkbox" {{if .default_keep_email_private}}checked{{end}}> |
| 260 | + <div class="inline field"> |
| 261 | + <div class="ui checkbox"> |
| 262 | + <label data-tooltip-content="{{ctx.Locale.Tr "install.default_keep_email_private_popup"}}">{{ctx.Locale.Tr "install.default_keep_email_private"}}</label> |
| 263 | + <input name="default_keep_email_private" type="checkbox" {{if .default_keep_email_private}}checked{{end}}> |
| 264 | + </div> |
264 | 265 | </div>
|
265 |
| - </div> |
266 |
| - <div class="inline field"> |
267 |
| - <div class="ui checkbox"> |
268 |
| - <label data-tooltip-content="{{ctx.Locale.Tr "install.default_allow_create_organization_popup"}}">{{ctx.Locale.Tr "install.default_allow_create_organization"}}</label> |
269 |
| - <input name="default_allow_create_organization" type="checkbox" {{if .default_allow_create_organization}}checked{{end}}> |
| 266 | + <div class="inline field"> |
| 267 | + <div class="ui checkbox"> |
| 268 | + <label data-tooltip-content="{{ctx.Locale.Tr "install.default_allow_create_organization_popup"}}">{{ctx.Locale.Tr "install.default_allow_create_organization"}}</label> |
| 269 | + <input name="default_allow_create_organization" type="checkbox" {{if .default_allow_create_organization}}checked{{end}}> |
| 270 | + </div> |
270 | 271 | </div>
|
271 |
| - </div> |
272 |
| - <div class="inline field"> |
273 |
| - <div class="ui checkbox"> |
274 |
| - <label data-tooltip-content="{{ctx.Locale.Tr "install.default_enable_timetracking_popup"}}">{{ctx.Locale.Tr "install.default_enable_timetracking"}}</label> |
275 |
| - <input name="default_enable_timetracking" type="checkbox" {{if .default_enable_timetracking}}checked{{end}}> |
| 272 | + <div class="inline field"> |
| 273 | + <div class="ui checkbox"> |
| 274 | + <label data-tooltip-content="{{ctx.Locale.Tr "install.default_enable_timetracking_popup"}}">{{ctx.Locale.Tr "install.default_enable_timetracking"}}</label> |
| 275 | + <input name="default_enable_timetracking" type="checkbox" {{if .default_enable_timetracking}}checked{{end}}> |
| 276 | + </div> |
276 | 277 | </div>
|
277 |
| - </div> |
278 |
| - <div class="inline field"> |
279 |
| - <label for="no_reply_address">{{ctx.Locale.Tr "install.no_reply_address"}}</label> |
280 |
| - <input id="_no_reply_address" name="no_reply_address" value="{{.no_reply_address}}"> |
281 |
| - <span class="help">{{ctx.Locale.Tr "install.no_reply_address_helper"}}</span> |
282 |
| - </div> |
283 |
| - <div class="inline field"> |
284 |
| - <label for="password_algorithm">{{ctx.Locale.Tr "install.password_algorithm"}}</label> |
285 |
| - <div class="ui selection dropdown"> |
286 |
| - <input id="password_algorithm" type="hidden" name="password_algorithm" value="{{.password_algorithm}}"> |
287 |
| - <div class="text">{{.password_algorithm}}</div> |
288 |
| - {{svg "octicon-triangle-down" 14 "dropdown icon"}} |
289 |
| - <div class="menu"> |
290 |
| - {{range .PasswordHashAlgorithms}} |
291 |
| - <div class="item" data-value="{{.}}">{{.}}</div> |
292 |
| - {{end}} |
| 278 | + <div class="inline field"> |
| 279 | + <label for="no_reply_address">{{ctx.Locale.Tr "install.no_reply_address"}}</label> |
| 280 | + <input id="_no_reply_address" name="no_reply_address" value="{{.no_reply_address}}"> |
| 281 | + <span class="help">{{ctx.Locale.Tr "install.no_reply_address_helper"}}</span> |
| 282 | + </div> |
| 283 | + <div class="inline field"> |
| 284 | + <label for="password_algorithm">{{ctx.Locale.Tr "install.password_algorithm"}}</label> |
| 285 | + <div class="ui selection dropdown"> |
| 286 | + <input id="password_algorithm" type="hidden" name="password_algorithm" value="{{.password_algorithm}}"> |
| 287 | + <div class="text">{{.password_algorithm}}</div> |
| 288 | + {{svg "octicon-triangle-down" 14 "dropdown icon"}} |
| 289 | + <div class="menu"> |
| 290 | + {{range .PasswordHashAlgorithms}} |
| 291 | + <div class="item" data-value="{{.}}">{{.}}</div> |
| 292 | + {{end}} |
| 293 | + </div> |
293 | 294 | </div>
|
| 295 | + <span class="help">{{ctx.Locale.Tr "install.password_algorithm_helper"}}</span> |
294 | 296 | </div>
|
295 |
| - <span class="help">{{ctx.Locale.Tr "install.password_algorithm_helper"}}</span> |
296 |
| - </div> |
297 |
| - </details> |
| 297 | + </details> |
298 | 298 |
|
299 |
| - <!-- Admin --> |
300 |
| - <details class="optional field"> |
301 |
| - <summary class="right-content tw-py-2{{if .Err_Admin}} text red{{end}}"> |
302 |
| - {{ctx.Locale.Tr "install.admin_title"}} |
303 |
| - </summary> |
304 |
| - <p class="center">{{ctx.Locale.Tr "install.admin_setting_desc"}}</p> |
305 |
| - <div class="inline field {{if .Err_AdminName}}error{{end}}"> |
306 |
| - <label for="admin_name">{{ctx.Locale.Tr "install.admin_name"}}</label> |
307 |
| - <input id="admin_name" name="admin_name" value="{{.admin_name}}"> |
308 |
| - </div> |
309 |
| - <div class="inline field {{if .Err_AdminEmail}}error{{end}}"> |
310 |
| - <label for="admin_email">{{ctx.Locale.Tr "install.admin_email"}}</label> |
311 |
| - <input id="admin_email" name="admin_email" type="email" value="{{.admin_email}}"> |
312 |
| - </div> |
313 |
| - <div class="inline field {{if .Err_AdminPasswd}}error{{end}}"> |
314 |
| - <label for="admin_passwd">{{ctx.Locale.Tr "install.admin_password"}}</label> |
315 |
| - <input id="admin_passwd" name="admin_passwd" type="password" autocomplete="new-password" value="{{.admin_passwd}}"> |
316 |
| - </div> |
317 |
| - <div class="inline field {{if .Err_AdminPasswd}}error{{end}}"> |
318 |
| - <label for="admin_confirm_passwd">{{ctx.Locale.Tr "install.confirm_password"}}</label> |
319 |
| - <input id="admin_confirm_passwd" name="admin_confirm_passwd" autocomplete="new-password" type="password" value="{{.admin_confirm_passwd}}"> |
320 |
| - </div> |
321 |
| - </details> |
| 299 | + <!-- Admin --> |
| 300 | + <details class="optional field"> |
| 301 | + <summary class="right-content tw-py-2{{if .Err_Admin}} text red{{end}}"> |
| 302 | + {{ctx.Locale.Tr "install.admin_title"}} |
| 303 | + </summary> |
| 304 | + <p class="center">{{ctx.Locale.Tr "install.admin_setting_desc"}}</p> |
| 305 | + <div class="inline field {{if .Err_AdminName}}error{{end}}"> |
| 306 | + <label for="admin_name">{{ctx.Locale.Tr "install.admin_name"}}</label> |
| 307 | + <input id="admin_name" name="admin_name" value="{{.admin_name}}"> |
| 308 | + </div> |
| 309 | + <div class="inline field {{if .Err_AdminEmail}}error{{end}}"> |
| 310 | + <label for="admin_email">{{ctx.Locale.Tr "install.admin_email"}}</label> |
| 311 | + <input id="admin_email" name="admin_email" type="email" value="{{.admin_email}}"> |
| 312 | + </div> |
| 313 | + <div class="inline field {{if .Err_AdminPasswd}}error{{end}}"> |
| 314 | + <label for="admin_passwd">{{ctx.Locale.Tr "install.admin_password"}}</label> |
| 315 | + <input id="admin_passwd" name="admin_passwd" type="password" autocomplete="new-password" value="{{.admin_passwd}}"> |
| 316 | + </div> |
| 317 | + <div class="inline field {{if .Err_AdminPasswd}}error{{end}}"> |
| 318 | + <label for="admin_confirm_passwd">{{ctx.Locale.Tr "install.confirm_password"}}</label> |
| 319 | + <input id="admin_confirm_passwd" name="admin_confirm_passwd" autocomplete="new-password" type="password" value="{{.admin_confirm_passwd}}"> |
| 320 | + </div> |
| 321 | + </details> |
| 322 | + </div> |
| 323 | + |
| 324 | + <div class="divider"></div> |
322 | 325 |
|
323 | 326 | {{if .EnvConfigKeys}}
|
324 | 327 | <!-- Environment Config -->
|
|
333 | 336 | </div>
|
334 | 337 | {{end}}
|
335 | 338 |
|
336 |
| - <div class="divider"></div> |
337 | 339 | <div class="inline field">
|
338 | 340 | <div class="right-content">
|
339 | 341 | These configuration options will be written into: {{.CustomConfFile}}
|
340 | 342 | </div>
|
341 |
| - <div class="right-content tw-mt-2"> |
| 343 | + <div class="tw-mt-4 tw-mb-2 tw-text-center"> |
342 | 344 | <button class="ui primary button">{{ctx.Locale.Tr "install.install_btn_confirm"}}</button>
|
343 | 345 | </div>
|
344 | 346 | </div>
|
|
0 commit comments