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
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
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
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
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)
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)
def get_couch_form(form_id): return FormAccessorCouch.get_form(form_id)