Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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
Exemplo n.º 7
0
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
Exemplo n.º 8
0
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)