def view_admin_signup_page(request, selected_date): if selected_date is None: raise Http404('Signup date not found.') lu = get_common_lookup(request) lu.update({ 'admin_signup' : True }) try: selected_datetime = datetime.strptime(selected_date, '%Y-%m-%d') except: raise Http404('Signup date not found.') selected_date = selected_datetime.date() lu.update({ 'selected_date' : selected_date}) 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/reservation_signup_page.html', lu, context_instance=RequestContext(request)) if not request.user.is_authenticated(): lu.update({ 'ERR_found' : True, 'ERR_not_authenticated' : True }) return render_to_response('admin_signup/reservation_signup_page.html', lu, context_instance=RequestContext(request)) timeslot_checker = TimeSlotChecker(selected_date=selected_date) if timeslot_checker.err_found(): lu.update({ 'ERR_found' : True }) lu.update(timeslot_checker.get_lookup_for_template()) return render_to_response('admin_signup/reservation_signup_page.html', lu, context_instance=RequestContext(request)) lu.update(timeslot_checker.get_lookup_for_template()) if request.method == 'POST': # If the form has been submitted... signup_form = AdminSignupForm(request.POST) # A form bound to the POST data if signup_form.is_valid(): # All validation rules pass # Process the data in form.cleaned_data # ... new_signup = signup_form.get_reservation() success_url = reverse('view_admin_signup_page_success'\ , kwargs={ 'id_hash' : new_signup.id_hash }\ ) return HttpResponseRedirect(success_url) # Redirect after POST else: signup_form.init(timeslot_checker.get_timeslot_choices_for_form()\ , timeslot_checker.get_reservation_time_block() , cal_user ) else: signup_form = AdminSignupForm() signup_form.init(timeslot_checker.get_timeslot_choices_for_form()\ , timeslot_checker.get_reservation_time_block() , cal_user) lu.update({ 'signup_form' : signup_form , 'poster_tube_types' : PosterTubeType.objects.filter(available=True) , 'show_open_slot_links' : True}) return render_to_response('admin_signup/reservation_signup_page.html', lu, context_instance=RequestContext(request))
def view_blackout_signup_page(request, selected_date): if selected_date is None: raise Http404('Signup date not found.') lu = get_common_lookup(request) lu.update({ 'admin_blackout' : True }) try: selected_datetime = datetime.strptime(selected_date, '%Y-%m-%d') except: selected_datetime = datetime.now() #return HttpResponse('Sign up date is not valid') selected_date = selected_datetime.date() lu.update({ 'selected_date' : selected_date}) 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/blackout_signup_page.html', lu, context_instance=RequestContext(request)) if not request.user.is_authenticated(): lu.update({ 'ERR_found' : True, 'ERR_not_authenticated' : True }) return render_to_response('admin_signup/blackout_signup_page.html', lu, context_instance=RequestContext(request)) timeslot_checker = TimeSlotChecker(selected_date=selected_date) if timeslot_checker.err_found(): lu.update({ 'ERR_found' : True }) lu.update(timeslot_checker.get_lookup_for_template()) return render_to_response('admin_signup/blackout_signup_page.html', lu, context_instance=RequestContext(request)) lu.update(timeslot_checker.get_lookup_for_template()) if request.method == 'POST': # If the form has been submitted... signup_form = AdminBlackoutForm(request.POST) # A form bound to the POST data if signup_form.is_valid(): # All validation rules pass new_signup = signup_form.get_calendar_event() success_url = reverse('view_blackout_signup_success'\ , kwargs={ 'id_hash' : new_signup.id_hash }\ ) return HttpResponseRedirect(success_url) # Redirect after POST else: signup_form.init(timeslot_checker.get_start_time_choices_for_form()\ , timeslot_checker.get_end_time_choices_for_form() ) else: signup_form = AdminBlackoutForm() signup_form.init(timeslot_checker.get_start_time_choices_for_form()\ , timeslot_checker.get_end_time_choices_for_form() ) lu.update({ 'signup_form' : signup_form}) return render_to_response('admin_signup/blackout_signup_page.html', lu, context_instance=RequestContext(request))
def view_adjust_reservation_type(request, selected_date, new_reservation_time_set=False): if selected_date is None: raise Http404('selected_date is None.') lu = get_common_lookup(request) lu.update({'success_new_reservation_time_set' : new_reservation_time_set}) try: selected_date = datetime.datetime.strptime(selected_date, '%Y-%m-%d').date() lu.update({'selected_date' : selected_date }) except: raise Http404('selected_date date not found.') lu.update({ 'change_hours' : True }) if not request.user.is_authenticated(): lu.update({ 'ERR_found' : True, 'ERR_not_authenticated' : True }) return render_to_response('admin_signup/change_time_page.html', lu, context_instance=RequestContext(request)) cal_user = lu.get('calendar_user', None) if not cal_user.is_calendar_admin: lu.update({ 'ERR_found' : True, 'ERR_no_permission_to_change_time' : True }) return render_to_response('admin_signup/change_time_page.html', lu, context_instance=RequestContext(request)) timeslot_checker = TimeSlotChecker(selected_date=selected_date) lu.update(timeslot_checker.get_lookup_for_template()) if request.method == 'POST': # If the form has been submitted... change_time_form = AvailableHoursForm(request.POST) # A form bound to the POST data if change_time_form.is_valid(): # All validation rules pass if change_time_form.make_new_reservation_type(): success_url = reverse('view_adjust_reservation_type_success'\ , kwargs={ 'selected_date' : selected_date.strftime('%Y-%m-%d') }) return HttpResponseRedirect(success_url) # Redirect after POST else: change_time_form.init(selected_date) else: change_time_form = AvailableHoursForm() change_time_form.init(selected_date) lu.update({ 'change_time_form' : change_time_form}) return render_to_response('admin_signup/change_time_page.html', lu, context_instance=RequestContext(request))