Example #1
0
def vote(request, poll_id):
  poll = get_object_or_404(Poll, pk=poll_id)
  try:
    selected_choice = poll.choice_set.get(pk=request.POST['choice'])
  except (KeyError, Choice.DoesNotExist):
    return render_to_response('polls/slide_poll.html', {
      'poll': poll,
    }, context_instance=RequestContext(request))
  else:
    vote = Vote()
    vote.choice = selected_choice

    if user_is_logged_in(request):
      profile = UserProfile.objects.get(email = request.session['login_email'])
      vote.user_profile = profile
    vote.save()

    return render_to_response('presentations/slide.html', {'slide': poll},
      context_instance=RequestContext(request))
Example #2
0
def register(request, event_id = None):
  profile = None
  registration = None
  request.session['user_registered'] = None
  event = get_event(event_id)
  request.session['event_id'] = event.id

  if request.session.has_key('login_email'):
    profile, registration = get_user_profile_registration(event, request.session['login_email'])
    if profile and registration:
      request.session['user_registered'] = "True"
      if registration.completed_exit_survey == "True":
        request.session['thank_you'] = "thanks"
  else:
    request.session['login_email'] = None

  login_form = LoginForm()
  logout_form = LogoutForm()
  register_event_form = RegisterEventForm()
  user_profile_form = UserProfileForm()

  if request.method == "POST":
    login_form = LoginForm(request.POST)
    logout_form = LogoutForm(request.POST)
    register_event_form = RegisterEventForm(request.POST)
    user_profile_form = UserProfileForm(request.POST)

    if user_profile_form.is_valid():
      if not user_profile_exists(user_profile_form.cleaned_data['email']):
        usr = user_profile_form.save(commit=False)
        usr.ip_address = request.META['REMOTE_ADDR']
        usr.save()
        login_user(request, user_profile_form.cleaned_data['email'])
        register_user_for_event(request, event, usr)
        return HttpResponseRedirect(reverse('event', args=[event_id]))
      else:
        # the user already exists
        # TO DO
        user_profile_form = UserProfileForm()
        pass
    elif login_form.is_valid():
      if user_profile_exists(login_form.cleaned_data['email']):
        login_user(request, login_form.cleaned_data['email'])
        #if is_first_redirect(request):
        #  return HttpResponseRedirect(reverse('register', args=[event_id, settings.REGISTRATION_MESSAGE]))
        #else:
        return HttpResponseRedirect(reverse('event', args=[event_id]))
      else:
        # Do Nothing (page will reload with no one logged in)
        login_form = LoginForm()
        logout_form = LogoutForm()
        pass
    elif logout_form.is_valid():
      logout_user(request)
      login_form = LoginForm()
      user_profile_form = UserProfileForm()
      register_event_form = RegisterEventForm()
    
    if user_is_logged_in(request):
      if register_event_form.is_valid():
        register_user_for_event(request, event, profile)
        return HttpResponseRedirect(reverse('event', args=[event_id]))

  context_data = {
    'event': event,
    'login_form': login_form,
    'logout_form': logout_form,
    'register_event_form': register_event_form,
    'user_profile_form': user_profile_form,
  }

  return render_to_response('register.html', context_data, context_instance = RequestContext(request))