@@ -114,8 +114,8 @@ def create_account(request):
114114 context_instance = RequestContext (request ))
115115
116116
117- def confirm_account (request , username , date , realm , registration_hash ):
118- valid = hashlib .md5 ('%s%s%s%s' % (settings .SECRET_KEY , date , username , realm )).hexdigest () == registration_hash
117+ def process_confirmation (request , username , date , realm , hash ):
118+ valid = hashlib .md5 ('%s%s%s%s' % (settings .SECRET_KEY , date , username , realm )).hexdigest () == hash
119119 if not valid :
120120 raise Http404
121121 request_date = datetime .date (int (date [:4 ]), int (date [4 :6 ]), int (date [6 :]))
@@ -125,11 +125,14 @@ def confirm_account(request, username, date, realm, registration_hash):
125125 if request .method == 'POST' :
126126 form = PasswordForm (request .POST , username = username )
127127 if form .is_valid ():
128- form .save ()
129- # TODO: Add the user in the htdigest file
128+ form .save () # Also updates the httpd password file
130129 success = True
131130 else :
132131 form = PasswordForm (username = username )
132+ return form , username , success
133+
134+ def confirm_account (request , username , date , realm , hash ):
135+ form , username , success = process_confirmation (request , username , date , realm , hash )
133136 return render_to_response ('registration/confirm.html' ,
134137 {'form' : form , 'email' : username , 'success' : success },
135138 context_instance = RequestContext (request ))
@@ -151,19 +154,8 @@ def password_reset_view(request):
151154 context_instance = RequestContext (request ))
152155
153156
154- def confirm_password_reset (request , username , date , realm , reset_hash ):
155- valid = hashlib .md5 ('%s%s%s%s' % (settings .SECRET_KEY , date , username , realm )).hexdigest () == reset_hash
156- if not valid :
157- raise Http404
158- success = False
159- if request .method == 'POST' :
160- form = PasswordForm (request .POST , update_user = True , username = username )
161- if form .is_valid ():
162- form .save ()
163- # TODO: Update the user in the htdigest file
164- success = True
165- else :
166- form = PasswordForm (username = username )
157+ def confirm_password_reset (request , username , date , realm , hash ):
158+ form , username , success = process_confirmation (request , username , date , realm , hash )
167159 return render_to_response ('registration/change_password.html' ,
168160 {'form' : form ,
169161 'success' : success ,
0 commit comments