mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
core: use class-based views for auth
This commit is contained in:
@@ -318,8 +318,7 @@ class DomainTestCase(ModoTestCase):
|
||||
domain = Domain.objects.get(name="test2.com")
|
||||
url = reverse("admin:domain_detail", args=[domain.pk])
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertTrue(response.url.startswith("/accounts/login"))
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
def test_domain_quota_list_view(self):
|
||||
"""Test quota list view."""
|
||||
|
||||
@@ -122,7 +122,7 @@ class DashboardTestCase(ModoTestCase):
|
||||
self.client.logout()
|
||||
self.client.login(username=self.user.username, password="toto")
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
||||
def test_custom_news(self):
|
||||
"""Check that custom news are displayed."""
|
||||
|
||||
@@ -4,13 +4,14 @@ from .admin import (
|
||||
check_top_notifications, information, logs, logs_page, parameters,
|
||||
viewsettings
|
||||
)
|
||||
from .auth import dologin, dologout, password_reset
|
||||
from .auth import PasswordResetView, dologin, dologout
|
||||
from .base import RootDispatchView
|
||||
from .dashboard import DashboardView
|
||||
from .user import api_access, index, preferences, profile
|
||||
|
||||
__all__ = [
|
||||
"DashboardView",
|
||||
"PasswordResetView",
|
||||
"RootDispatchView",
|
||||
"api_access",
|
||||
"check_top_notifications",
|
||||
@@ -21,7 +22,6 @@ __all__ = [
|
||||
"logs",
|
||||
"logs_page",
|
||||
"parameters",
|
||||
"password_reset",
|
||||
"preferences",
|
||||
"profile",
|
||||
"viewsettings",
|
||||
|
||||
@@ -115,11 +115,13 @@ def dologout(request):
|
||||
return HttpResponseRedirect(reverse("core:login"))
|
||||
|
||||
|
||||
def password_reset(request, **kwargs):
|
||||
class PasswordResetView(auth_views.PasswordResetView):
|
||||
"""Custom view to override form."""
|
||||
kwargs.update({
|
||||
"from_email": (
|
||||
request.localconfig.parameters.get_value("sender_address")),
|
||||
"password_reset_form": forms.PasswordResetForm
|
||||
})
|
||||
return auth_views.password_reset(request, **kwargs)
|
||||
|
||||
form_class = forms.PasswordResetForm
|
||||
|
||||
def setup(self, request, *args, **kwargs):
|
||||
super().setup(request, *args, **kwargs)
|
||||
self.from_email = request.localconfig.parameters.get_value(
|
||||
"sender_address"
|
||||
)
|
||||
|
||||
+6
-4
@@ -30,13 +30,15 @@ urlpatterns = [
|
||||
|
||||
path('user/forward/', user_views.forward, name="user_forward"),
|
||||
|
||||
path('accounts/password_reset/', core_views.password_reset,
|
||||
path('accounts/password_reset/', core_views.PasswordResetView.as_view(),
|
||||
name="password_reset"),
|
||||
path('accounts/password_reset/done/', auth_views.password_reset_done,
|
||||
path('accounts/password_reset/done/',
|
||||
auth_views.PasswordResetDoneView.as_view(),
|
||||
name="password_reset_done"),
|
||||
path('reset/<uidb64>/<token>/', auth_views.password_reset_confirm,
|
||||
path('reset/<uidb64>/<token>/',
|
||||
auth_views.PasswordResetConfirmView.as_view(),
|
||||
name="password_reset_confirm"),
|
||||
path('reset/done/', auth_views.password_reset_complete,
|
||||
path('reset/done/', auth_views.PasswordResetCompleteView.as_view(),
|
||||
name="password_reset_complete"),
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user