avoid auto registration via link previews
continuous-integration/drone/push Build is passing Details

This commit is contained in:
xAndy 2025-05-17 23:44:13 +02:00
parent 38cdbec9fa
commit f2c00ec8d9
3 changed files with 24 additions and 0 deletions

View File

@ -0,0 +1,11 @@
{% extends "helper_base.html" %}
{% block title %}Registrierung{% endblock %}
{% block content %}
<p>Du solltest automatisch eingeloggt werden. Falls nicht, klicke bitte hier:</p>
<a class="button is-link" href="{% url 'login_confirm' token %}">Login</a>
<script>
window.location.href = "{% url 'login_confirm' token %}";
</script>
{% endblock %}

View File

@ -5,6 +5,7 @@ from . import views
urlpatterns = [ urlpatterns = [
path("", views.index, name="index"), path("", views.index, name="index"),
path("l/<slug:token>", views.login, name="token_login"), path("l/<slug:token>", views.login, name="token_login"),
path("login_confirm/<slug:token>", views.login_confirm, name="login_confirm"),
path("logout", views.logout, name="token_logout"), path("logout", views.logout, name="token_logout"),
path("register", views.register, name="register"), path("register", views.register, name="register"),
path("asta", views.asta, name="asta"), path("asta", views.asta, name="asta"),

View File

@ -98,7 +98,19 @@ def login(request, token):
"Wir konnten dich nicht in unserer Datenbank finden. Bitte registriere dich neu, auch wenn du letztes Jahr bereits geholfen hast.", "Wir konnten dich nicht in unserer Datenbank finden. Bitte registriere dich neu, auch wenn du letztes Jahr bereits geholfen hast.",
) )
return redirect("register") return redirect("register")
return render(request, "login.html", {"token": token})
def login_confirm(request, token):
try:
tk = LoginToken.objects.get(pk=token)
except LoginToken.DoesNotExist:
messages.add_message(
request,
messages.WARNING,
"Wir konnten dich nicht in unserer Datenbank finden. Bitte registriere dich neu, auch wenn du letztes Jahr bereits geholfen hast.",
)
return redirect("register")
if not tk.helper.number_validated: if not tk.helper.number_validated:
tk.helper.number_validated = True tk.helper.number_validated = True
tk.helper.save() tk.helper.save()