From 9e3bac6da00291783f1cd8762488e8635961deeb Mon Sep 17 00:00:00 2001 From: "robin.keunen" Date: Wed, 2 Sep 2020 17:29:20 +0200 Subject: [PATCH] [FIX] pog: select most recent supplierinfo --- purchase_order_generator/__manifest__.py | 2 +- purchase_order_generator/models/product_template.py | 6 ++++++ .../models/purchase_order_generator.py | 11 ++++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/purchase_order_generator/__manifest__.py b/purchase_order_generator/__manifest__.py index 3f51aec..2d5196a 100644 --- a/purchase_order_generator/__manifest__.py +++ b/purchase_order_generator/__manifest__.py @@ -4,7 +4,7 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). { "name": "Purchase Order Generator", - "version": "12.0.1.0.0", + "version": "12.0.2.0.0", "category": "Purchase Order", "summary": "Generate purchase order from a product selection", "author": "Coop IT Easy SCRLfs", diff --git a/purchase_order_generator/models/product_template.py b/purchase_order_generator/models/product_template.py index d444e21..b5e693f 100644 --- a/purchase_order_generator/models/product_template.py +++ b/purchase_order_generator/models/product_template.py @@ -8,6 +8,12 @@ from datetime import date from odoo import api, fields, models +class SupplierInfo(models.Model): + _inherit = "product.supplierinfo" + + date_start = fields.Date(default=fields.Date.context_today, required=True) + + class ProductTemplate(models.Model): _inherit = "product.template" diff --git a/purchase_order_generator/models/purchase_order_generator.py b/purchase_order_generator/models/purchase_order_generator.py index 1ff0d3d..e587eb4 100644 --- a/purchase_order_generator/models/purchase_order_generator.py +++ b/purchase_order_generator/models/purchase_order_generator.py @@ -84,8 +84,17 @@ class PurchaseOrderGenerator(models.Model): [ ("product_tmpl_id", "=", product_id), ("name", "=", supplier.id), - ] + ], + order="date_start desc", + limit=1, ) + + if not supplierinfo: + product_name = self.env["product.template"].browse(product_id).name + raise ValidationError( + _("No supplier defined for product %s") % product_name + ) + min_qty = supplierinfo.min_qty if supplierinfo else 0 order_line_obj.create( {