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
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()
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)