Files
2026-09-11 07:00:39 +07:00

32 lines
1.3 KiB
Python

from odoo import models, fields, api
class SaleOrder(models.Model):
_inherit = 'sale.order'
def _get_quotation_sequence_id(self):
return self.env.ref('kosbar_erp_ext.seq_quotation').sudo()
def _get_sales_order_sequence_id(self):
return self.env.ref('kosbar_erp_ext.seq_sales_order').sudo()
def _get_delivery_sequence_id(self):
return self.env.ref('kosbar_erp_ext.seq_delivery_order').sudo()
def action_confirm(self):
"""Override confirmation to change number from SQ to SO."""
for order in self:
# Quotation (draft) should have SQ prefix; confirm -> SO
seq = self._get_sales_order_sequence_id()
order.name = seq.with_date(order.date_order or fields.Date.context_today(self)).next_by_code()
return super().action_confirm()
@api.model_create_multi
def create(self, vals_list):
"""When creating quotations (draft), use the SQ sequence."""
for vals in vals_list:
if vals.get('state') == 'draft' and not vals.get('name'):
seq = self._get_quotation_sequence_id()
vals['name'] = seq.with_date(
vals.get('date_order') or fields.Date.context_today(self)
).next_by_code()
return super().create(vals_list)