X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=apps%2Fpatchwork%2Fviews%2Fuser.py;h=1ae3c2dd3843cc37c33f32dc31e9b9262dc4b3df;hb=f23f76b8756a12614097fec500d3ca3e6aa3227b;hp=0e145494ab023a6c3888b7e3efdb21f828f17650;hpb=3c6909740c2b00c31a9b39b5ef8e0ce7f588f685;p=patchwork diff --git a/apps/patchwork/views/user.py b/apps/patchwork/views/user.py index 0e14549..1ae3c2d 100644 --- a/apps/patchwork/views/user.py +++ b/apps/patchwork/views/user.py @@ -21,95 +21,17 @@ from django.contrib.auth.decorators import login_required from patchwork.requestcontext import PatchworkRequestContext from django.shortcuts import render_to_response, get_object_or_404 -from django.contrib import auth -from django.http import HttpResponse, HttpResponseRedirect -from patchwork.models import Project, Patch, Bundle, Person, \ - RegistrationRequest, UserProfile, UserPersonConfirmation, State -from patchwork.forms import RegisterForm, LoginForm, MultiplePatchForm, \ - UserProfileForm, UserPersonLinkForm -from patchwork.utils import Order, get_patch_ids +from django.http import HttpResponseRedirect +from patchwork.models import Project, Bundle, Person, UserPersonConfirmation, \ + State +from patchwork.forms import UserProfileForm, UserPersonLinkForm from patchwork.filters import DelegateFilter -from patchwork.paginator import Paginator from patchwork.views import generic_list from django.template.loader import render_to_string -from django.template import Context from django.conf import settings from django.core.mail import send_mail import django.core.urlresolvers -def register(request): - context = PatchworkRequestContext(request) - template = 'patchwork/register.html' - - if request.method != 'POST': - form = RegisterForm() - context['form'] = form - return render_to_response(template, context) - - reg_req = RegistrationRequest() - form = RegisterForm(instance = reg_req, data = request.POST) - - if form.is_valid(): - form.save() - try: - context['request'] = reg_req - send_mail('Patchwork account confirmation', - render_to_string('patchwork/register.mail', context), - settings.PATCHWORK_FROM_EMAIL, - [form.cleaned_data['email']]) - - except Exception, ex: - context['request'] = None - context['error'] = 'An error occurred during registration. ' + \ - 'Please try again later' - - context['form'] = form - - return render_to_response(template, context) - -def register_confirm(request, key): - context = PatchworkRequestContext(request) - req = get_object_or_404(RegistrationRequest, key = key) - req.create_user() - user = auth.authenticate(username = req.username, password = req.password) - auth.login(request, user) - - return render_to_response('patchwork/register-confirm.html', context) - -def login(request): - context = PatchworkRequestContext(request) - template = 'patchwork/login.html' - error = None - - if request.method == 'POST': - form = LoginForm(request.POST) - context['form'] = form - - if not form.is_valid(): - return render_to_response(template, context) - - data = form.cleaned_data - user = auth.authenticate(username = data['username'], - password = data['password']) - - if user is not None and user.is_active: - auth.login(request, user) - url = request.POST.get('next', None) or \ - django.core.urlresolvers.reverse( \ - 'patchwork.views.user.profile') - return HttpResponseRedirect(url) - - context['error'] = 'Invalid username or password' - - else: - context['form'] = LoginForm() - - return render_to_response(template, context) - -def logout(request): - auth.logout(request) - return render_to_response('patchwork/logout.html') - @login_required def profile(request): context = PatchworkRequestContext(request) @@ -136,25 +58,26 @@ def profile(request): def link(request): context = PatchworkRequestContext(request) - form = UserPersonLinkForm(request.POST) if request.method == 'POST': form = UserPersonLinkForm(request.POST) if form.is_valid(): conf = UserPersonConfirmation(user = request.user, email = form.cleaned_data['email']) + conf.save() context['confirmation'] = conf try: send_mail('Patchwork email address confirmation', render_to_string('patchwork/user-link.mail', context), - settings.PATCHWORK_FROM_EMAIL, + settings.DEFAULT_FROM_EMAIL, [form.cleaned_data['email']]) - conf.save() - except Exception, ex: + except Exception: context['confirmation'] = None context['error'] = 'An error occurred during confirmation. ' + \ 'Please try again later' + else: + form = UserPersonLinkForm() context['linkform'] = form return render_to_response('patchwork/user-link.html', context) @@ -174,7 +97,6 @@ def link_confirm(request, key): @login_required def unlink(request, person_id): - context = PatchworkRequestContext(request) person = get_object_or_404(Person, id = person_id) if request.method == 'POST':