odoo 18
This commit is contained in:
32
custom_addons/kosbar_erp_ext/models/sale_order.py
Normal file
32
custom_addons/kosbar_erp_ext/models/sale_order.py
Normal file
@@ -0,0 +1,32 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user