I want to restrict access to reset_password page if the user is logged in and redirect it to home page!
I try to use another a class like this but it s not working
#views.py
class MyPasswordResetView(UserPassesTestMixin, PasswordResetView):
template_name = 'security/reset_password.html'
def test_func(self):
if self.request.user.is_authenticated:
return redirect("home-page")
return self.request.user.is_anonymous
But its not working!
#urls.py
urlpatterns = [
path('register/', register_page, name = "register-page"),
path('home/', home, name = "home-page"),
path('logout/', logout_view, name = "logout"),
path('login/', login_page, name = "login"),
path('account/', account_view, name = "account"),
path('change_password/', auth_views.PasswordChangeView.as_view(template_name = "security/change_password.html"), name = "password_change"),
path('change_password/done/', auth_views.PasswordChangeDoneView.as_view(template_name = "security/change_password_succes.html"), name = "password_change_done"),
path('reset_password/', MyPasswordResetView.as_view(subject_template_name = "security/password_reset_subject.txt", email_template_name = "security/password_reset_email.html", template_name = "security/reset_password.html"), name = "password_reset"),
path('reset_password/done/', auth_views.PasswordResetDoneView.as_view(template_name = "security/password_reset_done.html"), name = "password_reset_done"),
path('reset_password_din_mail_venita/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(template_name = "security/ajunge_din_mail_aici.html"), name='password_reset_confirm'),
path('reset_password/complete/', auth_views.PasswordResetCompleteView.as_view(template_name = "security/password_reset_complete.html"), name = "password_reset_complete"),
]