Exemple #1
0
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)
Exemple #2
0
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)