Ejemplo n.º 1
0
 def iter_stock_transactions(self, form_id):
     xform = FormAccessorCouch.get_form(form_id)
     assert xform.domain == _diff_state.domain, xform
     for report in get_all_stock_report_helpers_from_form(xform):
         for tx in report.transactions:
             yield report.report_type, tx
             if tx.action == TRANSACTION_TYPE_STOCKONHAND:
                 yield report.report_type, tx
Ejemplo n.º 2
0
 def references_case(form_id):
     try:
         form = FormAccessorCouch.get_form(form_id)
     except XFormNotFound:
         return True  # assume case is referenced if form not found
     try:
         return case_id in get_case_ids_from_form(form)
     except MissingFormXml:
         return True  # assume case is referenced if form XML is missing
Ejemplo n.º 3
0
def _get_form(form_id):
    from corehq.form_processor.backends.sql.dbaccessors import FormAccessorSQL
    from corehq.form_processor.backends.couch.dbaccessors import FormAccessorCouch
    try:
        return FormAccessorSQL.get_form(form_id)
    except XFormNotFound:
        pass

    try:
        return FormAccessorCouch.get_form(form_id)
    except ResourceNotFound:
        pass

    return None
Ejemplo n.º 4
0
def _get_form(form_id):
    from corehq.form_processor.backends.sql.dbaccessors import FormAccessorSQL
    from corehq.form_processor.backends.couch.dbaccessors import FormAccessorCouch
    try:
        return FormAccessorSQL.get_form(form_id)
    except XFormNotFound:
        pass

    try:
        return FormAccessorCouch.get_form(form_id)
    except ResourceNotFound:
        pass

    return None
Ejemplo n.º 5
0
def _archive_form_data(args_json):
    def iter_forms_and_cases():
        couch_form = FormAccessorCouch.get_form(form.form_id)
        # null form_id -> do not increment form counts in case diff queue
        yield None, get_case_ids(couch_form)

    args = list(args_json)
    try:
        args[0] = form = FormAccessorSQL.get_form(args_json[0])
    except XFormNotFound:
        couch_form = FormAccessorCouch.get_form(args_json[0])
        if couch_form.doc_type != "XFormInstance":
            # form has not been migrated yet; will be copied as "unprocessed form"
            raise IgnoreSystemAction
        # edge case: form was archived when migration started, then unarchived
        # during migration -> should be migrated as unarchived form
        raise
    return form.domain, args, iter_forms_and_cases
def get_form(form_id):
    try:
        return FormAccessorSQL.get_form(form_id)
    except XFormNotFound:
        pass
    return FormAccessorCouch.get_form(form_id)
Ejemplo n.º 7
0
 def iter_forms_and_cases():
     couch_form = FormAccessorCouch.get_form(form.form_id)
     # null form_id -> do not increment form counts in case diff queue
     yield None, get_case_ids(couch_form)
Ejemplo n.º 8
0
def get_couch_form(form_id):
    return FormAccessorCouch.get_form(form_id)