4.40.1
This commit is contained in:
@ -88,45 +88,6 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- END Current plan -->
|
||||
<!-- TOTP -->
|
||||
<div class="card" id="totp">
|
||||
<div class="card-body">
|
||||
<div class="card-title">Two Factor Authentication</div>
|
||||
<div class="mb-3">
|
||||
Secure your account with 2FA, you'll be asked for a code generated through an app when you login.
|
||||
<br />
|
||||
</div>
|
||||
{% if not current_user.enable_otp %}
|
||||
|
||||
<a href="{{ url_for('dashboard.mfa_setup') }}"
|
||||
class="btn btn-outline-primary">Setup TOTP</a>
|
||||
{% else %}
|
||||
<a href="{{ url_for('dashboard.mfa_cancel') }}"
|
||||
class="btn btn-outline-danger">Disable TOTP</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<!-- END TOTP -->
|
||||
<!-- WebAuthn -->
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title">Security Key (WebAuthn)</div>
|
||||
<div class="mb-3">
|
||||
You can secure your account by linking either your FIDO-supported physical key such as Yubikey, Google
|
||||
Titan,
|
||||
or a device with appropriate hardware to your account.
|
||||
</div>
|
||||
{% if current_user.fido_uuid is none %}
|
||||
|
||||
<a href="{{ url_for('dashboard.fido_setup') }}"
|
||||
class="btn btn-outline-primary">Setup WebAuthn</a>
|
||||
{% else %}
|
||||
<a href="{{ url_for('dashboard.fido_manage') }}"
|
||||
class="btn btn-outline-info">Manage WebAuthn</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<!-- END WebAuthn -->
|
||||
<!-- Newsletter -->
|
||||
<div class="card" id="notification">
|
||||
<div class="card-body">
|
||||
@ -179,52 +140,6 @@
|
||||
</form>
|
||||
</div>
|
||||
<!-- END change name & profile picture -->
|
||||
<!-- Change email -->
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="form-name" value="update-email">
|
||||
{{ change_email_form.csrf_token }}
|
||||
<div class="card-title">Account Email</div>
|
||||
<div class="mb-3">
|
||||
This email address is used to log in to SimpleLogin.
|
||||
<br />
|
||||
If you want to change the mailbox that emails are forwarded to, use the
|
||||
<a href="{{ url_for('dashboard.mailbox_route') }}">
|
||||
<i class="fe fe-inbox"></i> Mailboxes page
|
||||
</a>
|
||||
instead.
|
||||
</div>
|
||||
<div class="form-group mt-2">
|
||||
<!-- Not allow user to change email if there's a pending change -->
|
||||
{{ change_email_form.email(class="form-control", value=current_user.email, readonly=pending_email != None) }}
|
||||
{{ render_field_errors(change_email_form.email) }}
|
||||
</div>
|
||||
<button class="btn btn-outline-primary">Change Email</button>
|
||||
</form>
|
||||
{% if pending_email %}
|
||||
|
||||
<div class="mt-2">
|
||||
<span class="text-danger float-left">Pending email change: {{ pending_email }}</span>
|
||||
<form method="POST"
|
||||
action="{{ url_for('dashboard.resend_email_change') }}"
|
||||
class="float-left ml-2">
|
||||
{{ change_email_form.csrf_token }}
|
||||
<a onclick="this.closest('form').submit()"
|
||||
class="btn btn-secondary btn-sm">Resend confirmation email</a>
|
||||
</form>
|
||||
<form method="POST"
|
||||
action="{{ url_for('dashboard.cancel_email_change') }}"
|
||||
class="float-left ml-2">
|
||||
{{ change_email_form.csrf_token }}
|
||||
<a onclick="this.closest('form').submit()"
|
||||
class="btn btn-secondary btn-sm">Cancel email change</a>
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<!-- END Change email -->
|
||||
<!-- Connect with Proton -->
|
||||
{% if connect_with_proton %}
|
||||
|
||||
@ -265,32 +180,11 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
<!-- END Connect with Proton -->
|
||||
<!-- Change password -->
|
||||
<div class="card" id="change_password">
|
||||
<div class="card-body">
|
||||
<div class="card-title">Password</div>
|
||||
<div class="mb-3">
|
||||
You will receive an email containing instructions on how to change your password.
|
||||
</div>
|
||||
<form method="post">
|
||||
{{ csrf_form.csrf_token }}
|
||||
<input type="hidden" name="form-name" value="change-password">
|
||||
<button class="btn btn-outline-primary">
|
||||
Change password
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END Change password -->
|
||||
<!-- Random alias -->
|
||||
<div id="random-alias" class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title">
|
||||
Aliases
|
||||
</div>
|
||||
<div class="mt-3 mb-1">
|
||||
Change the way random aliases are generated by default.
|
||||
</div>
|
||||
<div class="card-title">Aliases</div>
|
||||
<div class="mt-3 mb-1">Change the way random aliases are generated by default.</div>
|
||||
<form method="post" action="#random-alias" class="form-inline">
|
||||
{{ csrf_form.csrf_token }}
|
||||
<input type="hidden" name="form-name" value="change-alias-generator">
|
||||
@ -306,13 +200,9 @@
|
||||
on {{ AliasGeneratorEnum.uuid.name.upper() }}
|
||||
</option>
|
||||
</select>
|
||||
<button class="btn btn-outline-primary">
|
||||
Update
|
||||
</button>
|
||||
<button class="btn btn-outline-primary">Update</button>
|
||||
</form>
|
||||
<div class="mt-3 mb-1">
|
||||
Select the default domain for aliases.
|
||||
</div>
|
||||
<div class="mt-3 mb-1">Select the default domain for aliases.</div>
|
||||
<form method="post" action="#random-alias" class="form-inline">
|
||||
{{ csrf_form.csrf_token }}
|
||||
<input type="hidden"
|
||||
@ -338,13 +228,9 @@
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button class="btn btn-outline-primary">
|
||||
Update
|
||||
</button>
|
||||
<button class="btn btn-outline-primary">Update</button>
|
||||
</form>
|
||||
<div id="random-alias-suffix" class="mt-3 mb-1">
|
||||
Select the default suffix generator for aliases.
|
||||
</div>
|
||||
<div id="random-alias-suffix" class="mt-3 mb-1">Select the default suffix generator for aliases.</div>
|
||||
<form method="post" action="#random-alias-suffix" class="form-inline">
|
||||
{{ csrf_form.csrf_token }}
|
||||
<input type="hidden" name="form-name" value="random-alias-suffix">
|
||||
@ -358,9 +244,7 @@
|
||||
Random combination of {{ ALIAS_RAND_SUFFIX_LENGTH }} letter and digits
|
||||
</option>
|
||||
</select>
|
||||
<button class="btn btn-outline-primary">
|
||||
Update
|
||||
</button>
|
||||
<button class="btn btn-outline-primary">Update</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@ -368,9 +252,7 @@
|
||||
<!-- Sender Format -->
|
||||
<div class="card" id="sender-format">
|
||||
<div class="card-body">
|
||||
<div class="card-title">
|
||||
Sender Address Format
|
||||
</div>
|
||||
<div class="card-title">Sender Address Format</div>
|
||||
<div class="mt-1 mb-3">
|
||||
When your alias receives an email, say from: <b>John Wick <john@wick.com></b>,
|
||||
SimpleLogin forwards it to your mailbox.
|
||||
@ -403,9 +285,7 @@
|
||||
No Name (i.e. only reverse-alias)
|
||||
</option>
|
||||
</select>
|
||||
<button class="btn btn-outline-primary mt-3">
|
||||
Update
|
||||
</button>
|
||||
<button class="btn btn-outline-primary mt-3">Update</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@ -415,9 +295,7 @@
|
||||
<div class="card-body">
|
||||
<div class="card-title">
|
||||
Reverse Alias Replacement
|
||||
<div class="badge badge-warning">
|
||||
Experimental
|
||||
</div>
|
||||
<div class="badge badge-warning">Experimental</div>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
When replying to a forwarded email, the <b>reverse-alias</b> can be automatically included
|
||||
@ -434,13 +312,9 @@
|
||||
name="replace-ra"
|
||||
{% if current_user.replace_reverse_alias %} checked{% endif %}
|
||||
class="form-check-input">
|
||||
<label for="replace-ra">
|
||||
Enable replacing reverse alias
|
||||
</label>
|
||||
<label for="replace-ra">Enable replacing reverse alias</label>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-outline-primary">
|
||||
Update
|
||||
</button>
|
||||
<button type="submit" class="btn btn-outline-primary">Update</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@ -709,62 +583,6 @@
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title">
|
||||
Alias import/export
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
You can import your aliases created on other platforms into SimpleLogin.
|
||||
You can also export your aliases to a readable csv format for a future batch import.
|
||||
</div>
|
||||
<a href="{{ url_for('dashboard.batch_import_route') }}"
|
||||
class="btn btn-outline-primary">
|
||||
Batch Import
|
||||
</a>
|
||||
<a href="{{ url_for('dashboard.alias_export_route') }}"
|
||||
class="btn btn-outline-secondary">
|
||||
Export Aliases
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title">
|
||||
SimpleLogin data export
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
As per GDPR (General Data Protection Regulation) law, you can request a copy of your data which are stored on
|
||||
SimpleLogin.
|
||||
A zip file that contains all information will be sent to your SimpleLogin account address.
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<div>
|
||||
<form method="post">
|
||||
{{ csrf_form.csrf_token }}
|
||||
<input type="hidden" name="form-name" value="send-full-user-report">
|
||||
<button class="btn btn-outline-info">
|
||||
Request your data
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title">
|
||||
Account Deletion
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
If SimpleLogin isn't the right fit for you, you can simply delete your account.
|
||||
</div>
|
||||
<a href="{{ url_for('dashboard.delete_account') }}"
|
||||
class="btn btn-outline-danger">
|
||||
Delete account
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block script %}
|
||||
|
Reference in New Issue
Block a user