bemade-addons/customer_itch_cycle/models/sale_order_line.py
2024-12-17 12:51:45 -05:00

31 lines
No EOL
1.1 KiB
Python

from odoo import models, fields, api
class SaleOrderLine(models.Model):
_inherit = 'sale.order.line'
itch_cycle_id = fields.Many2one(
comodel_name='itch.cycle.product.partner',
string="Cycle Produit/Partenaire"
)
@api.model_create_multi
def create(self, vals_list):
# Appeler le super pour créer les lignes
lines = super().create(vals_list)
# Associer les lignes nouvellement créées avec leur cycle
for line in lines:
if line.product_id and line.order_id:
partner_id = line.order_id.partner_id.id
itch_cycle = self.env['itch.cycle.product.partner'].search([
('partner_id', '=', partner_id),
('product_id', '=', line.product_id.id)
], limit=1)
if not itch_cycle:
itch_cycle = self.env['itch.cycle.product.partner'].create({
'partner_id': partner_id,
'product_id': line.product_id.id,
})
line.itch_cycle_id = itch_cycle.id
return lines