Files
Achievement_Inputing/main/views.py

35 lines
1.1 KiB
Python

from django.shortcuts import render, redirect
from django.views.decorators.http import require_http_methods
from elastic.es_connect import get_user_by_id
@require_http_methods(["GET"])
def home(request):
# Enforce login: require session user_id
session_user_id = request.session.get("user_id")
if session_user_id is None:
return redirect("/accounts/login/")
uid = session_user_id
perm = request.session.get("permission")
u = get_user_by_id(uid) if uid is not None else None
if perm is None and uid is not None:
try:
perm = int((u or {}).get("permission", 1))
except Exception:
perm = 1
request.session["permission"] = perm
else:
try:
perm = int(perm)
except Exception:
perm = 1
has_manage_key = bool((u or {}).get("manage_key") or [])
context = {
"user_id": uid,
"username": (u or {}).get("username"),
"is_admin": (int(perm) == 0),
"has_manage_key": has_manage_key,
}
return render(request, "main/home.html", context)