mirror of
https://github.com/jointakahe/takahe.git
synced 2024-12-22 13:36:30 +00:00
FIx HTML issues found by djLint (#409)
This commit is contained in:
parent
9876b81f66
commit
3679448cdf
28 changed files with 83 additions and 80 deletions
|
@ -238,7 +238,7 @@ urlpatterns = [
|
|||
# Identity selection
|
||||
path("@<handle>/activate/", identity.ActivateIdentity.as_view()),
|
||||
path("identity/select/", identity.SelectIdentity.as_view(), name="identity_select"),
|
||||
path("identity/create/", identity.CreateIdentity.as_view()),
|
||||
path("identity/create/", identity.CreateIdentity.as_view(), name="identity_create"),
|
||||
# Flat pages
|
||||
path("about/", core.About.as_view(), name="about"),
|
||||
path(
|
||||
|
|
|
@ -35,5 +35,5 @@
|
|||
{% include "activities/_post.html" with post=event.subject_post event=event %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
Unknown event type {{event.type}}
|
||||
Unknown event type {{ event.type }}
|
||||
{% endif %}
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
|
||||
{% if current_page == "home" %}
|
||||
<h2>Compose</h2>
|
||||
<form action="/compose/" method="POST" class="compose">
|
||||
<form action="{% url "compose" %}" method="POST" class="compose">
|
||||
{% csrf_token %}
|
||||
{{ form.text }}
|
||||
{{ form.content_warning }}
|
||||
|
|
|
@ -6,12 +6,14 @@
|
|||
<h3 style="display: none;">Options: {% if post.type_data.mode == "oneOf" %}<small>(choose one)</small>{% endif %}</h3>
|
||||
{% for item in post.type_data.options %}
|
||||
{% if forloop.first %}<ul>{% endif %}{% widthratio item.votes post.type_data.voter_count 100 as item_percent %}
|
||||
<li><label class="poll-option">
|
||||
<input style="display:none" name="vote-options" type="{% if post.type_data.mode == "oneOf" %}radio{% else %}checkbox{% endif %}" value="0">
|
||||
<span class="poll-number" title="{{ item.votes }} votes">{{ item_percent }}%</span>
|
||||
<span class="poll-option-text">{{ item.name }}</span>
|
||||
</label>
|
||||
{% if forloop.last %}</ul>{% endif %}
|
||||
<li>
|
||||
<label class="poll-option">
|
||||
<input style="display:none" name="vote-options" type="{% if post.type_data.mode == "oneOf" %}radio{% else %}checkbox{% endif %}" value="0">
|
||||
<span class="poll-number" title="{{ item.votes }} votes">{{ item_percent }}%</span>
|
||||
<span class="poll-option-text">{{ item.name }}</span>
|
||||
</label>
|
||||
</li>
|
||||
{% if forloop.last %}</ul>{% endif %}
|
||||
{% endfor %}
|
||||
<div class="poll-footer">
|
||||
<span class="vote-total">{{ post.type_data.voter_count }} people</span>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<a class="button" href=".?page={{ page_obj.previous_page_number }}">Previous Page</a>
|
||||
{% endif %}
|
||||
{% if page_obj.paginator.count %}
|
||||
<span class="count">{{ page_obj.paginator.count }} {{page_obj.paginator.count|pluralize:nouns }}</span>
|
||||
<span class="count">{{ page_obj.paginator.count }} {{ page_obj.paginator.count|pluralize:nouns }}</span>
|
||||
{% endif %}
|
||||
{% if page_obj.has_next %}
|
||||
<a class="button" href=".?page={{ page_obj.next_page_number }}">Next Page</a>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
{% block content %}
|
||||
<h1>Confirm Delete</h1>
|
||||
<section class="">
|
||||
<section>
|
||||
<form action="." method="POST">
|
||||
{% csrf_token %}
|
||||
|
||||
|
@ -16,6 +16,7 @@
|
|||
<a class="button" href="javascript:history.back()">Cancel</a>
|
||||
<button class="delete">Delete</button>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<small>
|
||||
{% if announcement.service_announcement %}{{ domain.service_domain }}{% endif %}
|
||||
</small>
|
||||
</span>
|
||||
</td>
|
||||
<td class="stat">
|
||||
{% if not announcement.published %}
|
||||
Draft
|
||||
|
|
|
@ -24,5 +24,5 @@
|
|||
<button class="delete">Confirm Deletion</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<small>
|
||||
{% if domain.service_domain %}{{ domain.service_domain }}{% endif %}
|
||||
</small>
|
||||
</span>
|
||||
</td>
|
||||
<td class="stat">
|
||||
{% if domain.public %}Public{% else %}Private{% endif %}
|
||||
{% if domain.default %}(Default){% endif %}
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
</table>
|
||||
{% endif %}
|
||||
{% empty %}
|
||||
<p class="help"></p>Hashtag is either not used or stats have not been computed yet.</p>
|
||||
<p class="help">Hashtag is either not used or stats have not been computed yet.</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<legend>Stats</legend>
|
||||
<table class="metadata">
|
||||
<tr>
|
||||
<th>Status</td>
|
||||
<th>Status</th>
|
||||
<td>
|
||||
{% if identity.limited %}
|
||||
Limited
|
||||
|
@ -23,37 +23,37 @@
|
|||
</tr>
|
||||
{% if identity.local %}
|
||||
<tr>
|
||||
<th>Type</td>
|
||||
<th>Type</th>
|
||||
<td>Local Identity</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Followers</td>
|
||||
<th>Followers</th>
|
||||
<td>{{ identity.inbound_follows.count }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Following</td>
|
||||
<th>Following</th>
|
||||
<td>{{ identity.outbound_follows.count }}</td>
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr>
|
||||
<th>Type</td>
|
||||
<th>Type</th>
|
||||
<td>Remote Identity</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Local Followers</td>
|
||||
<th>Local Followers</th>
|
||||
<td>{{ identity.inbound_follows.count }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Following Locals</td>
|
||||
<th>Following Locals</th>
|
||||
<td>{{ identity.outbound_follows.count }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
<tr>
|
||||
<th>Posts</td>
|
||||
<th>Posts</th>
|
||||
<td>{{ identity.posts.count }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>First Seen</td>
|
||||
<th>First Seen</th>
|
||||
<td>{{ identity.created|timesince }} ago</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -73,23 +73,23 @@
|
|||
<table class="metadata">
|
||||
{% if not identity.local %}
|
||||
<tr>
|
||||
<th>Last Fetched</td>
|
||||
<th>Last Fetched</th>
|
||||
<td>{{ identity.fetched|timesince }} ago</td>
|
||||
</tr>
|
||||
{% if identity.state == "outdated" %}
|
||||
<tr>
|
||||
<th>Attempting Fetch Since</td>
|
||||
<th>Attempting Fetch Since</th>
|
||||
<td>{{ identity.state_changed|timesince }} ago</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<tr>
|
||||
<th>Actor URI</td>
|
||||
<th>Actor URI</th>
|
||||
<td>{{ identity.actor_uri }}</td>
|
||||
</tr>
|
||||
{% if not identity.local %}
|
||||
<tr>
|
||||
<th>Inbox URI</td>
|
||||
<th>Inbox URI</th>
|
||||
<td>{{ identity.inbox_uri }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
@ -101,17 +101,17 @@
|
|||
</fieldset>
|
||||
<div class="buttons">
|
||||
{% if not identity.local %}
|
||||
<button class="left" name="fetch">Force Fetch</a>
|
||||
<button class="left" name="fetch">Force Fetch</button>
|
||||
{% endif %}
|
||||
{% if identity.limited %}
|
||||
<button class="left delete" name="unlimit">Unlimit</a>
|
||||
<button class="left delete" name="unlimit">Unlimit</button>
|
||||
{% else %}
|
||||
<button class="left delete" name="limit">Limit</a>
|
||||
<button class="left delete" name="limit">Limit</button>
|
||||
{% endif %}
|
||||
{% if identity.blocked %}
|
||||
<button class="left delete" name="unblock">Unblock</a>
|
||||
<button class="left delete" name="unblock">Unblock</button>
|
||||
{% else %}
|
||||
<button class="left delete" name="block">Block</a>
|
||||
<button class="left delete" name="block">Block</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="buttons">
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<span class="bad">Expired</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</time>
|
||||
</td>
|
||||
<td class="stat">
|
||||
{% if invite.uses %}
|
||||
{{ invite.uses }}
|
||||
|
@ -41,7 +41,7 @@
|
|||
Infinite
|
||||
{% endif %}
|
||||
<small>use{{ invite.uses|pluralize }} left</small>
|
||||
</time>
|
||||
</td>
|
||||
</tr>
|
||||
{% empty %}
|
||||
<tr class="empty">
|
||||
|
|
|
@ -8,15 +8,15 @@
|
|||
<legend>{{ model }}</legend>
|
||||
<table class="metadata">
|
||||
<tr>
|
||||
<th>Pending</td>
|
||||
<th>Pending</th>
|
||||
<td>{{ stats.most_recent_queued }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Processed today</td>
|
||||
<th>Processed today</th>
|
||||
<td>{{ stats.most_recent_handled.1 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>This month</td>
|
||||
<th>This month</th>
|
||||
<td>{{ stats.most_recent_handled.2 }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<small>
|
||||
identit{{ user.num_identities|pluralize:"y,ies" }}
|
||||
</small>
|
||||
</span>
|
||||
</td>
|
||||
<td class="actions">
|
||||
{% if user.banned %}
|
||||
<span class="bad">Banned</span>
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
<fieldset>
|
||||
<legend>Password Set</legend>
|
||||
<p>
|
||||
Your password for <tt>{{ email }}</tt> has been set. You can
|
||||
now <a href="/auth/login/">login</a>.
|
||||
Your password for <code>{{ email }}</code> has been set. You can
|
||||
now <a href="{% url "login" %}">login</a>.
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<fieldset>
|
||||
<legend>Email Sent</legend>
|
||||
<p>
|
||||
An email has been sent to <tt>{{ email }}</tt> - please follow
|
||||
An email has been sent to <code>{{ email }}</code> - please follow
|
||||
the link inside to finish creating your account.
|
||||
</p>
|
||||
</fieldset>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<fieldset>
|
||||
<legend>Password Reset Sent</legend>
|
||||
<p>
|
||||
Please check your email at <tt>{{ email }}</tt> for the reset link.
|
||||
Please check your email at <code>{{ email }}</code> for the reset link.
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
{% block custom_head %}{% if config.custom_head %}{{ config.custom_head|safe }}{% endif %}{% endblock %}
|
||||
</head>
|
||||
<body class="{% block body_class %}{% endblock %}" hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'>
|
||||
<a id='skip-to-main' class='screenreader-text' href='#main-content'>Skip to Content</a>
|
||||
<a id='skip-to-nav' class='screenreader-text' href='#side-navigation'>Skip to Navigation</a>
|
||||
<a id="skip-to-main" class="screenreader-text" href="#main-content">Skip to Content</a>
|
||||
<a id="skip-to-nav" class="screenreader-text" href="#side-navigation">Skip to Navigation</a>
|
||||
<main>
|
||||
{% block body_main %}
|
||||
<header>
|
||||
|
@ -67,13 +67,13 @@
|
|||
</a>
|
||||
{% else %}
|
||||
<div class="gap"></div>
|
||||
<a href="/auth/login/" role="menuitem" class="identity"><i class="fa-solid fa-right-to-bracket"></i> Login</a>
|
||||
<a href="{% url "login" %}" role="menuitem" class="identity"><i class="fa-solid fa-right-to-bracket"></i> Login</a>
|
||||
{% endif %}
|
||||
</menu>
|
||||
</header>
|
||||
|
||||
{% block full_content %}
|
||||
{% include 'activities/_image_viewer.html' %}
|
||||
{% include "activities/_image_viewer.html" %}
|
||||
{% block pre_content %}
|
||||
{% endblock %}
|
||||
<div class="columns">
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<header>
|
||||
<menu>
|
||||
{% if not request.user.is_authenticated and current_page == "about" and config.signup_allowed %}
|
||||
<a href="/auth/signup/">Sign Up</a>
|
||||
<a href="{% url "signup" %}">Sign Up</a>
|
||||
{% else %}
|
||||
<a href="/">Home</a>
|
||||
{% endif %}
|
||||
|
@ -21,7 +21,7 @@
|
|||
{% if request.user.is_authenticated %}
|
||||
<a href="javascript:history.back()">Back</a>
|
||||
{% else %}
|
||||
<a href="/auth/login/">Login</a>
|
||||
<a href="{% url "login" %}">Login</a>
|
||||
{% endif %}
|
||||
</menu>
|
||||
</header>
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
{% extends "emails/base.html" %}
|
||||
{% load mail_tags %}
|
||||
{% autoescape off %}
|
||||
{% block title %}{{settings.MAIN_DOMAIN}} - New Account Created{% endblock title %}
|
||||
{% block subtitle %}{{settings.MAIN_DOMAIN}} - New Account Created{% endblock subtitle %}
|
||||
{% block title %}{{ settings.MAIN_DOMAIN }} - New Account Created{% endblock title %}
|
||||
{% block subtitle %}{{ settings.MAIN_DOMAIN }} - New Account Created{% endblock subtitle %}
|
||||
|
||||
{% block body_greeting %}
|
||||
{% email_body_content "Hi there," %}
|
||||
{% endblock body_greeting %}
|
||||
|
||||
{% block body_content %}
|
||||
{% email_body_content "Your email address was used to create a new account at {{config.site_name}} (https://{{settings.MAIN_DOMAIN}})." %}
|
||||
{% email_body_content "Your email address was used to create a new account at {{ config.site_name }} (https://{{ settings.MAIN_DOMAIN }})." %}
|
||||
{% email_body_content "To confirm your new account, go to this link:" %}
|
||||
{% endblock body_content %}
|
||||
|
||||
{% block body_button %}
|
||||
{% email_button button_text="Confirm New Account" button_link="https://{{settings.MAIN_DOMAIN}}/auth/reset/{{reset.token}}/" %}
|
||||
{% email_button button_text="Confirm New Account" button_link="https://{{ settings.MAIN_DOMAIN }}/auth/reset/{{ reset.token }}/" %}
|
||||
{% endblock body_button %}
|
||||
|
||||
{% block body_signature %}
|
||||
{% email_body_content "Thanks, Admins @{{settings.MAIN_DOMAIN}}" %}
|
||||
{% email_body_content "Thanks, Admins @{{ settings.MAIN_DOMAIN }}" %}
|
||||
{% endblock body_signature %}
|
||||
|
||||
{% block extra_footer %}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
{% extends "emails/base.html" %}
|
||||
{% load mail_tags %}
|
||||
{% autoescape off %}
|
||||
{% block title %}{{settings.MAIN_DOMAIN}} - Password Reset Requested{% endblock title %}
|
||||
{% block subtitle %}{{settings.MAIN_DOMAIN}} - Password Reset Requested{% endblock subtitle %}
|
||||
{% block title %}{{ settings.MAIN_DOMAIN }} - Password Reset Requested{% endblock title %}
|
||||
{% block subtitle %}{{ settings.MAIN_DOMAIN }} - Password Reset Requested{% endblock subtitle %}
|
||||
|
||||
{% block body_greeting %}
|
||||
{% email_body_content "Hi there," %}
|
||||
{% endblock body_greeting %}
|
||||
|
||||
{% block body_content %}
|
||||
{% email_body_content "A password reset was requested for your account ({{reset.user.email}}) at {{Config.system.site_name}} (https://{{settings.MAIN_DOMAIN}})." %}
|
||||
{% email_body_content "A password reset was requested for your account ({{ reset.user.email }}) at {{ Config.system.site_name }} (https://{{ settings.MAIN_DOMAIN }})." %}
|
||||
{% email_body_content "To reset your password, go to this link:" %}
|
||||
{% endblock body_content %}
|
||||
|
||||
{% block body_button %}
|
||||
{% email_button button_text="Reset Password" button_link="https://{{settings.MAIN_DOMAIN}}/auth/reset/{{reset.token}}/" %}
|
||||
{% email_button button_text="Reset Password" button_link="https://{{ settings.MAIN_DOMAIN }}/auth/reset/{{ reset.token }}/" %}
|
||||
{% endblock body_button %}
|
||||
|
||||
{% block body_signature %}
|
||||
{% email_body_content "Thanks, Admins @{{settings.MAIN_DOMAIN}}" %}
|
||||
{% email_body_content "Thanks, Admins @{{ settings.MAIN_DOMAIN }}" %}
|
||||
{% endblock body_signature %}
|
||||
|
||||
{% block extra_footer %}
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
{% extends "emails/base.html" %}
|
||||
{% load mail_tags %}
|
||||
{% autoescape off %}
|
||||
{% block title %}{{config.site_name}} - New Moderation Report{% endblock title %}
|
||||
{% block subtitle %}{{config.site_name}} - New Moderation Report{% endblock subtitle %}
|
||||
{% block title %}{{ config.site_name }} - New Moderation Report{% endblock title %}
|
||||
{% block subtitle %}{{ config.site_name }} - New Moderation Report{% endblock subtitle %}
|
||||
|
||||
{% block body_greeting %}
|
||||
{% email_body_content "Moderation Team," %}
|
||||
{% email_body_content "A new report has been recieved for {{config.site_name}}." %}
|
||||
{% email_body_content "A new report has been recieved for {{ config.site_name }}." %}
|
||||
{% endblock body_greeting %}
|
||||
|
||||
{% block body_content %}
|
||||
{% email_body_content "=============== Report Summary ===============" %}
|
||||
|
||||
{% if report.source_identity %}
|
||||
{% email_body_content "Reporter Identity: {{report.source_identity}} @ {{report.source_domain}}" %}
|
||||
{% email_body_content "Reporter Identity: {{ report.source_identity }} @ {{ report.source_domain }}" %}
|
||||
{% else %}
|
||||
{% email_body_content "Reporter Identity: Anonymous Report from {{report.source_domain}}" %}
|
||||
{% email_body_content "Reporter Identity: Anonymous Report from {{ report.source_domain }}" %}
|
||||
{% endif %}
|
||||
|
||||
{% email_body_content "Reported Identity: {{report.subject_identity}}" %}
|
||||
{% email_body_content "Complaint Type: {{report.type}}" %}
|
||||
{% email_body_content "Complaint Notes: {{report.complaint}}" %}
|
||||
{% email_body_content "Reported Identity: {{ report.subject_identity }}" %}
|
||||
{% email_body_content "Complaint Type: {{ report.type }}" %}
|
||||
{% email_body_content "Complaint Notes: {{ report.complaint }}" %}
|
||||
{% endblock body_content %}
|
||||
|
||||
{% block body_button %}
|
||||
{% email_button button_text="View Report" button_link="https://{{settings.MAIN_DOMAIN}}/admin/reports/{{report.id}}/" %}
|
||||
{% email_button button_text="View Report" button_link="https://{{ settings.MAIN_DOMAIN }}/admin/reports/{{ report.id }}/" %}
|
||||
{% endblock body_button %}
|
||||
|
||||
{% block extra_footer %}
|
||||
{% email_footer "You are recieving this email because you are a moderator on the Takahe instance https://{{settings.MAIN_DOMAIN}}" %}
|
||||
{% email_footer "You are recieving this email because you are a moderator on the Takahe instance https://{{ settings.MAIN_DOMAIN }}" %}
|
||||
{% endblock extra_footer %}
|
||||
{% endautoescape %}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% extends "base_plain.html" %}
|
||||
|
||||
{% block title%}{{ title }}{% endblock %}
|
||||
{% block title %}{{ title }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>{{ title }}</h1>
|
||||
|
|
|
@ -12,13 +12,13 @@
|
|||
data-handle="{{ identity.name_or_handle }}"
|
||||
_="on error set my.src to generate_avatar(@data-handle)"
|
||||
>
|
||||
{% if link_avatar is False%}
|
||||
{% if link_avatar is False %}
|
||||
</div>
|
||||
{% else %}
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if link_handle is False%}
|
||||
{% if link_handle is False %}
|
||||
<div class="handle">
|
||||
{% else %}
|
||||
<a href="{{ identity.urls.view }}" class="handle">
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<nav>
|
||||
<a href="/identity/select/" {% if identities %}class="selected"{% endif %} title="Select Identity">
|
||||
<a href="{% url "identity_select" %}" {% if identities %}class="selected"{% endif %} title="Select Identity">
|
||||
<i class="fa-solid fa-users-viewfinder"></i> Select Identity
|
||||
</a>
|
||||
<a href="/identity/create/" {% if form %}class="selected"{% endif %} title="Create Identity">
|
||||
<a href="{% url "identity_create" %}" {% if form %}class="selected"{% endif %} title="Create Identity">
|
||||
<i class="fa-solid fa-plus"></i> Create Identity
|
||||
</a>
|
||||
<a href="/auth/logout/" title="Logout">
|
||||
<a href="{% url "logout" %}" title="Logout">
|
||||
<i class="fa-solid fa-right-from-bracket"></i> Logout
|
||||
</a>
|
||||
{% if request.user.admin %}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
{% empty %}
|
||||
<p class="option empty">You have no identities.</p>
|
||||
{% endfor %}
|
||||
<a href="/identity/create/" class="option new">
|
||||
<a href="{% url "identity_create" %}" class="option new">
|
||||
<i class="fa-solid fa-plus"></i> Create a new identity
|
||||
</a>
|
||||
</section>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<a href="{% url "settings_security" %}" {% if section == "security" %}class="selected"{% endif %} title="Login & Security">
|
||||
<i class="fa-solid fa-key"></i> Login & Security
|
||||
</a>
|
||||
<a href="/auth/logout/">
|
||||
<a href="{% url "logout" %}">
|
||||
<i class="fa-solid fa-right-from-bracket" title="Logout"></i> Logout
|
||||
</a>
|
||||
{% if request.user.moderator or request.user.admin %}
|
||||
|
|
|
@ -23,12 +23,12 @@ class Announcement(models.Model):
|
|||
start = models.DateTimeField(
|
||||
null=True,
|
||||
blank=True,
|
||||
help_text="When the announcement will start appearing.\nLeave blank to have it begin as soon as it is published.\nFormat: <tt>2023-01-01</tt> or <tt>2023-01-01 12:30:00</tt>",
|
||||
help_text="When the announcement will start appearing.\nLeave blank to have it begin as soon as it is published.\nFormat: <code>2023-01-01</code> or <code>2023-01-01 12:30:00</code>",
|
||||
)
|
||||
end = models.DateTimeField(
|
||||
null=True,
|
||||
blank=True,
|
||||
help_text="When the announcement will stop appearing.\nLeave blank to have it display indefinitely.\nFormat: <tt>2023-01-01</tt> or <tt>2023-01-01 12:30:00</tt>",
|
||||
help_text="When the announcement will stop appearing.\nLeave blank to have it display indefinitely.\nFormat: <code>2023-01-01</code> or <code>2023-01-01 12:30:00</code>",
|
||||
)
|
||||
|
||||
include_unauthenticated = models.BooleanField(default=False)
|
||||
|
|
Loading…
Reference in a new issue