Matthias Andreas Benkard | d1f5b68 | 2023-11-18 13:18:30 +0100 | [diff] [blame] | 1 | <div class="tab-pane fade in active show" id="tab-user-auth" role="tabpanel" aria-labelledby="tab-user-auth"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 2 | <div class="card mb-4"> |
| 3 | <div class="card-header d-flex fs-5"> |
| 4 | <button class="btn d-md-none flex-grow-1 text-start" data-bs-target="#collapse-tab-user-auth" data-bs-toggle="collapse" aria-controls="collapse-tab-user-auth"> |
| 5 | {{ lang.user.mailbox_general }} |
| 6 | </button> |
Matthias Andreas Benkard | d1f5b68 | 2023-11-18 13:18:30 +0100 | [diff] [blame] | 7 | <span class="d-none d-md-block">{{ lang.user.mailbox_general }}</span> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 8 | </div> |
| 9 | <div id="collapse-tab-user-auth" class="card-body collapse" data-bs-parent="#user-content"> |
| 10 | {% if mailboxdata.attributes.force_pw_update == '1' %} |
| 11 | <div class="alert alert-danger">{{ lang.user.force_pw_update|raw }}</div> |
| 12 | {% endif %} |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 13 | {% if not skip_sogo %} |
| 14 | <div class="row"> |
| 15 | <div class="hidden-xs col-md-3 col-xs-5 text-right"></div> |
| 16 | <div class="col-md-3 col-xs-12"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 17 | {% if dual_login and allow_admin_email_login == 'n' or mailboxdata.attributes.force_pw_update == '1' %} |
| 18 | <button disabled class="btn btn-secondary btn-block btn-xs-lg"> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 19 | <i class="bi bi-inbox-fill"></i> {{ lang.user.open_webmail_sso }} |
| 20 | </button> |
| 21 | {% else %} |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 22 | <a target="_blank" href="/sogo-auth.php?login={{ mailcow_cc_username }}" role="button" class="btn btn-secondary btn-block btn-xs-lg"> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 23 | <i class="bi bi-inbox-fill"></i> {{ lang.user.open_webmail_sso }} |
| 24 | </a> |
| 25 | {% endif %} |
| 26 | </div> |
| 27 | </div> |
| 28 | <hr> |
| 29 | <div class="row"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 30 | <div class="d-none d-sm-flex col-md-3 col-5 text-end"></div> |
| 31 | <div class="col-md-9 col-12"> |
| 32 | <p class="text-muted text-muted-mt-0">{{ lang.user.direct_protocol_access|raw }}</p> |
| 33 | {% if mailboxdata.attributes.imap_access == 1 %}<div class="badge fs-6 bg-success mb-2">IMAP <i class="bi bi-check-lg"></i></div>{% else %}<div class="badge fs-6 bg-danger">IMAP <i class="bi bi-x-lg"></i></div>{% endif %} |
| 34 | {% if mailboxdata.attributes.smtp_access == 1 %}<div class="badge fs-6 bg-success mb-2">SMTP <i class="bi bi-check-lg"></i></div>{% else %}<div class="badge fs-6 bg-danger">SMTP <i class="bi bi-x-lg"></i></div>{% endif %} |
| 35 | {% if mailboxdata.attributes.sieve_access == 1 %}<div class="badge fs-6 bg-success mb-2">Sieve <i class="bi bi-check-lg"></i></div>{% else %}<div class="badge fs-6 bg-danger">Sieve <i class="bi bi-x-lg"></i></div>{% endif %} |
| 36 | {% if mailboxdata.attributes.pop3_access == 1 %}<div class="badge fs-6 bg-success mb-2">POP3 <i class="bi bi-check-lg"></i></div>{% else %}<div class="badge fs-6 bg-danger">POP3 <i class="bi bi-x-lg"></i></div>{% endif %} |
| 37 | {% if mailboxdata.attributes.sogo_access == 1 %}<div class="badge fs-6 bg-success mb-2">SOGo <i class="bi bi-check-lg"></i></div>{% else %}<div class="badge fs-6 bg-danger">SOGo <i class="bi bi-x-lg"></i></div>{% endif %} |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 38 | </div> |
| 39 | </div> |
| 40 | <hr> |
| 41 | {% endif %} |
| 42 | <div class="row"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 43 | <div class="col-md-3 col-12 text-sm-end text-start mb-4">{{ lang.user.in_use }}:</div> |
| 44 | <div class="col-md-5 col-12"> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 45 | <div class="progress"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 46 | <div class="progress-bar bg-{{ mailboxdata.percent_class }}" role="progressbar" aria-valuenow="{{ mailboxdata.percent_in_use }}" aria-valuemin="0" aria-valuemax="100" style="min-width:2em;width: {{ mailboxdata.percent_in_use }}%;"> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 47 | {{ mailboxdata.percent_in_use }}% |
| 48 | </div> |
| 49 | </div> |
| 50 | <p>{{ mailboxdata.quota_used|formatBytes(2) }} / {% if mailboxdata.quota == 0 %}∞{% else %}{{ mailboxdata.quota|formatBytes(2) }}{% endif %}<br>{{ mailboxdata.messages }} {{ lang.user.messages }}</p> |
| 51 | <hr> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 52 | <p><a href="#pwChangeModal" data-bs-toggle="modal"><i class="bi bi-pencil-fill"></i> {{ lang.user.change_password }}</a></p> |
| 53 | </div> |
| 54 | </div> |
| 55 | <hr> |
| 56 | {# TFA #} |
| 57 | <div class="row"> |
| 58 | <div class="col-sm-3 col-xs-5 text-right">{{ lang.tfa.tfa }}:</div> |
| 59 | <div class="col-sm-9 col-xs-7"> |
| 60 | <p id="tfa_pretty">{{ tfa_data.pretty }}</p> |
| 61 | {% include 'tfa_keys.twig' %} |
| 62 | <br> |
| 63 | </div> |
| 64 | </div> |
| 65 | <div class="row"> |
| 66 | <div class="col-sm-3 col-xs-5 text-right">{{ lang.tfa.set_tfa }}:</div> |
| 67 | <div class="col-sm-9 col-xs-7"> |
| 68 | <select data-style="btn btn-sm dropdown-toggle bs-placeholder btn-secondary" data-width="fit" id="selectTFA" class="selectpicker" title="{{ lang.tfa.select }}"> |
| 69 | <option value="yubi_otp">{{ lang.tfa.yubi_otp }}</option> |
| 70 | <option value="webauthn">{{ lang.tfa.webauthn }}</option> |
| 71 | <option value="totp">{{ lang.tfa.totp }}</option> |
| 72 | <option value="none">{{ lang.tfa.none }}</option> |
| 73 | </select> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 74 | </div> |
| 75 | </div> |
| 76 | <hr> |
| 77 | {# FIDO2 #} |
| 78 | <div class="row"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 79 | <div class="col-sm-3 col-12 text-sm-end text-start"> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 80 | <p><i class="bi bi-shield-fill-check"></i> {{ lang.fido2.fido2_auth }}</p> |
| 81 | </div> |
| 82 | </div> |
| 83 | <div class="row"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 84 | <div class="col-sm-3 col-12 text-sm-end text-start mb-4"> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 85 | {{ lang.fido2.known_ids }}: |
| 86 | </div> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 87 | <div class="col-sm-9 col-12"> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 88 | <div class="table-responsive"> |
| 89 | <table class="table table-striped table-hover table-condensed" id="fido2_keys"> |
| 90 | <tr> |
| 91 | <th>ID</th> |
| 92 | <th style="min-width:240px;text-align: right">{{ lang.admin.action }}</th> |
| 93 | </tr> |
| 94 | {% include 'fido2.twig' %} |
| 95 | </table> |
| 96 | </div> |
| 97 | <br> |
| 98 | </div> |
| 99 | </div> |
| 100 | <div class="row"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 101 | <div class="offset-sm-3 col-sm-9"> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 102 | <div class="btn-group nowrap"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 103 | <button class="btn btn-sm btn-primary d-block d-sm-inline" id="register-fido2">{{ lang.fido2.set_fido2 }}</button> |
| 104 | <button type="button" class="btn btn-sm btn-xs-lg btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></button> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 105 | <ul class="dropdown-menu"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 106 | <li><a class="dropdown-item" href="#" id="register-fido2-touchid"><i class="bi bi-apple"></i> {{ lang.fido2.set_fido2_touchid }}</a></li> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 107 | </ul> |
| 108 | </div> |
| 109 | </div> |
| 110 | </div> |
| 111 | <br> |
| 112 | <div class="row" id="status-fido2"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 113 | <div class="col-sm-3 col-5 text-end">{{ lang.fido2.register_status }}:</div> |
| 114 | <div class="col-sm-9 col-7"> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 115 | <div id="fido2-alerts">-</div> |
| 116 | </div> |
| 117 | <br> |
| 118 | </div> |
| 119 | <hr> |
| 120 | <div class="row"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 121 | <div class="col-md-3 col-12 text-sm-end text-start mb-4"><i class="bi bi-file-earmark-text"></i> {{ lang.user.apple_connection_profile }}:</div> |
| 122 | <div class="col-md-9 col-12"> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 123 | <p><i class="bi bi-file-earmark-post"></i> <a href="/mobileconfig.php?only_email">{{ lang.user.email }}</a> <small>IMAP, SMTP</small></p> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 124 | <p class="text-muted">{{ lang.user.apple_connection_profile_mailonly }}</p> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 125 | {% if not skip_sogo %} |
| 126 | <p><i class="bi bi-file-earmark-post"></i> <a href="/mobileconfig.php">{{ lang.user.email_and_dav }}</a> <small>IMAP, SMTP, Cal/CardDAV</small></p> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 127 | <p class="text-muted">{{ lang.user.apple_connection_profile_complete }}</p> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 128 | {% endif %} |
| 129 | </div> |
| 130 | </div> |
| 131 | <div class="row"> |
Matthias Andreas Benkard | d1f5b68 | 2023-11-18 13:18:30 +0100 | [diff] [blame] | 132 | <div class="col-md-3 col-12 text-sm-end text-start mb-4"><i class="bi bi-file-earmark-text"></i> {{ lang.user.apple_connection_profile }}<br class="d-none d-lg-block" />{{ lang.user.with_app_password }}:</div> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 133 | <div class="col-md-9 col-12"> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 134 | <p><i class="bi bi-file-earmark-post"></i> <a href="/mobileconfig.php?only_email&app_password">{{ lang.user.email }}</a> <small>IMAP, SMTP</small></p> |
Matthias Andreas Benkard | d1f5b68 | 2023-11-18 13:18:30 +0100 | [diff] [blame] | 135 | <p class="text-muted">{{ lang.user.apple_connection_profile_mailonly }}<br /> {{ lang.user.apple_connection_profile_with_app_password }}</p> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 136 | {% if not skip_sogo %} |
| 137 | <p><i class="bi bi-file-earmark-post"></i> <a href="/mobileconfig.php?app_password">{{ lang.user.email_and_dav }}</a> <small>IMAP, SMTP, Cal/CardDAV</small></p> |
Matthias Andreas Benkard | d1f5b68 | 2023-11-18 13:18:30 +0100 | [diff] [blame] | 138 | <p class="text-muted">{{ lang.user.apple_connection_profile_complete }}<br /> {{ lang.user.apple_connection_profile_with_app_password }}</p> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 139 | {% endif %} |
| 140 | </div> |
| 141 | </div> |
| 142 | <hr> |
| 143 | <div class="row"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 144 | <div class="offset-sm-3 col-sm-9"> |
Matthias Andreas Benkard | d1f5b68 | 2023-11-18 13:18:30 +0100 | [diff] [blame] | 145 | <p><a target="_blank" href="https://docs.mailcow.email/client/client/#{{ clientconfigstr }}">[{{ lang.user.client_configuration }}]</a></p> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 146 | <p><a href="#userFilterModal" data-bs-toggle="modal">[{{ lang.user.show_sieve_filters }}]</a></p> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 147 | <hr> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 148 | <h4 class="recent-login-success">{{ lang.user.recent_successful_connections }}</h4> |
| 149 | <div class="dropdown mt-2"> |
| 150 | <button class="btn btn-secondary btn-xs btn-xs-lg dropdown-toggle" type="button" id="history_sasl_days" data-bs-toggle="dropdown">{{ lang.user.login_history }}</button> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 151 | <ul class="dropdown-menu"> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 152 | <li class="login-history" data-days="1"><a class="dropdown-item" href="#">1 {{ lang.user.day }}</a></li> |
| 153 | <li class="login-history" data-days="7"><a class="dropdown-item active" href="#">1 {{ lang.user.week }}</a></li> |
| 154 | <li class="login-history" data-days="14"><a class="dropdown-item" href="#">2 {{ lang.user.weeks }}</a></li> |
| 155 | <li class="login-history" data-days="31"><a class="dropdown-item" href="#">1 {{ lang.user.month }}</a></li> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 156 | </ul> |
| 157 | </div> |
Matthias Andreas Benkard | 1ba5381 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 158 | <div class="last-login mt-4"></div> |
| 159 | <span class="clear-last-logins mt-2"> |
Matthias Andreas Benkard | 12a5735 | 2021-12-28 18:02:04 +0100 | [diff] [blame] | 160 | {{ lang.user.clear_recent_successful_connections }} |
| 161 | </span> |
| 162 | </div> |
| 163 | </div> |
| 164 | </div> |
| 165 | </div> |
| 166 | </div> |