3939
4040
4141@require_GET
42- def verify_user_and_activate (request , user_email , user_token ):
42+ def verify_and_activate_user (request , user_email , user_token ):
4343 """
4444 A view function already implemented for you so you don't have to implement any function for verification
4545 as this function will be automatically be called when user clicks on verification link.
@@ -70,6 +70,7 @@ def verify_user_and_activate(request, user_email, user_token):
7070 )
7171 return render (
7272 request ,
73+ status = 401 ,
7374 template_name = failed_template ,
7475 context = {
7576 "msg" : failed_msg ,
@@ -80,6 +81,7 @@ def verify_user_and_activate(request, user_email, user_token):
8081 except SignatureExpired :
8182 return render (
8283 request ,
84+ status = 401 ,
8385 template_name = link_expired_template ,
8486 context = {
8587 "msg" : "The link has lived its life :( Request a new one!" ,
@@ -91,6 +93,7 @@ def verify_user_and_activate(request, user_email, user_token):
9193 except BadSignature :
9294 return render (
9395 request ,
96+ status = 401 ,
9497 template_name = failed_template ,
9598 context = {
9699 "msg" : "This link was modified before verification." ,
@@ -101,6 +104,7 @@ def verify_user_and_activate(request, user_email, user_token):
101104 except MaxRetriesExceeded :
102105 return render (
103106 request ,
107+ status = 401 ,
104108 template_name = failed_template ,
105109 context = {
106110 "msg" : "You have exceeded the maximum verification requests! Contact admin." ,
@@ -110,6 +114,7 @@ def verify_user_and_activate(request, user_email, user_token):
110114 except InvalidToken :
111115 return render (
112116 request ,
117+ status = 401 ,
113118 template_name = failed_template ,
114119 context = {
115120 "msg" : "This link is invalid or been used already, we cannot verify using this link." ,
@@ -119,10 +124,29 @@ def verify_user_and_activate(request, user_email, user_token):
119124 except UserNotFound :
120125 raise Http404 ("404 User not found" )
121126
127+ except Exception as err :
128+ logger .exception (err )
129+ flash_msg = "Something went wrong during this process!"
130+ if debug :
131+ flash_msg = f"""{ flash_msg } Developer should look into this.
132+ Error Details: { err }
133+ (You are seeing error details because app is running in debug mode)
134+ """
135+ return render (
136+ request ,
137+ status = 403 ,
138+ template_name = failed_template ,
139+ context = {
140+ "msg" : flash_msg ,
141+ "status" : "Failed!" ,
142+ },
143+ )
144+
145+
122146
123- def request_new_link (request , useremail = None , usertoken = None ):
147+ def request_new_link (request , user_email = None , user_token = None ):
124148 try :
125- if useremail is None or usertoken is None :
149+ if user_email is None or user_token is None :
126150 # request came from re-request email page
127151 if request .method == "POST" :
128152 form = RequestNewVerificationEmail (request .POST ) # do not inflate data
@@ -157,7 +181,7 @@ def request_new_link(request, useremail=None, usertoken=None):
157181 else :
158182 # request came from previously sent link
159183 status = ActivationMailManager .resend_verification_link (
160- request , useremail , token = usertoken
184+ request , user_email , token = user_token
161185 )
162186 if status :
163187 return render (
@@ -192,6 +216,7 @@ def request_new_link(request, useremail=None, usertoken=None):
192216 )
193217 return render (
194218 request ,
219+ status = 403 ,
195220 template_name = failed_template ,
196221 context = {
197222 "msg" : "You have exceeded the maximum verification requests! Contact admin." ,
@@ -210,6 +235,7 @@ def request_new_link(request, useremail=None, usertoken=None):
210235 except UserAlreadyActive :
211236 return render (
212237 request ,
238+ status = 403 ,
213239 template_name = failed_template ,
214240 context = {
215241 "msg" : "This user's account is already active" ,
@@ -226,6 +252,7 @@ def request_new_link(request, useremail=None, usertoken=None):
226252 """
227253 return render (
228254 request ,
255+ status = 403 ,
229256 template_name = failed_template ,
230257 context = {
231258 "msg" : flash_msg ,
0 commit comments