Merge ~blake-rouse/maas:fix-1854544 into maas:master

Proposed by Blake Rouse
Status: Merged
Approved by: Blake Rouse
Approved revision: 2d8b50e3c427abd32edfd3bd22cc3ce21735fc2b
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~blake-rouse/maas:fix-1854544
Merge into: maas:master
Diff against target: 95 lines (+5/-41)
4 files modified
src/maasserver/djangosettings/settings.py (+2/-2)
src/maasserver/middleware.py (+1/-11)
src/maasserver/tests/test_middleware.py (+1/-27)
src/maasserver/views/__init__.py (+1/-1)
Reviewer Review Type Date Requested Status
MAAS Lander Approve
Newell Jensen (community) Approve
Review via email: mp+376250@code.launchpad.net

Commit message

Fixes LP: #1854544 - Redirect to index and not to login when not authenticated.

To post a comment you must log in.
Revision history for this message
Newell Jensen (newell-jensen) wrote :

+1, tested this on the container used in filing this bug and it fixed the issue.

review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b fix-1854544 lp:~blake-rouse/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 2d8b50e3c427abd32edfd3bd22cc3ce21735fc2b

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/src/maasserver/djangosettings/settings.py b/src/maasserver/djangosettings/settings.py
2index 27ec43c..547c2c5 100644
3--- a/src/maasserver/djangosettings/settings.py
4+++ b/src/maasserver/djangosettings/settings.py
5@@ -50,8 +50,8 @@ DEBUG_QUERIES = False
6 DEBUG_HTTP = False
7
8 # The following specify named URL patterns.
9-LOGOUT_URL = "logout"
10-LOGIN_URL = "login"
11+LOGOUT_URL = "/MAAS/"
12+LOGIN_URL = "/MAAS/"
13
14 # Always use X-Forwarded-Host when possible. This is needed
15 # when MAAS is setup behind a reverse proxy.
16diff --git a/src/maasserver/middleware.py b/src/maasserver/middleware.py
17index 99a4e3c..25094ca 100644
18--- a/src/maasserver/middleware.py
19+++ b/src/maasserver/middleware.py
20@@ -104,19 +104,9 @@ class AccessMiddleware:
21
22 if request.user.is_anonymous:
23 return HttpResponseRedirect(
24- "%s?next=%s" % (reverse("login"), urlquote_plus(request.path))
25+ "/MAAS/?next=%s" % urlquote_plus(request.path)
26 )
27
28- completed_intro = Config.objects.get_config("completed_intro")
29- if not completed_intro and not request.user.is_superuser:
30- # Only administrators can completed the main intro, normal users
31- # cannot complete it so to them it has been done.
32- completed_intro = True
33-
34- if not completed_intro or not request.user.userprofile.completed_intro:
35- if request.path != "/MAAS/" and request.path != reverse("logout"):
36- return HttpResponseRedirect("/MAAS/")
37-
38 return self.get_response(request)
39
40
41diff --git a/src/maasserver/tests/test_middleware.py b/src/maasserver/tests/test_middleware.py
42index d44779a..6ae3a64 100644
43--- a/src/maasserver/tests/test_middleware.py
44+++ b/src/maasserver/tests/test_middleware.py
45@@ -84,36 +84,10 @@ class TestAccessMiddleware(MAASServerTestCase):
46 http.client.OK, self.process_request(request).status_code
47 )
48
49- def test_return_redirect_login(self):
50+ def test_return_redirect_index(self):
51 request = factory.make_fake_request("/MAAS/")
52 request.user = AnonymousUser()
53 self.assertEqual(
54- "/MAAS/accounts/login/",
55- extract_redirect(self.process_request(request)),
56- )
57-
58- def test_return_redirect_to_index_on_admin_not_completed_intro(self):
59- Config.objects.set_config("completed_intro", False)
60- request = factory.make_fake_request("/MAAS/account/prefs")
61- request.user = factory.make_admin()
62- self.assertEqual(
63- "/MAAS/", extract_redirect(self.process_request(request))
64- )
65-
66- def test_return_request_on_user_not_completed_intro(self):
67- Config.objects.set_config("completed_intro", False)
68- request = factory.make_fake_request("/MAAS/account/prefs")
69- request.user = factory.make_User()
70- self.assertEqual(
71- http.client.OK, self.process_request(request).status_code
72- )
73-
74- def test_return_redirect_to_index_on_user_not_completed_user_intro(self):
75- Config.objects.set_config("completed_intro", False)
76- request = factory.make_fake_request("/MAAS/account/prefs")
77- request.user = factory.make_admin()
78- request.user.userprofile.completed_intro = False
79- self.assertEqual(
80 "/MAAS/", extract_redirect(self.process_request(request))
81 )
82
83diff --git a/src/maasserver/views/__init__.py b/src/maasserver/views/__init__.py
84index 5eb04a4..94974fc 100644
85--- a/src/maasserver/views/__init__.py
86+++ b/src/maasserver/views/__init__.py
87@@ -14,7 +14,7 @@ def handler404(request, *args, **kwargs):
88
89 Index is handled by the static content loaded by the twisted WebApp.
90 """
91- return redirect("/")
92+ return redirect("/MAAS/")
93
94
95 class TextTemplateView(TemplateView):

Subscribers

People subscribed via source and target branches