def publish_changes_to_kafka(processed_forms, cases, stock_result): publish_form_saved(processed_forms.submitted) cases = cases or [] for case in cases: publish_case_saved(case) if stock_result: for ledger in stock_result.models_to_save: publish_ledger_v2_saved(ledger)
def hard_rebuild_ledgers(case_id, section_id=None, entry_id=None): transactions = LedgerAccessorSQL.get_ledger_transactions_for_case(case_id, section_id, entry_id) if not transactions: LedgerAccessorSQL.delete_ledger_values(case_id, section_id, entry_id) return ledger_value = LedgerAccessorSQL.get_ledger_value(case_id, section_id, entry_id) ledger_value = LedgerProcessorSQL._rebuild_ledger_value_from_transactions(ledger_value, transactions) LedgerAccessorSQL.save_ledger_values([ledger_value]) publish_ledger_v2_saved(ledger_value)
def publish_changes_to_kafka(processed_forms, cases, stock_result): publish_form_saved(processed_forms.submitted) cases = cases or [] for case in cases: publish_case_saved(case) if stock_result: for ledger in stock_result.models_to_save: publish_ledger_v2_saved(ledger)
def hard_rebuild_ledgers(domain, case_id, section_id, entry_id): transactions = LedgerAccessorSQL.get_ledger_transactions_for_case(case_id, section_id, entry_id) if not transactions: LedgerAccessorSQL.delete_ledger_values(case_id, section_id, entry_id) publish_ledger_v2_deleted(domain, case_id, section_id, entry_id) return ledger_value = LedgerAccessorSQL.get_ledger_value(case_id, section_id, entry_id) ledger_value = LedgerProcessorSQL._rebuild_ledger_value_from_transactions(ledger_value, transactions) LedgerAccessorSQL.save_ledger_values([ledger_value]) publish_ledger_v2_saved(ledger_value)
def process_form_unarchived(self, form): from corehq.apps.commtrack.processing import process_stock result = process_stock([form]) result.populate_models() LedgerAccessorSQL.save_ledger_values(result.models_to_save) for ledger_value in result.models_to_save: publish_ledger_v2_saved(ledger_value) refs_to_rebuild = {ledger_value.ledger_reference for ledger_value in result.models_to_save} for ref in refs_to_rebuild: self.rebuild_ledger_state(**ref._asdict()) result.finalize()
def process_form_unarchived(self, form): from corehq.apps.commtrack.processing import process_stock result = process_stock([form]) result.populate_models() LedgerAccessorSQL.save_ledger_values(result.models_to_save) for ledger_value in result.models_to_save: publish_ledger_v2_saved(ledger_value) refs_to_rebuild = { ledger_value.ledger_reference for ledger_value in result.models_to_save } for ref in refs_to_rebuild: self.rebuild_ledger_state(**ref._asdict()) result.finalize()
def _publish_changes(processed_forms, cases, stock_result): # todo: form deprecations? publish_form_saved(processed_forms.submitted) if processed_forms.submitted.is_duplicate: # for duplicate forms, also publish changes for the original form since the fact that # we're getting a duplicate indicates that we may not have fully processed/published it # the first time republish_all_changes_for_form(processed_forms.submitted.domain, processed_forms.submitted.orig_id) cases = cases or [] for case in cases: publish_case_saved(case) if stock_result: for ledger in stock_result.models_to_save: publish_ledger_v2_saved(ledger)
def _publish_changes(processed_forms, cases, stock_result): # todo: form deprecations? publish_form_saved(processed_forms.submitted) if processed_forms.submitted.is_duplicate: # for duplicate forms, also publish changes for the original form since the fact that # we're getting a duplicate indicates that we may not have fully processd/published it # the first time republish_all_changes_for_form( processed_forms.submitted.domain, processed_forms.submitted.orig_id) cases = cases or [] for case in cases: publish_case_saved(case) if stock_result: for ledger in stock_result.models_to_save: publish_ledger_v2_saved(ledger)