def submit_error_case(case_id): """ Used if something went wrong creating the real vscan case update. """ xform = render_vscan_error(case_id) lock = create_and_lock_xform(xform, process=None, domain=UTH_DOMAIN) lock.obj.domain = UTH_DOMAIN return process_cases(lock.obj)
def submit_error_case(case_id): """ Used if something went wrong creating the real vscan case update. """ xform = render_vscan_error(case_id) lock = create_and_lock_xform( xform, process=None, domain=UTH_DOMAIN, ) lock.obj.domain = UTH_DOMAIN return process_cases(lock.obj)
def attach_images_to_case(case_id, files): """ Handle case submission for the vscan endpoint """ xform = render_vscan_xform(case_id, files) file_dict = {} for f in files: identifier = os.path.split(f)[-1] file_dict[identifier] = UploadedFile(files[f], identifier) lock = create_and_lock_xform(xform, attachments=file_dict, process=None, domain=UTH_DOMAIN) lock.obj.domain = UTH_DOMAIN return process_cases(lock.obj)
def create_case(case_id, files, patient_case_id=None): """ Handle case submission for the sonosite endpoint """ # we already parsed what we need from this, so can just remove it # without worrying we will need it later files.pop("PT_PPS.XML", "") xform = render_sonosite_xform(files, case_id, patient_case_id) file_dict = {} for f in files: file_dict[f] = UploadedFile(files[f], f) lock = create_and_lock_xform(xform, attachments=file_dict, process=None, domain=UTH_DOMAIN) lock.obj.domain = UTH_DOMAIN return process_cases(lock.obj)
def attach_images_to_case(case_id, files): """ Handle case submission for the vscan endpoint """ xform = render_vscan_xform(case_id, files) file_dict = {} for f in files: identifier = os.path.split(f)[-1] file_dict[identifier] = UploadedFile(files[f], identifier) lock = create_and_lock_xform( xform, attachments=file_dict, process=None, domain=UTH_DOMAIN, ) lock.obj.domain = UTH_DOMAIN return process_cases(lock.obj)
def post_case_blocks(case_blocks, form_extras=None): """ Post case blocks. Extras is used to add runtime attributes to the form before sending it off to the case (current use case is sync-token pairing) """ from casexml.apps.case import process_cases if form_extras is None: form_extras = {} form = ElementTree.Element("data") form.attrib["xmlns"] = "https://www.commcarehq.org/test/casexml-wrapper" form.attrib["xmlns:jrm"] = "http://openrosa.org/jr/xforms" for block in case_blocks: form.append(block) with create_and_lock_xform(ElementTree.tostring(form)) as xform: for k, v in form_extras.items(): setattr(xform, k, v) process_cases(xform=xform) return xform
def post_case_blocks(case_blocks, form_extras=None): """ Post case blocks. Extras is used to add runtime attributes to the form before sending it off to the case (current use case is sync-token pairing) """ from casexml.apps.case import process_cases if form_extras is None: form_extras = {} form = ElementTree.Element("data") form.attrib['xmlns'] = "https://www.commcarehq.org/test/casexml-wrapper" form.attrib['xmlns:jrm'] = "http://openrosa.org/jr/xforms" for block in case_blocks: form.append(block) with create_and_lock_xform(ElementTree.tostring(form)) as xform: for k, v in form_extras.items(): setattr(xform, k, v) process_cases(xform=xform) return xform
def create_case(case_id, files, patient_case_id=None): """ Handle case submission for the sonosite endpoint """ # we already parsed what we need from this, so can just remove it # without worrying we will need it later files.pop('PT_PPS.XML', '') xform = render_sonosite_xform(files, case_id, patient_case_id) file_dict = {} for f in files: file_dict[f] = UploadedFile(files[f], f) lock = create_and_lock_xform( xform, attachments=file_dict, process=None, domain=UTH_DOMAIN, ) lock.obj.domain = UTH_DOMAIN return process_cases(lock.obj)