| Home | Trees | Indices | Help |
|---|
|
|
1 from django.contrib.auth.forms import AuthenticationForm 2 from django.contrib.auth.forms import PasswordResetForm, PasswordChangeForm 3 from django import oldforms 4 from django.shortcuts import render_to_response 5 from django.template import RequestContext 6 from django.contrib.sites.models import Site, RequestSite 7 from django.http import HttpResponseRedirect 8 from django.contrib.auth.decorators import login_required 9 from django.contrib.auth import REDIRECT_FIELD_NAME 10 from django.utils.translation import ugettext as _ 1112 -def login(request, template_name='registration/login.html', redirect_field_name=REDIRECT_FIELD_NAME):13 "Displays the login form and handles the login action." 14 manipulator = AuthenticationForm(request) 15 redirect_to = request.REQUEST.get(redirect_field_name, '') 16 if request.POST: 17 errors = manipulator.get_validation_errors(request.POST) 18 if not errors: 19 # Light security check -- make sure redirect_to isn't garbage. 20 if not redirect_to or '//' in redirect_to or ' ' in redirect_to: 21 from django.conf import settings 22 redirect_to = settings.LOGIN_REDIRECT_URL 23 from django.contrib.auth import login 24 login(request, manipulator.get_user()) 25 request.session.delete_test_cookie() 26 return HttpResponseRedirect(redirect_to) 27 else: 28 errors = {} 29 request.session.set_test_cookie() 30 31 if Site._meta.installed: 32 current_site = Site.objects.get_current() 33 else: 34 current_site = RequestSite(request) 35 36 return render_to_response(template_name, { 37 'form': oldforms.FormWrapper(manipulator, request.POST, errors), 38 redirect_field_name: redirect_to, 39 'site_name': current_site.name, 40 }, context_instance=RequestContext(request))4143 "Logs out the user and displays 'You are logged out' message." 44 from django.contrib.auth import logout 45 logout(request) 46 if next_page is None: 47 return render_to_response(template_name, {'title': _('Logged out')}, context_instance=RequestContext(request)) 48 else: 49 # Redirect to this page until the session has been cleared. 50 return HttpResponseRedirect(next_page or request.path)5153 "Logs out the user if he is logged in. Then redirects to the log-in page." 54 if not login_url: 55 from django.conf import settings 56 login_url = settings.LOGIN_URL 57 return logout(request, login_url)5860 "Redirects the user to the login page, passing the given 'next' page" 61 if not login_url: 62 from django.conf import settings 63 login_url = settings.LOGIN_URL 64 return HttpResponseRedirect('%s?%s=%s' % (login_url, redirect_field_name, next))6566 -def password_reset(request, is_admin_site=False, template_name='registration/password_reset_form.html', 67 email_template_name='registration/password_reset_email.html'):68 new_data, errors = {}, {} 69 form = PasswordResetForm() 70 if request.POST: 71 new_data = request.POST.copy() 72 errors = form.get_validation_errors(new_data) 73 if not errors: 74 if is_admin_site: 75 form.save(domain_override=request.META['HTTP_HOST']) 76 else: 77 form.save(email_template_name=email_template_name) 78 return HttpResponseRedirect('%sdone/' % request.path) 79 return render_to_response(template_name, {'form': oldforms.FormWrapper(form, new_data, errors)}, 80 context_instance=RequestContext(request))81 8486 new_data, errors = {}, {} 87 form = PasswordChangeForm(request.user) 88 if request.POST: 89 new_data = request.POST.copy() 90 errors = form.get_validation_errors(new_data) 91 if not errors: 92 form.save(new_data) 93 return HttpResponseRedirect('%sdone/' % request.path) 94 return render_to_response(template_name, {'form': oldforms.FormWrapper(form, new_data, errors)}, 95 context_instance=RequestContext(request))96 password_change = login_required(password_change) 97 100
| Home | Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0.1 on Thu Apr 17 18:52:31 2008 | http://epydoc.sourceforge.net |