From 769231f83a6e22ddd8e185bc6a446f282e5532bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6ktu=C4=9F=20A=C5=9Fc=C4=B1?= Date: Sat, 19 Oct 2024 16:40:15 +0200 Subject: [PATCH] add login redirect --- django_sql_dashboard/views.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/django_sql_dashboard/views.py b/django_sql_dashboard/views.py index f56bd6b..9d9f4f2 100644 --- a/django_sql_dashboard/views.py +++ b/django_sql_dashboard/views.py @@ -16,10 +16,7 @@ JsonResponse, StreamingHttpResponse, ) -from django.shortcuts import get_object_or_404, render -from django.utils.safestring import mark_safe - -from psycopg2.extensions import quote_ident +from django.shortcuts import get_object_or_404, redirect, render from .models import Dashboard from .utils import ( @@ -341,9 +338,9 @@ def _dashboard_index( }, json_dumps_params={ "indent": 2, - "default": lambda o: o.isoformat() - if hasattr(o, "isoformat") - else str(o), + "default": lambda o: ( + o.isoformat() if hasattr(o, "isoformat") else str(o) + ), }, ) @@ -392,7 +389,8 @@ def dashboard(request, slug, json_mode=False): # Can current user see it, based on view_policy? view_policy = dashboard.view_policy owner = dashboard.owned_by - denied = HttpResponseForbidden("You cannot access this dashboard") + login_url = f"/admin/login/?next={request.path}" + denied = redirect(login_url) denied["cache-control"] = "private" if view_policy == Dashboard.ViewPolicies.PRIVATE: if request.user != owner: