Esempio n. 1
0
def generate_form(xsd_string,
                  xml_string=None,
                  data_structure=None,
                  request=None):
    """Generate the form using the parser, returns the root element.

    Args:
        xsd_string:
        xml_string:
        data_structure:
        request:

    Returns:

    """
    # build parser
    parser = get_parser(request=request)
    # generate form
    root_element_id = parser.generate_form(xsd_string,
                                           xml_string,
                                           data_structure,
                                           request=request)
    # get the root element
    root_element = data_structure_element_api.get_by_id(
        root_element_id, request)

    return root_element
Esempio n. 2
0
def generate_element(request, curate_data_structure_id):
    """Generate an element absent from the form.

    Args:
        request:
        curate_data_structure_id:

    Returns:

    """
    try:
        element_id = request.POST['id']
        curate_data_structure = curate_data_structure_api.get_by_id(
            curate_data_structure_id)
        xsd_parser = get_parser()
        html_form = xsd_parser.generate_element_absent(
            request, element_id, curate_data_structure.template.content)
    except Exception, e:
        return HttpResponseBadRequest()
Esempio n. 3
0
def generate_choice(request, curate_data_structure_id):
    """Generate a choice branch absent from the form.

    Args:
        request:
        curate_data_structure_id:

    Returns:

    """
    try:
        element_id = request.POST["id"]
        curate_data_structure = curate_data_structure_api.get_by_id(
            curate_data_structure_id, request.user)
        xsd_parser = get_parser(request=request)
        template = template_api.get(str(curate_data_structure.template.id),
                                    request=request)
        html_form = xsd_parser.generate_choice_absent(
            element_id, template.content, data_structure=curate_data_structure)
    except Exception as e:
        return HttpResponseBadRequest(escape(str(e)))

    return HttpResponse(html_form)