Example #1
0
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)
Example #2
0
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)
Example #3
0
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
        )