4.22.0
This commit is contained in:
@ -43,6 +43,7 @@
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<form method="post">
|
||||
{{ csrf_form.csrf_token }}
|
||||
<input type="hidden" name="form-name" value="delete">
|
||||
<input type="hidden" name="api-key-id" value="{{ api_key.id }}">
|
||||
<span class="card-link btn btn-link float-right text-danger delete-api-key">Delete</span>
|
||||
@ -57,6 +58,7 @@
|
||||
{% if api_keys|length > 0 %}
|
||||
|
||||
<form method="post">
|
||||
{{ csrf_form.csrf_token }}
|
||||
<input type="hidden" name="form-name" value="delete-all">
|
||||
<span class="delete btn btn-outline-danger delete-all-api-keys float-right">
|
||||
Delete All <i class="fe fe-trash"></i>
|
||||
@ -66,7 +68,7 @@
|
||||
{% endif %}
|
||||
<hr />
|
||||
<form method="post">
|
||||
{{ new_api_key_form.csrf_token }}
|
||||
{{ csrf_form.csrf_token }}
|
||||
<input type="hidden" name="form-name" value="create">
|
||||
<h2 class="h4">New API Key</h2>
|
||||
{{ new_api_key_form.name(class="form-control", placeholder="Chrome") }}
|
||||
|
@ -25,17 +25,18 @@
|
||||
<div class="alert alert-primary collapse {% if mailboxes|length == 1 %} show{% endif %}"
|
||||
id="howtouse"
|
||||
role="alert">
|
||||
A <em>mailbox</em> is just another personal email address. When creating a new alias, you could choose the
|
||||
A <em>mailbox</em> is just another personal email address. When creating a new alias, you could choose
|
||||
the
|
||||
mailbox that <em>owns</em> this alias, i.e:
|
||||
<br />
|
||||
<br/>
|
||||
- all emails sent to this alias will be forwarded to this mailbox
|
||||
<br />
|
||||
<br/>
|
||||
- from this mailbox, you can reply/send emails from the alias.
|
||||
<br />
|
||||
<br />
|
||||
<br/>
|
||||
<br/>
|
||||
When you signed up, a mailbox is automatically created with your email <b>{{ current_user.email }}</b>
|
||||
<br />
|
||||
<br />
|
||||
<br/>
|
||||
<br/>
|
||||
The mailbox doesn't have to be your email: it can be your friend's email
|
||||
if you want to create aliases for your buddy.
|
||||
</div>
|
||||
@ -74,11 +75,12 @@
|
||||
</h5>
|
||||
<h6 class="card-subtitle mb-2 text-muted">
|
||||
Created {{ mailbox.created_at | dt }}
|
||||
<br />
|
||||
<br/>
|
||||
<span class="font-weight-bold">{{ mailbox.nb_alias() }}</span> aliases.
|
||||
<br />
|
||||
<br/>
|
||||
</h6>
|
||||
<a href="{{ url_for('dashboard.mailbox_detail_route', mailbox_id=mailbox.id) }}">Edit ➡</a>
|
||||
<a href="{{ url_for('dashboard.mailbox_detail_route', mailbox_id=mailbox.id) }}">Edit
|
||||
➡</a>
|
||||
</div>
|
||||
<div class="card-footer p-0">
|
||||
<div class="row">
|
||||
@ -89,7 +91,7 @@
|
||||
{{ csrf_form.csrf_token }}
|
||||
<input type="hidden" name="form-name" value="set-default">
|
||||
<input type="hidden" class="mailbox" value="{{ mailbox.email }}">
|
||||
<input type="hidden" name="mailbox-id" value="{{ mailbox.id }}">
|
||||
<input type="hidden" name="mailbox_id" value="{{ mailbox.id }}">
|
||||
<button class="card-link btn btn-link {% if mailbox.id == current_user.default_mailbox_id %} disabled{% endif %}">
|
||||
Set As Default Mailbox
|
||||
</button>
|
||||
@ -98,10 +100,24 @@
|
||||
{% endif %}
|
||||
<div class="col">
|
||||
<form method="post">
|
||||
{{ csrf_form.csrf_token }}
|
||||
{{ delete_mailbox_form.csrf_token }}
|
||||
<input type="hidden" name="form-name" value="delete">
|
||||
<input type="hidden" class="mailbox" value="{{ mailbox.email }}">
|
||||
<input type="hidden" name="mailbox-id" value="{{ mailbox.id }}">
|
||||
<input type="hidden" name="mailbox_id" value="{{ mailbox.id }}">
|
||||
<select hidden name="transfer_mailbox_id" value="">
|
||||
<option value="-1">
|
||||
Delete my aliases
|
||||
</option>
|
||||
{% for mailbox_opt in mailboxes %}
|
||||
|
||||
{% if mailbox_opt.verified and mailbox_opt.id != mailbox.id %}
|
||||
|
||||
<option value="{{ mailbox_opt.id }}">
|
||||
{{ mailbox_opt.email }}
|
||||
</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
<span class="card-link btn btn-link text-danger float-right delete-mailbox {% if mailbox.id == current_user.default_mailbox_id %} disabled{% endif %}">
|
||||
Delete
|
||||
</span>
|
||||
@ -128,31 +144,39 @@
|
||||
{% block script %}
|
||||
|
||||
<script>
|
||||
$(".delete-mailbox").on("click", function (e) {
|
||||
let mailbox = $(this).parent().find(".mailbox").val();
|
||||
$(".delete-mailbox").on("click", function (e) {
|
||||
let mailbox = $(this).parent().find(".mailbox").val();
|
||||
|
||||
let that = $(this);
|
||||
let message = `All aliases owned by this mailbox <b>${mailbox}</b> will be also deleted, ` +
|
||||
" please confirm.";
|
||||
let new_mailboxes = $(this).parent().find("select[name='transfer_mailbox_id']").find("option")
|
||||
let inputOptions = new_mailboxes.map((index, option) => { return {["value"]: option.value, ["text"]: option.text}}).toArray()
|
||||
|
||||
bootbox.confirm({
|
||||
message: message,
|
||||
buttons: {
|
||||
confirm: {
|
||||
label: 'Yes, delete it',
|
||||
className: 'btn-danger'
|
||||
},
|
||||
cancel: {
|
||||
label: 'Cancel',
|
||||
className: 'btn-outline-primary'
|
||||
}
|
||||
},
|
||||
callback: function (result) {
|
||||
if (result) {
|
||||
that.closest("form").submit();
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
let that = $(this);
|
||||
let message = `All aliases owned by the mailbox <b>${mailbox}</b> will be also deleted.<br>` +
|
||||
"You can choose to transfer them to a different mailbox:<br><br>";
|
||||
|
||||
bootbox.prompt({
|
||||
title: '<b>Delete Mailbox</b>',
|
||||
message: message,
|
||||
value: ["-1"],
|
||||
inputType: 'select',
|
||||
inputOptions: inputOptions,
|
||||
buttons: {
|
||||
confirm: {
|
||||
label: 'Yes, delete it',
|
||||
className: 'btn-danger'
|
||||
},
|
||||
cancel: {
|
||||
label: 'Cancel',
|
||||
className: 'btn-outline-primary mr-auto'
|
||||
}
|
||||
},
|
||||
callback: function (result) {
|
||||
if (result) {
|
||||
that.closest("form").find("select[name='transfer_mailbox_id']").val(result)
|
||||
that.closest("form").submit();
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
@ -12,6 +12,7 @@
|
||||
or use WebAuthn (FIDO).
|
||||
</div>
|
||||
<form method="post">
|
||||
{{ csrf_form.csrf_token }}
|
||||
<button class="btn btn-danger mt-2">Disable TOTP</button>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -177,10 +177,6 @@ $30/year
|
||||
<i class="fe fe-external-link"></i>
|
||||
</a>
|
||||
<hr />
|
||||
For other payment options, please send us an email at
|
||||
<a href="mailto:hi@simplelogin.io">hi@simplelogin.io</a>
|
||||
.
|
||||
<br />
|
||||
If you have bought a coupon, please go to the
|
||||
<a href="{{ url_for('dashboard.coupon_route') }}">coupon page</a>
|
||||
to apply the coupon code.
|
||||
|
@ -38,7 +38,7 @@
|
||||
Handy when you need to quickly give out an email address, for example on a phone call, in a meeting or just
|
||||
anywhere you want.
|
||||
<br />
|
||||
After choosing a subdomain, simply use <b>anything@my-subdomain.simplelogin.co</b>
|
||||
After choosing a subdomain, simply use <b>anything@my-subdomain.simplelogin.com</b>
|
||||
next time you need an alias:
|
||||
it'll be <b>automatically created</b> the first time it receives an email.
|
||||
<br />
|
||||
@ -72,6 +72,7 @@
|
||||
<div class="card-body">
|
||||
<h2 class="h4 mb-1">New Subdomain</h2>
|
||||
<form method="post" class="mt-2" data-parsley-validate>
|
||||
{{ new_subdomain_form.csrf_token }}
|
||||
<input type="hidden" name="form-name" value="create">
|
||||
<div class="form-group">
|
||||
<label>Subdomain</label>
|
||||
|
@ -9,8 +9,7 @@
|
||||
{% endcall %}
|
||||
|
||||
{% call text() %}
|
||||
Please contact us at
|
||||
<a href="mailto:hi@simplelogin.io">hi@simplelogin.io</a>
|
||||
Please <a href="https://app.simplelogin.io/dashboard/support">contact us</a>
|
||||
to renew your subscription.
|
||||
{% endcall %}
|
||||
|
||||
|
@ -2,4 +2,6 @@
|
||||
|
||||
{% block content %}
|
||||
Your subscription will end on {{ manual_sub.end_at.format("YYYY-MM-DD") }}
|
||||
|
||||
Please contact us on https://app.simplelogin.io/dashboard/support to renew your subscription.
|
||||
{% endblock %}
|
||||
|
@ -6,6 +6,7 @@
|
||||
{{ render_text("You recently requested to change mailbox <b>"+ mailbox_email +"</b> to <b>" + mailbox_new_email + "</b>.") }}
|
||||
{{ render_text("To confirm, please click on the button below.") }}
|
||||
{{ render_button("Confirm mailbox change", link) }}
|
||||
{{ render_text("This email will only be valid for the next 15 minutes.") }}
|
||||
{{ render_text('Thanks,
|
||||
<br />
|
||||
SimpleLogin Team.') }}
|
||||
|
@ -8,4 +8,6 @@ You recently requested to change mailbox {{mailbox_email}} to {{mailbox_new_emai
|
||||
To confirm, please click on this link:
|
||||
|
||||
{{link}}
|
||||
|
||||
This link will only be valid during the next 15 minutes.
|
||||
{% endblock %}
|
||||
|
@ -6,6 +6,7 @@
|
||||
{{ render_text("You have added <b>"+ mailbox_email +"</b> as an additional mailbox.") }}
|
||||
{{ render_text("To confirm, please click on the button below.") }}
|
||||
{{ render_button("Confirm mailbox", link) }}
|
||||
{{ render_text("This email will only be valid for the next 15 minutes.") }}
|
||||
{{ render_text('Thanks,
|
||||
<br />
|
||||
SimpleLogin Team.') }}
|
||||
|
@ -8,4 +8,6 @@ You have added {{mailbox_email}} as an additional mailbox.
|
||||
To confirm, please click on this link:
|
||||
|
||||
{{link}}
|
||||
|
||||
This link will only be valid during the next 15 minutes.
|
||||
{% endblock %}
|
||||
|
Reference in New Issue
Block a user