def index(request, add_view='appointmentbook:add', remove_view='appointmentbook:remove', add_form_class=forms.AddAppointmentStep0Form, remove_form_class=forms.LoginForm, check_credentials=checks.check_credentials, check_new_appointment=checks.check_new_appointment, template='index.html'): add_form = None remove_form = None if request.method == 'POST': cookie_test = request.session.test_cookie_worked() if add_form_class.submit in request.POST: add_form = add_form_class(request.POST) if add_form.is_valid() and cookie_test: try: check_new_appointment(add_form.cleaned_data) except checks.UserAlreadyHaveAnAppointment as e: add_form.append_non_field_error(e) else: request.session.delete_test_cookie() request.session.set_expiry(settings.SESSION_COOKIE_AGE) session.save_form_data(request, add_form) return redirect(add_view) elif not cookie_test: add_form.append_non_field_error(MESSAGE_DICT['enable_cookies']) elif remove_form_class.submit in request.POST: remove_form = remove_form_class(request.POST) if remove_form.is_valid() and cookie_test: person_id = remove_form.cleaned_data['person_id'] key = remove_form.cleaned_data['key'] try: check_credentials(person_id, key) except checks.AppointmentDoesNotExist as e: remove_form.append_non_field_error(e) else: request.session.delete_test_cookie() request.session.set_expiry(settings.SESSION_COOKIE_AGE) session.save_form_data(request, remove_form) return redirect(remove_view, key) elif not cookie_test: remove_form.append_non_field_error( MESSAGE_DICT['enable_cookies']) if add_form is None: add_form = add_form_class() if remove_form is None: remove_form = remove_form_class() request.session.set_test_cookie() return render_to_response( template, { 'add_form': add_form, 'remove_form': remove_form, }, context_instance=RequestContext(request))
def login(request, login_view='appointmentbook:login', show_view='appointmentbook:show', form_class=forms.LoginForm, checks_credentials=checks.checks_credentials, template='login.html'): form = None if request.method == 'POST': cookie_test = request.session.test_cookie_worked() request_post = request.POST if 'continue' in request.GET: view, args, kwargs = urlresolvers.resolve(request.GET['continue']) if 'key' in kwargs: request_post['key'] = kwargs['key'] form = form_class(request_post) if form.is_valid() and cookie_test: person_id = form.cleaned_data['person_id'] key = form.cleaned_data['key'] try: checks_credentials(person_id, key) except checks.AppointmentDoesNotExist as e: form.append_non_field_error(e) else: request.session.delete_test_cookie() request.session.set_expiry(settings.SESSION_COOKIE_AGE) session.save_form_data(request, form) if 'continue' in request.GET: return redirect(request.GET['continue']) else: return redirect(show_view, key) elif not cookie_test: form.append_non_field_error(MESSAGE_DICT['enable_cookies']) elif 'continue' in request.GET: view, args, kwargs = urlresolvers.resolve(request.GET['continue']) if 'key' in kwargs: form = form_class(hiden_fields=['key']) if form is None: form = form_class() request.session.set_test_cookie() return render_to_response( template, {'form': form}, context_instance=RequestContext(request))