12345678910111213141516171819202122232425262728293031323334 |
- # -*- coding: utf-8 -*-
- # Part of Odoo. See LICENSE file for full copyright and licensing details.
- from odoo import models, fields, api
- from odoo.tools.sql import column_exists, create_column
- class AccountMove(models.Model):
- _inherit = 'account.move'
- preferred_payment_method_id = fields.Many2one(
- string="Preferred Payment Method",
- comodel_name='account.payment.method',
- compute='_compute_preferred_payment_method_idd',
- store=True,
- )
- def _auto_init(self):
- """ Create column for `preferred_payment_method_id` to avoid having it
- computed by the ORM on installation. Since `property_payment_method_id` is
- introduced in this module, there is no need for UPDATE
- """
- if not column_exists(self.env.cr, "account_move", "preferred_payment_method_id"):
- create_column(self.env.cr, "account_move", "preferred_payment_method_id", "int4")
- return super()._auto_init()
- @api.depends('partner_id')
- def _compute_preferred_payment_method_idd(self):
- for move in self:
- partner = move.partner_id
- # take the payment method corresponding to the move's company
- move.preferred_payment_method_id = partner.with_company(move.company_id).property_payment_method_id
|