def view_signup_page_success(request, id_hash):
    if id_hash is None:
        raise Http404('Reservation not found.')
    
    if not request.user.is_authenticated():
        lu.update({ 'ERR_found' : True, 'ERR_not_authenticated' : True })
        return render_to_response('reservation_signup/signup_success.html', lu, context_instance=RequestContext(request))
    
    try:
        reservation = Reservation.objects.get(id_hash=id_hash, is_visible=True)
    except Reservation.DoesNotExist:
        raise Http404('Reservation not found.')
    
    
    lu = get_common_lookup(request)
    lu.update({'reservation' : reservation
            , 'selected_date' : reservation.start_datetime.date() })
    
    timeslot_checker = TimeSlotChecker(selected_date=reservation.start_datetime.date())
    
    is_last_minute_reservation = timeslot_checker.is_last_minute_reservation(reservation)
    #print 
    if is_last_minute_reservation:
        notify_staff_of_last_minute_reservation(reservation)
    
    lu.update({ 'calendar_events' : timeslot_checker.calendar_events\
                , 'is_last_minute_reservation' :  is_last_minute_reservation })
    
    return render_to_response('reservation_signup/signup_success.html', lu, context_instance=RequestContext(request))
def view_admin_signup_page_success(request, id_hash):
    if id_hash is None:
        raise Http404('Reservation not found.')

    lu = get_common_lookup(request)
    lu.update({ 'admin_signup' : True })

    if not request.user.is_authenticated():
        lu.update({ 'ERR_found' : True, 'ERR_not_authenticated' : True })
        return render_to_response('admin_signup/admin_signup_success.html', lu, context_instance=RequestContext(request))

    cal_user = lu.get('calendar_user', None)
    if cal_user is None or not cal_user.is_calendar_admin:
        lu.update({ 'ERR_found' : True, 'ERR_no_permission_to_reserve_as_admin' : True })
        return render_to_response('admin_signup/admin_signup_success.html', lu, context_instance=RequestContext(request))
    
    try:
        reservation = Reservation.objects.get(id_hash=id_hash, is_visible=True)
    except Reservation.DoesNotExist:
        raise Http404('Reservation not found.')
    
    lu.update({'reservation' : reservation
            , 'selected_date' : reservation.start_datetime.date() })
    
    timeslot_checker = TimeSlotChecker(selected_date=reservation.start_datetime.date())
    lu.update({ 'calendar_events' : timeslot_checker.calendar_events
    , 'is_last_minute_reservation' : timeslot_checker.is_last_minute_reservation(reservation) })
    
    return render_to_response('admin_signup/admin_signup_success.html', lu, context_instance=RequestContext(request))