blob: 646c79102c2d8178545863c23a66b6bce6a1f087 [file] [log] [blame]
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +01001<div role="tabpanel" class="tab-pane fade in active show" id="tab-user-auth" role="tabpanel" aria-labelledby="tab-user-auth">
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>
7 <span class="d-none d-md-block">{{ lang.user.mailbox_general }}
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 Benkard12a57352021-12-28 18:02:04 +010013 {% 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 Benkard1ba53812022-12-27 17:32:58 +010017 {% 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 Benkard12a57352021-12-28 18:02:04 +010019 <i class="bi bi-inbox-fill"></i> {{ lang.user.open_webmail_sso }}
20 </button>
21 {% else %}
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010022 <a target="_blank" href="/sogo-auth.php?login={{ mailcow_cc_username }}" role="button" class="btn btn-secondary btn-block btn-xs-lg">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010023 <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 Benkard1ba53812022-12-27 17:32:58 +010030 <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 Benkard12a57352021-12-28 18:02:04 +010038 </div>
39 </div>
40 <hr>
41 {% endif %}
42 <div class="row">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010043 <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 Benkard12a57352021-12-28 18:02:04 +010045 <div class="progress">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010046 <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 Benkard12a57352021-12-28 18:02:04 +010047 {{ 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 Benkard1ba53812022-12-27 17:32:58 +010052 <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 Benkard12a57352021-12-28 18:02:04 +010074 </div>
75 </div>
76 <hr>
77 {# FIDO2 #}
78 <div class="row">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010079 <div class="col-sm-3 col-12 text-sm-end text-start">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010080 <p><i class="bi bi-shield-fill-check"></i> {{ lang.fido2.fido2_auth }}</p>
81 </div>
82 </div>
83 <div class="row">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010084 <div class="col-sm-3 col-12 text-sm-end text-start mb-4">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010085 {{ lang.fido2.known_ids }}:
86 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +010087 <div class="col-sm-9 col-12">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +010088 <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 Benkard1ba53812022-12-27 17:32:58 +0100101 <div class="offset-sm-3 col-sm-9">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100102 <div class="btn-group nowrap">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100103 <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 Benkard12a57352021-12-28 18:02:04 +0100105 <ul class="dropdown-menu">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100106 <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 Benkard12a57352021-12-28 18:02:04 +0100107 </ul>
108 </div>
109 </div>
110 </div>
111 <br>
112 <div class="row" id="status-fido2">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100113 <div class="col-sm-3 col-5 text-end">{{ lang.fido2.register_status }}:</div>
114 <div class="col-sm-9 col-7">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100115 <div id="fido2-alerts">-</div>
116 </div>
117 <br>
118 </div>
119 <hr>
120 <div class="row">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100121 <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 Benkard12a57352021-12-28 18:02:04 +0100123 <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 Benkard1ba53812022-12-27 17:32:58 +0100124 <p class="text-muted">{{ lang.user.apple_connection_profile_mailonly }}</p>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100125 {% 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 Benkard1ba53812022-12-27 17:32:58 +0100127 <p class="text-muted">{{ lang.user.apple_connection_profile_complete }}</p>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100128 {% endif %}
129 </div>
130 </div>
131 <div class="row">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100132 <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 />{{ lang.user.with_app_password }}:</div>
133 <div class="col-md-9 col-12">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100134 <p><i class="bi bi-file-earmark-post"></i> <a href="/mobileconfig.php?only_email&amp;app_password">{{ lang.user.email }}</a> <small>IMAP, SMTP</small></p>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100135 <p class="text-muted">{{ lang.user.apple_connection_profile_mailonly }} {{ lang.user.apple_connection_profile_with_app_password }}</p>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100136 {% 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 Benkard1ba53812022-12-27 17:32:58 +0100138 <p class="text-muted">{{ lang.user.apple_connection_profile_complete }} {{ lang.user.apple_connection_profile_with_app_password }}</p>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100139 {% endif %}
140 </div>
141 </div>
142 <hr>
143 <div class="row">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100144 <div class="offset-sm-3 col-sm-9">
145 <p><a target="_blank" href="https://mailcow.github.io/mailcow-dockerized-docs/client/client/#{{ clientconfigstr }}">[{{ lang.user.client_configuration }}]</a></p>
146 <p><a href="#userFilterModal" data-bs-toggle="modal">[{{ lang.user.show_sieve_filters }}]</a></p>
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100147 <hr>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100148 <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 Benkard12a57352021-12-28 18:02:04 +0100151 <ul class="dropdown-menu">
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100152 <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 Benkard12a57352021-12-28 18:02:04 +0100156 </ul>
157 </div>
Matthias Andreas Benkard1ba53812022-12-27 17:32:58 +0100158 <div class="last-login mt-4"></div>
159 <span class="clear-last-logins mt-2">
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +0100160 {{ lang.user.clear_recent_successful_connections }}
161 </span>
162 </div>
163 </div>
164 </div>
165 </div>
166</div>