- Fix: partners can no longer have default carrier accounts that are archived. - Refactor: remove write/create overrides to replace them with computed/stored fields.
40 lines
996 B
Python
40 lines
996 B
Python
from odoo import models, fields, api, _
|
|
from odoo.exceptions import UserError
|
|
|
|
|
|
class DeliveryCarrierAccount(models.Model):
|
|
_name = "delivery.carrier.account"
|
|
_description = "Delivery Carrier Account"
|
|
_inherit = ["mail.thread", "mail.activity.mixin"]
|
|
|
|
delivery_carrier_id = fields.Many2one(
|
|
comodel_name="delivery.carrier",
|
|
string="Delivery Carriers",
|
|
required=True,
|
|
ondelete="restrict",
|
|
)
|
|
|
|
account_number = fields.Char(
|
|
required=True,
|
|
tracking=1,
|
|
)
|
|
|
|
partner_id = fields.Many2one(
|
|
comodel_name="res.partner",
|
|
required=True,
|
|
ondelete="cascade",
|
|
)
|
|
|
|
company_id = fields.Many2one(
|
|
comodel_name="res.company",
|
|
related="delivery_carrier_id.company_id",
|
|
)
|
|
|
|
active = fields.Boolean(
|
|
default=True,
|
|
)
|
|
|
|
@api.depends("account_number")
|
|
def _compute_display_name(self):
|
|
for record in self:
|
|
record.display_name = record.account_number
|