245 return HttpResponseRedirect(reverse('index')) |
245 return HttpResponseRedirect(reverse('index')) |
246 else: |
246 else: |
247 form = SettingsDesignForm() |
247 form = SettingsDesignForm() |
248 |
248 |
249 return render_to_response('site/settings_design.html', {'form' : form}, context_instance=RequestContext(request)) |
249 return render_to_response('site/settings_design.html', {'form' : form}, context_instance=RequestContext(request)) |
250 |
250 |
251 class ForgotPWForm(forms.Form): |
251 |
252 name_or_email = forms.CharField(label=ugettext_lazy("Username or email"), |
252 def password_reset_done(request): |
253 required=True, |
253 display_message(request, _(u'A link to reset your password has been sent to the profile email. Please check your email.')) |
254 ) |
254 return HttpResponseRedirect(reverse('index')) |
255 |
255 |
256 def forgot_pw(request): |
256 def password_reset_complete(request): |
257 if request.method == 'POST': |
257 display_message(request, _(u'Password changed')) |
258 form = ForgotPWForm(data=request.POST) |
258 return HttpResponseRedirect(reverse('index')) |
259 if form.is_valid() : |
|
260 name_or_email = form.cleaned_data.get("name_or_email") |
|
261 # try email |
|
262 user = None |
|
263 try: |
|
264 user = User.objects.get(email__iexact = name_or_email) |
|
265 except User.DoesNotExist: |
|
266 pass |
|
267 # try email |
|
268 try: |
|
269 user = User.objects.get(username__exact = name_or_email) |
|
270 except User.DoesNotExist: |
|
271 pass |
|
272 if user: |
|
273 message = render_to_string('email/forgot_pw.txt', |
|
274 { |
|
275 'reset_url' : reverse('reset-pw', args=[user.get_profile().adminkey]), |
|
276 'CONF': Configuration.objects |
|
277 }) |
|
278 |
|
279 send_mail(_(u'How to reset your password'), message, Configuration.objects['email_from'], [user.email]) |
|
280 |
|
281 display_message(request, _(u'A link to reset your password has been sent to the profile email. Please check your email.')) |
|
282 else: |
|
283 display_message(request, _(u'No user found.')) |
|
284 return HttpResponseRedirect(reverse('index')) |
|
285 else: |
|
286 form = ForgotPWForm() |
|
287 |
|
288 return render_to_response('site/forgot_pw.html', {'form' : form}, context_instance=RequestContext(request)) |
|
289 |
|
290 from django.contrib.auth.forms import SetPasswordForm |
|
291 |
|
292 def reset_pw(request, adminkey): |
|
293 try: |
|
294 profile = UserProfile.objects.get(adminkey=adminkey) |
|
295 if request.method == 'POST': |
|
296 form = SetPasswordForm(profile.user,data=request.POST) |
|
297 if form.is_valid(): |
|
298 form.save() |
|
299 display_message(request, _(u'Your password has been changed.')) |
|
300 return HttpResponseRedirect(reverse('index')) |
|
301 else: |
|
302 form = SetPasswordForm(profile.user) |
|
303 return render_to_response('site/reset_pw.html', {'form' : form}, context_instance=RequestContext(request)) |
|
304 except UserProfile.DoesNotExist: |
|
305 from django.http import Http404 |
|
306 |
259 |
307 def help(request): |
260 def help(request): |
308 return render_to_response('site/help.html', context_instance=RequestContext(request)) |
261 return render_to_response('site/help.html', context_instance=RequestContext(request)) |
309 |
262 |