ERP: field code kategori & item_code produk (parent+child+id+name), migrasi existing data, update .gitignore untuk addons
This commit is contained in:
29
addons/kosbar_erp_ext/models/sale_order.py
Normal file
29
addons/kosbar_erp_ext/models/sale_order.py
Normal file
@@ -0,0 +1,29 @@
|
||||
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
|
||||
def create(self, vals):
|
||||
"""When creating a quotation (draft), use SQ sequence."""
|
||||
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)
|
||||
Reference in New Issue
Block a user