from datetime import datetime from django.core.handlers.wsgi import WSGIRequest from django.http import HttpResponse, HttpResponseRedirect from tmessage.models import tMMessage from .helper import (get_user_object, get_username, render_template, username_exists) def auth(request: WSGIRequest) -> HttpResponseRedirect: resp = HttpResponseRedirect("/") if "remove" in request.GET: resp.set_cookie("sessionid", "", max_age=0, expires=datetime(0, 0, 0)) else: resp.set_cookie("sessionid", request.GET.get("sessionid") or "") return resp def index(request: WSGIRequest) -> HttpResponse: username = get_username(request) if username: user = get_user_object(username, i_promise_this_user_exists=True) return render_template( request, "index.html", username=username, new=user.received.filter(response=None).count() # type: ignore ) return render_template( request, "noauth/index.html" ) def profile(request: WSGIRequest, username: str) -> HttpResponse: ... def message(request: WSGIRequest, username: str) -> HttpResponse: if not username_exists(username): return render_template( request, "404.html" ) error = "" if request.method == "POST": content = (request.POST.get("message") or "").strip() if len(content) > 10000: error = "Invalid message" else: self_username = get_username(request) if self_username is None: anonymous = True u_from = None else: anonymous = request.POST.get("anonymous") is not None u_from = get_user_object(self_username, i_promise_this_user_exists=True) tMMessage.objects.create( content=content, response=None, anonymous=anonymous, u_to=get_user_object(username, i_promise_this_user_exists=True), u_from=u_from ) error = "Sent!" return render_template( request, "message.html", username=username, error=error, self_username=get_username(request) )