コード例 #1
0
ファイル: ledger.py プロジェクト: ye-man/commcare-hq
    def _process_transaction(stock_report_helper, stock_trans, ledger_db):
        def _lazy_original_balance():
            # needs to be in closures because it's zero-argument.
            # see compute_ledger_values for more information
            reference = stock_trans.ledger_reference
            return ledger_db.get_current_ledger_value(reference)

        new_ledger_values = compute_ledger_values(
            _lazy_original_balance, stock_report_helper.report_type,
            stock_trans.relative_quantity)
        ledger_value = ledger_db.get_ledger(stock_trans.ledger_reference)
        if not ledger_value:
            ledger_value = LedgerValue(
                **stock_trans.ledger_reference._asdict())
            ledger_value.domain = stock_report_helper.domain
            ledger_db.set_ledger(ledger_value)
        transaction = _get_ledger_transaction(_lazy_original_balance,
                                              stock_report_helper, stock_trans,
                                              new_ledger_values.balance)
        ledger_value.track_create(transaction)
        # only do this after we've created the transaction otherwise we'll get the wrong delta
        ledger_value.balance = new_ledger_values.balance
        ledger_value.last_modified = stock_report_helper.server_date  # form.received_on
        ledger_value.last_modified_form_id = stock_report_helper.form_id
        return ledger_value
コード例 #2
0
ファイル: ledger.py プロジェクト: kkrampa/commcare-hq
    def _process_transaction(stock_report_helper, stock_trans, ledger_db):
        def _lazy_original_balance():
            # needs to be in closures because it's zero-argument.
            # see compute_ledger_values for more information
            reference = stock_trans.ledger_reference
            return ledger_db.get_current_ledger_value(reference)

        new_ledger_values = compute_ledger_values(
            _lazy_original_balance, stock_report_helper.report_type, stock_trans.relative_quantity
        )
        ledger_value = ledger_db.get_ledger(stock_trans.ledger_reference)
        if not ledger_value:
            ledger_value = LedgerValue(**stock_trans.ledger_reference._asdict())
            ledger_value.domain = stock_report_helper.domain
            ledger_db.set_ledger(ledger_value)
        transaction = _get_ledger_transaction(
            _lazy_original_balance,
            stock_report_helper,
            stock_trans,
            new_ledger_values.balance
        )
        ledger_value.track_create(transaction)
        # only do this after we've created the transaction otherwise we'll get the wrong delta
        ledger_value.balance = new_ledger_values.balance
        ledger_value.last_modified = stock_report_helper.server_date  # form.received_on
        ledger_value.last_modified_form_id = stock_report_helper.form_id
        return ledger_value