def confirm_email(request, key): """ Endpoint to confirm you are owner of email """ alt_email = cpm.Email.objects.filter(activation_key=key) if alt_email.exists(): alt_email[0].confirm() return redirect('/') hero_title = 'We weren\'t able to complete your request...' return render_err_msg(request, hero_title)
def register(request, key): """ Registration page. Visitor arrives wih activation key """ profile = cpm.UserProfile.objects.filter( activation_key=key) if not profile.exists() or profile[0].user.is_active: hero_title = 'Hmm... that registration key is invalid.' return render_err_msg(request, hero_title) user = profile[0].user if request.POST: reg_form = RegForm(request.POST) if reg_form.is_valid(): user.is_active = True user.first_name = reg_form.cleaned_data['first_name'] user.last_name = reg_form.cleaned_data['last_name'] user.set_password(reg_form.cleaned_data['password']) pic_url = put_profile_pic( reg_form.cleaned_data['pic_url'], user.profile) if pic_url: user.profile.pic_url = pic_url user.profile.class_year = reg_form.cleaned_data['class_year'] alt_emails = request.POST.getlist('alt_email') for alt_email in alt_emails: if alt_email: user.profile.add_email(alt_email) user.save() user.profile.save() user = auth.authenticate(username=user.username, password=reg_form.cleaned_data['password']) if user is not None: if user.is_active: auth.login(request, user) # Redirect to a success page. return redirect('/') else: reg_form = RegForm() template_values = { 'page_title': 'register', 'form': reg_form, 'user': user, } return render_to_response('register.html', template_values, request)