def _rebuild_case_from_transactions(case, detail, updated_xforms=None): transactions = get_case_transactions(case.case_id, updated_xforms=updated_xforms) strategy = SqlCaseUpdateStrategy(case) rebuild_transaction = CaseTransaction.rebuild_transaction(case, detail) strategy.rebuild_from_transactions(transactions, rebuild_transaction) return case
def _rebuild_case_from_transactions(case, detail, updated_xforms=None): transactions = get_case_transactions(case.case_id, updated_xforms=updated_xforms) strategy = SqlCaseUpdateStrategy(case) rebuild_transaction = CaseTransaction.rebuild_transaction(case, detail) unarchived_form_id = None if detail.type == CaseTransaction.TYPE_REBUILD_FORM_ARCHIVED and not detail.archived: # we're rebuilding because a form was un-archived unarchived_form_id = detail.form_id strategy.rebuild_from_transactions( transactions, rebuild_transaction, unarchived_form_id=unarchived_form_id ) return case
def _rebuild_case_from_transactions(case, detail, updated_xforms=None): transactions = CaseAccessorSQL.get_case_transactions_by_case_id( case, updated_xforms=updated_xforms) strategy = SqlCaseUpdateStrategy(case) rebuild_transaction = CaseTransaction.rebuild_transaction(case, detail) if updated_xforms: rebuild_transaction.server_date = updated_xforms[0].edited_on unarchived_form_id = None if detail.type == CaseTransaction.TYPE_REBUILD_FORM_ARCHIVED and not detail.archived: # we're rebuilding because a form was un-archived unarchived_form_id = detail.form_id strategy.rebuild_from_transactions( transactions, rebuild_transaction, unarchived_form_id=unarchived_form_id ) return case, rebuild_transaction