lib.itmens/common/views.py

48 lines
1.2 KiB
Python
Raw Normal View History

2023-04-24 00:56:13 -04:00
from django.contrib import messages
2023-02-04 00:45:17 -05:00
from django.shortcuts import redirect, render
from django.urls import reverse
2020-05-01 22:46:15 +08:00
from django.contrib.auth.decorators import login_required
2023-02-15 15:45:57 -05:00
from .api import api
2020-05-01 22:46:15 +08:00
2020-05-01 22:46:15 +08:00
@login_required
def home(request):
2023-04-20 10:12:05 -04:00
home = request.user.get_preference().classic_homepage
if home == 1:
2023-01-09 00:37:34 -05:00
return redirect(
reverse("journal:user_profile", args=[request.user.mastodon_username])
)
2023-04-20 10:12:05 -04:00
elif home == 2:
return redirect(reverse("social:feed"))
2022-05-30 22:48:11 -04:00
else:
2023-04-19 22:31:27 -04:00
return redirect(reverse("catalog:discover"))
2023-02-04 00:45:17 -05:00
def error_400(request, exception=None):
2023-04-24 00:56:13 -04:00
return render(
request,
"400.html",
{"exception": exception},
status=400,
)
2023-02-04 00:45:17 -05:00
def error_403(request, exception=None):
return render(request, "403.html", status=403)
def error_404(request, exception=None):
return render(request, "404.html", status=404)
def error_500(request, exception=None):
return render(request, "500.html", status=500)
2023-02-15 15:45:57 -05:00
def api_doc(request):
context = {
"api": api,
"openapi_json_url": reverse(f"{api.urls_namespace}:openapi-json"),
}
return render(request, "api_doc.html", context)