def setUp(self): self.user = User.objects.create(username="******", email="*****@*****.**") self.user.set_password("pass") self.xform1 = DataDictionary() self.xform1.user = self.user self.xform1.json = """ {"id_string": "yes_or_no", "children": [{"name": "yesno", "label": "Yes or no?", "type": "text"}], "name": "yes_or_no", "title": "yes_or_no", "type": "survey"} """.strip() self.xform2 = DataDictionary() self.xform2.user = self.user self.xform2.json = """ {"id_string": "start_time", "children": [{"name": "start_time", "type": "start"}], "name": "start_time", "title": "start_time", "type": "survey"} """.strip() def get_xml_for_form(xform): builder = SurveyElementBuilder() sss = builder.create_survey_element_from_json(xform.json) xform.xml = sss.to_xml() xform._mark_start_time_boolean() xform.save() get_xml_for_form(self.xform1) get_xml_for_form(self.xform2)
def publish_xml_form(xml_file, user, id_string=None): xml = xml_file.read() survey = create_survey_element_from_xml(xml) form_json = survey.to_json() if id_string: dd = DataDictionary.objects.get(user=user, id_string=id_string) dd.xml = xml dd.json = form_json dd._mark_start_time_boolean() set_uuid(dd) dd._set_uuid_in_xml() dd.save() return dd else: dd = DataDictionary(user=user, xml=xml, json=form_json) dd._mark_start_time_boolean() set_uuid(dd) dd._set_uuid_in_xml(file_name=xml_file.name) dd.save() return dd