Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: Payment Engine

Entity: payment.provider

Compute Method: _compute_primary_payment_method_ids

Inputs Method Outputs
  • id
pm_data = (
            self
            .env["payment.method"]
            .with_context(active_test=False)
            ._read_group(
                domain=[
                    ("provider_id", "in", self.ids),
                    ("primary_payment_method_id", "=", False),
                    ("code", "!=", "unknown"),
                ],
                groupby=["provider_id"],
                aggregates=["id:recordset"],
            )
        )
pm_by_provider = {provider.id: pms for provider, pms in pm_data}
for provider in self:
            provider.primary_payment_method_ids = pm_by_provider.get(
                provider.id, self.env["payment.method"]
            )

Back to entity