From 1f42c0b0adf937e238e68fc2f7307234fff51952 Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 12 Nov 2024 11:26:13 +0700 Subject: add button copy so line to requisition --- indoteknik_custom/models/requisition.py | 21 +++++++++++++++++++++ indoteknik_custom/views/requisition.xml | 15 +++++++++++---- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/indoteknik_custom/models/requisition.py b/indoteknik_custom/models/requisition.py index dbf236e2..3aa564df 100644 --- a/indoteknik_custom/models/requisition.py +++ b/indoteknik_custom/models/requisition.py @@ -51,6 +51,27 @@ class Requisition(models.Model): sales_approve = fields.Boolean(string='Sales Approve', tracking=3, copy=False) merchandise_approve = fields.Boolean(string='Merchandise Approve', tracking=3, copy=False) + def generate_requisition_from_so(self): + state = ['done', 'sale'] + if not self.sale_order_id: + raise UserError('Sale Order Wajib Diisi dan Harus Draft') + if self.sale_order_id.state in state: + raise UserError('SO sudah Confirm, akan berakibat double Purchase melalui PJ') + if not self.sale_order_id.order_line: + raise UserError('Line SO masih kosong, harus diisi dulu') + for order_line in self.sale_order_id.order_line: + param = { + 'requisition_id': self.id, + 'product_id': order_line.product_id.id, + 'partner_id': order_line.vendor_id.id, + 'qty_purchase': order_line.product_uom_qty, + 'price_unit': order_line.purchase_price, + 'taxes_id': order_line.purchase_tax_id.id, + 'subtotal': order_line.purchase_price * order_line.product_uom_qty, + 'brand_id': order_line.product_id.x_manufacture.id + } + self.env['requisition.line'].create([param]) + @api.model def create(self, vals): vals['number'] = self.env['ir.sequence'].next_by_code('requisition') or '0' diff --git a/indoteknik_custom/views/requisition.xml b/indoteknik_custom/views/requisition.xml index a866690d..16373912 100644 --- a/indoteknik_custom/views/requisition.xml +++ b/indoteknik_custom/views/requisition.xml @@ -69,12 +69,19 @@
-
+
+
-- cgit v1.2.3