From 15377b23022440d88c40c656a513b3397ba43e9a Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Mon, 1 Dec 2025 10:03:29 +0700 Subject: push revisi hari sabtu tanggal 29/11/25 --- fixco_custom/models/purchase_pricelist_wizard.py | 29 ++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 fixco_custom/models/purchase_pricelist_wizard.py (limited to 'fixco_custom/models/purchase_pricelist_wizard.py') diff --git a/fixco_custom/models/purchase_pricelist_wizard.py b/fixco_custom/models/purchase_pricelist_wizard.py new file mode 100644 index 0000000..70ac54f --- /dev/null +++ b/fixco_custom/models/purchase_pricelist_wizard.py @@ -0,0 +1,29 @@ +from odoo import models, fields + +class PurchasePricelistWizard(models.TransientModel): + _name = 'purchase.pricelist.wizard' + _description = 'Wizard Create Purchase Pricelist' + + product_id = fields.Many2one('product.product', string="Product", required=True) + vendor_id = fields.Many2one('res.partner', string="Vendor", required=True, domain="[('supplier_rank','>',0)]") + price = fields.Float(string="Price", required=True) + + def action_create_pricelist(self): + self.ensure_one() + + existing = self.env['purchase.pricelist'].search([ + ('product_id', '=', self.product_id.id) + ], limit=1) + + if existing: + existing.vendor_id = self.vendor_id.id + existing.price = self.price + return {'type': 'ir.actions.act_window_close'} + + self.env['purchase.pricelist'].create({ + 'product_id': self.product_id.id, + 'vendor_id': self.vendor_id.id, + 'price': self.price, + }) + + return {'type': 'ir.actions.act_window_close'} -- cgit v1.2.3