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