add important checkbox
This commit is contained in:
parent
d71e2f3975
commit
d4154a61b6
3 changed files with 115 additions and 7 deletions
|
@ -7,8 +7,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-24 23:00+0100\n"
|
||||
"PO-Revision-Date: 2024-12-24 23:04+0100\n"
|
||||
"POT-Creation-Date: 2024-12-25 11:49+0100\n"
|
||||
"PO-Revision-Date: 2024-12-25 11:50+0100\n"
|
||||
"Last-Translator: Laura Klünder <laura@codingcatgirl.de>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: de\n"
|
||||
|
@ -2918,10 +2918,6 @@ msgstr "via Control Panel"
|
|||
msgid "Map update"
|
||||
msgstr "Kartenänderung"
|
||||
|
||||
#: c3nav/mapdata/quests/simple.py
|
||||
msgid "Ranging Beacon Altitude"
|
||||
msgstr "Höhe des Ranging Beacons"
|
||||
|
||||
#: c3nav/mapdata/quests/simple.py
|
||||
#, python-format
|
||||
msgid "How many meters above ground is the access point “%s” mounted?"
|
||||
|
@ -2931,6 +2927,10 @@ msgstr "Wie viele meter über dem Boden ist der access point „%s“ befestigt?
|
|||
msgid "The AP should not be 0m above ground."
|
||||
msgstr "Der AP sollte sich nicht 0m über dem Boden befinden."
|
||||
|
||||
#: c3nav/mapdata/quests/simple.py
|
||||
msgid "Ranging Beacon Altitude"
|
||||
msgstr "Höhe des Ranging Beacons"
|
||||
|
||||
#: c3nav/mapdata/tasks.py
|
||||
#, python-format
|
||||
msgid "%d map update processed."
|
||||
|
@ -4189,6 +4189,77 @@ msgstr[1] ""
|
|||
msgid "Route from %s to %s"
|
||||
msgstr "Route von %s nach %s"
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid "I do not read fefe or i only read the sports section."
|
||||
msgstr "Ich lese kein Fefe oder nur den Sportteil."
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid ""
|
||||
"I am not affiliated with Automattic in any way, financially or otherwise."
|
||||
msgstr ""
|
||||
"Ich bin in keiner Weise, weder finanziell noch anderweitig, Automattic "
|
||||
"angehörig."
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid ""
|
||||
"I am not Anish Kapoor, i am in no way affiliated to Anish Kapoor, I am not "
|
||||
"signing in on behalf of Anish Kapoor or an associate of Anish Kapoor. To the "
|
||||
"best of my knowledge, information and belief, this account will not make its "
|
||||
"way into the hands of Anish Kapoor."
|
||||
msgstr ""
|
||||
"Ich bin nicht Anish Kapoor, ich bin in keiner Weise mit Anish Kapoor "
|
||||
"verbunden, ich melde mich nicht im Namen von Anish Kapoor oder eines "
|
||||
"Mitarbeiters von Anish Kapoor an. Nach meinem besten Wissen und Gewissen "
|
||||
"wird dieses Konto nicht in die Hände von Anish Kapoor gelangen."
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid "I do not use generative AI to create cheap assets for my talk slides."
|
||||
msgstr ""
|
||||
"Ich verwende keine generative KI, um billige Assets für meine Vortragsfolien "
|
||||
"zu erstellen."
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid "I have not checked this checkbox."
|
||||
msgstr "Ich habe diese Checkbox nicht aktiviert."
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid ""
|
||||
"I will not harm any human being, catgirl or similar creature nor through "
|
||||
"inaction permit any such creature to be harmed."
|
||||
msgstr ""
|
||||
"Ich werde keinem Menschen, Catgirl oder ähnlichen Lebewesen Schaden zufügen "
|
||||
"und auch nicht durch Untätigkeit zulassen, dass einem solchen Lebewesen "
|
||||
"Schaden zugefügt wird."
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid "I am not a robot or i am at least a cute one."
|
||||
msgstr "Ich bin kein Roboter oder wenn, dann ein cuter Roboter."
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid "I am a robot."
|
||||
msgstr "Ich bin ein Roboter."
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid "Trans rights!"
|
||||
msgstr "Trans rights!"
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid "Be excellent to each other."
|
||||
msgstr "Be excellent to each other."
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid ""
|
||||
"I acknowledge that any checkboxes shown under this form are optional, non-"
|
||||
"mandatory serving suggestions."
|
||||
msgstr ""
|
||||
"Ich erkenne an, dass alle Checkboxen unter diesem Formular optionale, nicht-"
|
||||
"verpflichtende Serviervorschläge sind."
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid "If you do not like this checkbox, reload to get another one."
|
||||
msgstr ""
|
||||
"Wenn dir diese Checkbox nicht gefällt, lade die Seite neu für eine andere."
|
||||
|
||||
#: c3nav/site/views.py
|
||||
msgid "account creation is currently disabled."
|
||||
msgstr "Benutzerregistrierung ist momentan deaktiviert."
|
||||
|
|
|
@ -195,6 +195,21 @@ main.account form {
|
|||
width: 100%;
|
||||
}
|
||||
|
||||
form label:has(+[type=checkbox]) {
|
||||
float: right;
|
||||
width: calc(100% - 25px);
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
form [type=checkbox] {
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
form [type=checkbox]+.helptext {
|
||||
clear: both;
|
||||
display: block;
|
||||
mrgin-top: 1px;
|
||||
margin-bottom: 1px;
|
||||
}
|
||||
|
||||
#modal-content p, main.account p {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import json
|
||||
import random
|
||||
from itertools import chain
|
||||
from typing import Optional
|
||||
from urllib.parse import urlparse
|
||||
|
@ -14,6 +15,7 @@ from django.core.exceptions import ObjectDoesNotExist, SuspiciousOperation, Vali
|
|||
from django.core.paginator import Paginator
|
||||
from django.core.serializers.json import DjangoJSONEncoder
|
||||
from django.db import transaction
|
||||
from django.forms.fields import BooleanField
|
||||
from django.http import Http404, HttpResponse, HttpResponseBadRequest, QueryDict
|
||||
from django.middleware import csrf
|
||||
from django.shortcuts import get_object_or_404, redirect, render
|
||||
|
@ -47,7 +49,6 @@ from c3nav.routing.models import RouteOptions
|
|||
from c3nav.site.forms import APISecretForm, DeleteAccountForm, PositionForm, PositionSetForm, ReportUpdateForm
|
||||
from c3nav.site.models import Announcement, SiteUpdate
|
||||
|
||||
|
||||
if settings.METRICS:
|
||||
from prometheus_client import Counter
|
||||
|
||||
|
@ -292,6 +293,24 @@ def migrate_access_permissions_after_login(request):
|
|||
transaction.on_commit(lambda: cache.delete(AccessPermission.request_access_permission_key(request)))
|
||||
|
||||
|
||||
login_options = (
|
||||
_('I do not read fefe or i only read the sports section.'),
|
||||
_('I am not affiliated with Automattic in any way, financially or otherwise.'),
|
||||
_('I am not Anish Kapoor, i am in no way affiliated to Anish Kapoor, I am not signing in on behalf of '
|
||||
'Anish Kapoor or an associate of Anish Kapoor. To the best of my knowledge, information and belief, this account '
|
||||
'will not make its way into the hands of Anish Kapoor.'),
|
||||
_('I do not use generative AI to create cheap assets for my talk slides.'),
|
||||
_('I have not checked this checkbox.'),
|
||||
_('I will not harm any human being, catgirl or similar creature nor through inaction permit any such creature '
|
||||
'to be harmed.'),
|
||||
_('I am not a robot or i am at least a cute one.'),
|
||||
_('I am a robot.'),
|
||||
_('Trans rights!'),
|
||||
_('Be excellent to each other.'),
|
||||
_('I acknowledge that any checkboxes shown under this form are optional, non-mandatory serving suggestions.'),
|
||||
)
|
||||
|
||||
|
||||
@never_cache
|
||||
def login_view(request):
|
||||
if request.user.is_authenticated:
|
||||
|
@ -306,6 +325,9 @@ def login_view(request):
|
|||
else:
|
||||
form = AuthenticationForm(request)
|
||||
|
||||
form.fields["check"] = BooleanField(required=False, label=random.choice(login_options),
|
||||
help_text=_('If you do not like this checkbox, reload to get another one.'))
|
||||
|
||||
redirect_path = request.GET.get(REDIRECT_FIELD_NAME, '/account/')
|
||||
if referer := request.headers.get('Referer', None):
|
||||
referer = urlparse(referer)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue