From a37ea1d93c5ebb10cc3c0440b9b737feb77dd1c6 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Sun, 4 Dec 2022 17:39:00 +0300 Subject: [PATCH] Add `expired` state to `invalid` handler --- password_reset/views.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/password_reset/views.py b/password_reset/views.py index 1c1388ab..10cbd9b8 100644 --- a/password_reset/views.py +++ b/password_reset/views.py @@ -137,14 +137,16 @@ def dispatch(self, request, *args, **kwargs): pk = signing.loads(kwargs['token'], max_age=self.get_token_expires(), salt=self.salt) + except signing.SignatureExpired: + return self.invalid(expired=True) except signing.BadSignature: return self.invalid() self.user = get_object_or_404(get_user_model(), pk=pk) return super(Reset, self).dispatch(request, *args, **kwargs) - def invalid(self): - return self.render_to_response(self.get_context_data(invalid=True)) + def invalid(self, expired=False): + return self.render_to_response(self.get_context_data(invalid=True, expired=expired)) def get_form_kwargs(self): kwargs = super(Reset, self).get_form_kwargs()