Merge branch 'main' into import-limit
This commit is contained in:
commit
d4351cfcb4
121 changed files with 5402 additions and 2951 deletions
|
@ -145,7 +145,7 @@
|
|||
|
||||
<div class="block content">
|
||||
<h2 class="title is-4">{% trans "Current Rules" %}</h2>
|
||||
<details class="details-panel">
|
||||
<details class="details-panel box">
|
||||
<summary>
|
||||
<span class="title is-5" role="heading" aria-level="3">
|
||||
{% trans "Show rules" %} ({{ rules.count }})
|
||||
|
|
96
bookwyrm/templates/settings/email_config.html
Normal file
96
bookwyrm/templates/settings/email_config.html
Normal file
|
@ -0,0 +1,96 @@
|
|||
{% extends 'settings/layout.html' %}
|
||||
{% load humanize %}
|
||||
{% load i18n %}
|
||||
{% load celery_tags %}
|
||||
|
||||
{% block title %}{% trans "Email Configuration" %}{% endblock %}
|
||||
|
||||
{% block header %}{% trans "Email Configuration" %}{% endblock %}
|
||||
|
||||
{% block panel %}
|
||||
|
||||
{% if error %}
|
||||
<div class="notification is-danger is-light">
|
||||
<span class="icon icon-x" aria-hidden="true"></span>
|
||||
<span>
|
||||
{% trans "Error sending test email:" %}
|
||||
{{ error }}
|
||||
</span>
|
||||
</div>
|
||||
{% elif success %}
|
||||
<div class="notification is-success is-light">
|
||||
<span class="icon icon-check" aria-hidden="true"></span>
|
||||
<span>
|
||||
{% trans "Successfully sent test email." %}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<section class="block content">
|
||||
<dl>
|
||||
<dt class="is-pulled-left mr-5 has-text-weight-bold">
|
||||
{% trans "Email sender:" %}
|
||||
</dt>
|
||||
<dd>
|
||||
{{ email_sender }}
|
||||
</dd>
|
||||
|
||||
<dt class="is-pulled-left mr-5 has-text-weight-bold">
|
||||
{% trans "Email backend:" %}
|
||||
</dt>
|
||||
<dd>
|
||||
<code>{{ email_backend }}</code>
|
||||
</dd>
|
||||
|
||||
<dt class="is-pulled-left mr-5 has-text-weight-bold">
|
||||
{% trans "Host:" %}
|
||||
</dt>
|
||||
<dd>
|
||||
<code>{{ email_host }}</code>
|
||||
</dd>
|
||||
|
||||
<dt class="is-pulled-left mr-5 has-text-weight-bold">
|
||||
{% trans "Host user:" %}
|
||||
</dt>
|
||||
<dd>
|
||||
<code>{% firstof email_host_user "-" %}</code>
|
||||
</dd>
|
||||
|
||||
<dt class="is-pulled-left mr-5 has-text-weight-bold">
|
||||
{% trans "Port:" %}
|
||||
</dt>
|
||||
<dd>
|
||||
<code>{{ email_port }}</code>
|
||||
</dd>
|
||||
|
||||
<dt class="is-pulled-left mr-5 has-text-weight-bold">
|
||||
{% trans "Use TLS:" %}
|
||||
</dt>
|
||||
<dd>
|
||||
{{ email_use_tls|yesno }}
|
||||
</dd>
|
||||
|
||||
<dt class="is-pulled-left mr-5 has-text-weight-bold">
|
||||
{% trans "Use SSL:" %}
|
||||
</dt>
|
||||
<dd>
|
||||
{{ email_use_ssl|yesno }}
|
||||
</dd>
|
||||
</dl>
|
||||
</section>
|
||||
<section class="block content box">
|
||||
<p>
|
||||
{% blocktrans trimmed with email=request.user.email %}
|
||||
Send test email to {{ email }}
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<form action="{% url 'settings-email-config' %}" method="post">
|
||||
{% csrf_token %}
|
||||
<button type="submit" class="button is-success">
|
||||
{% trans "Send test email" %}
|
||||
</button>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
{% endblock %}
|
||||
|
|
@ -81,12 +81,14 @@
|
|||
{% url 'settings-imports' as url %}
|
||||
<a href="{{ url }}"{% if url in request.path %} class="is-active" aria-selected="true"{% endif %}>{% trans "Imports" %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="menu-list">
|
||||
<li>
|
||||
{% url 'settings-celery' as url %}
|
||||
<a href="{{ url }}"{% if url in request.path %} class="is-active" aria-selected="true"{% endif %}>{% trans "Celery status" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
{% url 'settings-email-config' as url %}
|
||||
<a href="{{ url }}"{% if url in request.path %} class="is-active" aria-selected="true"{% endif %}>{% trans "Email Configuration" %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% if perms.bookwyrm.edit_instance_settings %}
|
||||
|
@ -101,10 +103,21 @@
|
|||
<a href="{{ url }}"{% if url in request.path %} class="is-active" aria-selected="true"{% endif %}>{% trans "Site Settings" %}</a>
|
||||
{% block site-subtabs %}{% endblock %}
|
||||
</li>
|
||||
<li>
|
||||
{% if perms.bookwyrm.manage_registration %}
|
||||
{% url 'settings-registration' as url %}
|
||||
<a href="{{ url }}"{% if url in request.path %} class="is-active" aria-selected="true"{% endif %}>{% trans "Registration" %}</a>
|
||||
{% else %}
|
||||
{% url 'settings-registration-limited' as url %}
|
||||
<a href="{{ url }}"{% if url in request.path %} class="is-active" aria-selected="true"{% endif %}>{% trans "Registration" %}</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% if perms.bookwyrm.system_administration %}
|
||||
<li>
|
||||
{% url 'settings-themes' as url %}
|
||||
<a href="{{ url }}"{% if url in request.path %} class="is-active" aria-selected="true"{% endif %}>{% trans "Themes" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</nav>
|
||||
|
|
|
@ -40,23 +40,23 @@
|
|||
</h2>
|
||||
</header>
|
||||
<div class="column is-narrow">
|
||||
<button type="button" class="button" data-modal-open="{{ domain_modal }}">
|
||||
<button type="button" class="button is-small" data-modal-open="{{ domain_modal }}">
|
||||
<span class="icon icon-pencil m-0-mobile" aria-hidden="treu"></span>
|
||||
<span class="is-sr-only-mobile">{% trans "Set display name" %}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block">
|
||||
<details class="details-panel">
|
||||
<details class="details-panel box">
|
||||
<summary>
|
||||
<span role="heading" aria-level="3" class="title is-6 mb-0">
|
||||
<span role="heading" aria-level="3" class="title is-6">
|
||||
{% trans "View links" %}
|
||||
({{ domain.links.count }})
|
||||
</span>
|
||||
<span class="details-close icon icon-x" aria-hidden="true"></span>
|
||||
</summary>
|
||||
|
||||
<div class="table-container mt-4">
|
||||
<div class="table-container pt-0">
|
||||
{% include "settings/link_domains/link_table.html" with links=domain.links.all|slice:10 %}
|
||||
</div>
|
||||
</details>
|
||||
|
|
83
bookwyrm/templates/settings/registration.html
Normal file
83
bookwyrm/templates/settings/registration.html
Normal file
|
@ -0,0 +1,83 @@
|
|||
{% extends 'settings/layout.html' %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans "Registration" %}{% endblock %}
|
||||
|
||||
{% block header %}{% trans "Registration" %}{% endblock %}
|
||||
|
||||
{% block panel %}
|
||||
{% if success %}
|
||||
<div class="notification is-success is-light">
|
||||
<span class="icon icon-check" aria-hidden="true"></span>
|
||||
<span>
|
||||
{% trans "Settings saved" %}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if form.errors %}
|
||||
<div class="notification is-danger is-light">
|
||||
<span class="icon icon-x" aria-hidden="true"></span>
|
||||
<span>
|
||||
{% trans "Unable to save settings" %}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<form
|
||||
action="{% url 'settings-registration' %}"
|
||||
method="POST"
|
||||
class="content"
|
||||
enctype="multipart/form-data"
|
||||
>
|
||||
{% csrf_token %}
|
||||
<section class="block box" id="registration">
|
||||
<div class="field">
|
||||
<label class="label" for="id_allow_registration">
|
||||
{{ form.allow_registration }}
|
||||
{% trans "Allow registration" %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label mb-0" for="id_require_confirm_email">
|
||||
{{ form.require_confirm_email }}
|
||||
{% trans "Require users to confirm email address" %}
|
||||
</label>
|
||||
<p class="help" id="desc_require_confirm_email">{% trans "(Recommended if registration is open)" %}</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_allow_invite_requests">
|
||||
{{ form.allow_invite_requests }}
|
||||
{% trans "Allow invite requests" %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_invite_request_text">{% trans "Invite request text:" %}</label>
|
||||
{{ form.invite_request_text }}
|
||||
|
||||
{% include 'snippets/form_errors.html' with errors_list=form.invite_request_text.errors id="desc_invite_request_text" %}
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_invite_requests_question">
|
||||
{{ form.invite_request_question }}
|
||||
{% trans "Set a question for invite requests" %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_invite_question_text">
|
||||
{% trans "Question:" %}
|
||||
{{ form.invite_question_text }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_registration_closed_text">{% trans "Registration closed text:" %}</label>
|
||||
{{ form.registration_closed_text }}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer class="block">
|
||||
<button class="button is-primary" type="submit">{% trans "Save" %}</button>
|
||||
</footer>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
81
bookwyrm/templates/settings/registration_limited.html
Normal file
81
bookwyrm/templates/settings/registration_limited.html
Normal file
|
@ -0,0 +1,81 @@
|
|||
{% extends 'settings/layout.html' %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans "Registration" %}{% endblock %}
|
||||
|
||||
{% block header %}{% trans "Registration" %}{% endblock %}
|
||||
|
||||
{% block panel %}
|
||||
{% if success %}
|
||||
<div class="notification is-success is-light">
|
||||
<span class="icon icon-check" aria-hidden="true"></span>
|
||||
<span>
|
||||
{% trans "Settings saved" %}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if form.errors %}
|
||||
<div class="notification is-danger is-light">
|
||||
<span class="icon icon-x" aria-hidden="true"></span>
|
||||
<span>
|
||||
{% trans "Unable to save settings" %}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if site.allow_registration %}
|
||||
<div class="notification">
|
||||
{% trans "Registration is enabled on this instance" %}
|
||||
</div>
|
||||
{% else %}
|
||||
<form
|
||||
action="{% url 'settings-registration-limited' %}"
|
||||
method="POST"
|
||||
class="content"
|
||||
enctype="multipart/form-data"
|
||||
>
|
||||
{% csrf_token %}
|
||||
<section class="block box" id="registration">
|
||||
{% if site.allow_invite_requests %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_invite_request_text">{% trans "Invite request text:" %}</label>
|
||||
{{ form.invite_request_text }}
|
||||
|
||||
{% include 'snippets/form_errors.html' with errors_list=form.invite_request_text.errors id="desc_invite_request_text" %}
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_invite_requests_question">
|
||||
{{ form.invite_request_question }}
|
||||
{% trans "Set a question for invite requests" %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_invite_question_text">
|
||||
{% trans "Question:" %}
|
||||
{{ form.invite_question_text }}
|
||||
</label>
|
||||
</div>
|
||||
{% else %}
|
||||
<input type="hidden" name="invite_request_text" value="{{ form.invite_request_text.value }}">
|
||||
<input type="hidden" name="invite_request_question" value="{{ form.invite_request_question.value }}">
|
||||
<input type="hidden" name="invite_question_text" value="{{ form.invite_question_text.value }}">
|
||||
{% endif %}
|
||||
|
||||
{% if not site.allow_invite_requests and not site.allow_registration %}
|
||||
<div class="field">
|
||||
<label class="label" for="id_registration_closed_text">{% trans "Registration closed text:" %}</label>
|
||||
{{ form.registration_closed_text }}
|
||||
</div>
|
||||
{% else %}
|
||||
<input type="hidden" name="registration_closed_text" value="{{ form.registration_closed_text.value }}">
|
||||
{% endif %}
|
||||
</section>
|
||||
|
||||
<footer class="block">
|
||||
<button class="button is-primary" type="submit">{% trans "Save" %}</button>
|
||||
</footer>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
@ -10,7 +10,6 @@
|
|||
<li><a href="#instance-info">{% trans "Instance Info" %}</a></li>
|
||||
<li><a href="#display">{% trans "Display" %}</a></li>
|
||||
<li><a href="#footer">{% trans "Footer Content" %}</a></li>
|
||||
<li><a href="#registration">{% trans "Registration" %}</a></li>
|
||||
</ul>
|
||||
{% endblock %}
|
||||
|
||||
|
@ -68,6 +67,19 @@
|
|||
<label class="label" for="id_privacy_policy">{% trans "Privacy Policy:" %}</label>
|
||||
{{ site_form.privacy_policy }}
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label" for="id_impressum">{% trans "Impressum:" %}</label>
|
||||
{{ site_form.impressum }}
|
||||
</div>
|
||||
<div class="field is-horizontal">
|
||||
<div class="field mr-2">
|
||||
<label class="label" for="id_show_impressum">{% trans "Include impressum:" %}</label>
|
||||
</div>
|
||||
<div class="control">
|
||||
{{ site_form.show_impressum }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
@ -128,55 +140,6 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<hr aria-hidden="true">
|
||||
|
||||
<section class="block" id="registration">
|
||||
<h2 class="title is-4">{% trans "Registration" %}</h2>
|
||||
<div class="box">
|
||||
<div class="field">
|
||||
<label class="label" for="id_allow_registration">
|
||||
{{ site_form.allow_registration }}
|
||||
{% trans "Allow registration" %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label mb-0" for="id_require_confirm_email">
|
||||
{{ site_form.require_confirm_email }}
|
||||
{% trans "Require users to confirm email address" %}
|
||||
</label>
|
||||
<p class="help" id="desc_require_confirm_email">{% trans "(Recommended if registration is open)" %}</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_allow_invite_requests">
|
||||
{{ site_form.allow_invite_requests }}
|
||||
{% trans "Allow invite requests" %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_invite_requests_question">
|
||||
{{ site_form.invite_request_question }}
|
||||
{% trans "Set a question for invite requests" %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_invite_question_text">
|
||||
{% trans "Question:" %}
|
||||
{{ site_form.invite_question_text }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_registration_closed_text">{% trans "Registration closed text:" %}</label>
|
||||
{{ site_form.registration_closed_text }}
|
||||
</div>
|
||||
<div class="field">
|
||||
<label class="label" for="id_invite_request_text">{% trans "Invite request text:" %}</label>
|
||||
{{ site_form.invite_request_text }}
|
||||
|
||||
{% include 'snippets/form_errors.html' with errors_list=site_form.invite_request_text.errors id="desc_invite_request_text" %}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer class="block">
|
||||
<button class="button is-primary" type="submit">{% trans "Save" %}</button>
|
||||
</footer>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
{% csrf_token %}
|
||||
<p>
|
||||
{% blocktrans trimmed with username=user.localname %}
|
||||
Are you sure you want to delete <strong>{{ username}}</strong>'s account? This action cannot be undone. To proceed, please enter your password to confirm deletion.
|
||||
Are you sure you want to delete <strong>{{username}}</strong>'s account? This action cannot be undone. To proceed, please enter your password to confirm deletion.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<div class="field">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue