Initial commit

This commit is contained in:
kddd21a
2026-07-29 10:47:40 +00:00
commit 402c3ec6ed
171 changed files with 10536 additions and 0 deletions
+117
View File
@@ -0,0 +1,117 @@
import logging
from django.conf import settings
from django.contrib import messages
from django.core.mail import EmailMessage
from django.db import connection
from django.http import HttpResponse, JsonResponse
from django.shortcuts import redirect, render
from django.urls import reverse
from .forms import ContactForm
from accounts.leaderboard import build_leaderboard
logger = logging.getLogger(__name__)
def home(request):
rows, current_row, _ = build_leaderboard(
period="week",
current_user=request.user if request.user.is_authenticated else None,
)
preview_user = current_row or {
"rank": 24,
"name": "Akhmed",
"band": 7.5,
"trend": "up",
"initial": "A",
"is_current": True,
"demo": True,
}
return render(
request,
"home.html",
{"leaderboard_preview": rows[:5], "leaderboard_preview_user": preview_user},
)
def faq(request):
return render(request, "faq.html")
def privacy(request):
return render(request, "privacy.html")
def terms(request):
return render(request, "terms.html")
def contact(request):
form = ContactForm(request.POST or None)
if request.method == "POST" and form.is_valid():
body = (
f"Name: {form.cleaned_data['name']}\n"
f"Email: {form.cleaned_data['email']}\n\n"
f"{form.cleaned_data['message']}"
)
email = EmailMessage(
subject=f"Testpoint support: {form.cleaned_data['subject']}",
body=body,
from_email=settings.DEFAULT_FROM_EMAIL,
to=[settings.SUPPORT_EMAIL],
reply_to=[form.cleaned_data["email"]],
)
try:
email.send(fail_silently=False)
except Exception:
logger.exception("Support contact email could not be sent")
messages.error(
request,
"We could not send your message. Please try again shortly.",
)
else:
messages.success(
request,
"Your message has been sent. We'll reply as soon as possible.",
)
return redirect("contact")
return render(
request,
"contact.html",
{"form": form, "support_email": settings.SUPPORT_EMAIL},
)
def health(request):
"""Lightweight process and database readiness check for the host."""
try:
connection.ensure_connection()
except Exception:
return JsonResponse(
{"status": "unhealthy", "database": "unavailable"}, status=503
)
return JsonResponse({"status": "ok", "database": "ok"})
def robots(request):
sitemap_url = request.build_absolute_uri(reverse("sitemap"))
body = f"User-agent: *\nAllow: /\nDisallow: /admin/\nSitemap: {sitemap_url}\n"
return HttpResponse(body, content_type="text/plain")
def sitemap(request):
urls = [
request.build_absolute_uri(reverse("home")),
request.build_absolute_uri(reverse("faq")),
request.build_absolute_uri(reverse("privacy")),
request.build_absolute_uri(reverse("terms")),
request.build_absolute_uri(reverse("contact")),
]
return render(
request,
"sitemap.xml",
{"urls": urls},
content_type="application/xml",
)