def index(request): context = RequestContext(request) context.title = "XLS2XForm v2.0-beta1" context.form = CreateXForm() context.page_name = "Home" if request.method == "POST": id_string = request.POST.get(u'id_string') title = request.POST.get(u'title') submitted_form = CreateXForm({ 'id_string': id_string, 'title': title, 'user': request.user }) if submitted_form.is_valid(): xf_data = submitted_form.cleaned_data xf_data['user'] = request.user xf = XForm.objects.create(**xf_data) return HttpResponseRedirect("/edit/%s" % xf.id_string) else: #passed back to the page to display errors. context.form = submitted_form context.xforms = request.user.xforms.all() return render_to_response("index.html", context_instance=context)
def edit_xform(request, survey_id): context = RequestContext(request) xforms = request.user.xforms xform = xforms.get(id_string=survey_id) context.page_name = "Edit - %s" % xform.title context.title = "Edit XForm - %s" % xform.title if request.method == 'POST': #file has been posted section_file = request.FILES[u'section_file'] slug, section_json = convert_file_to_json(section_file) xform.add_or_update_section(slug=slug, section_json=section_json) #should we auto add this section if it's the first? # if xform.latest_version.sections.count()==1: # xform.order_base_sections([form_id_string]) context.xform = xform lv = xform.latest_version #section_portfolio: # --> all sections that have been uploaded to this form #included_base_sections: # --> all sections that have been specified for use in the base_section section_portfolio, included_base_sections = lv.all_sections() context.available_sections = section_portfolio context.available_sections_empty = len(section_portfolio) == 0 context.base_sections = included_base_sections context.base_sections_empty = len(included_base_sections) == 0 return render_to_response("edit_xform.html", context_instance=context)
def quick_converter(request): if request.method == 'POST': form = QuickConverter(request.POST, request.FILES) if form.is_valid(): return form.get_xform() else: form = QuickConverter() context = RequestContext(request) context.form = form context.page_name = "Home" return render_to_response( 'quick_converter.html', context_instance=context )