From f775050ea86ca79679b9a9871b066187db5ca258 Mon Sep 17 00:00:00 2001 From: luis Date: Tue, 7 Apr 2026 11:47:35 +0200 Subject: [PATCH] purchase_order_product_recommendation_supermarket: add filter products by main supplier --- .../__manifest__.py | 2 +- .../i18n/es.po | 14 ++++++++++++++ ...se_order_product_recommendation_supermarket.pot | 12 ++++++++++++ .../wizards/purchase_order_recommendation.py | 10 ++++++++++ .../wizards/purchase_order_recommendation.xml | 1 + 5 files changed, 38 insertions(+), 1 deletion(-) diff --git a/purchase_order_product_recommendation_supermarket/__manifest__.py b/purchase_order_product_recommendation_supermarket/__manifest__.py index 880934c..5f825e7 100644 --- a/purchase_order_product_recommendation_supermarket/__manifest__.py +++ b/purchase_order_product_recommendation_supermarket/__manifest__.py @@ -8,7 +8,7 @@ "license": "AGPL-3", "author": "Criptomart", "website": "https://criptomart.net", - "depends": ["purchase_order_product_recommendation"], + "depends": ["purchase_order_product_recommendation", "product_main_seller"], "data": [ "security/ir.model.access.csv", "wizards/purchase_order_recommendation.xml", diff --git a/purchase_order_product_recommendation_supermarket/i18n/es.po b/purchase_order_product_recommendation_supermarket/i18n/es.po index 7a1005f..b1ce8f5 100644 --- a/purchase_order_product_recommendation_supermarket/i18n/es.po +++ b/purchase_order_product_recommendation_supermarket/i18n/es.po @@ -532,6 +532,20 @@ msgstr "" "Cantidad de productos comprados durante el periodo (Entre la fecha de inicio" " y fecha final)." +#. module: purchase_order_product_recommendation_supermarket +#: model:ir.model.fields,field_description:purchase_order_product_recommendation_supermarket.field_purchase_order_recommendation__filter_by_main_seller +msgid "Only main vendor products" +msgstr "Solo productos del proveedor principal" + +#. module: purchase_order_product_recommendation_supermarket +#: model:ir.model.fields,help:purchase_order_product_recommendation_supermarket.field_purchase_order_recommendation__filter_by_main_seller +msgid "" +"If enabled, only products whose main vendor matches the purchase order " +"vendor will be recommended." +msgstr "" +"Si está activado, solo se recomendarán productos cuyo proveedor principal " +"coincida con el proveedor del pedido de compra." + #. module: purchase_order_product_recommendation_supermarket #: model:ir.model.fields,field_description:purchase_order_product_recommendation_supermarket.field_purchase_order_recommendation_line__units_scrapped msgid "Units Scrapped" diff --git a/purchase_order_product_recommendation_supermarket/i18n/purchase_order_product_recommendation_supermarket.pot b/purchase_order_product_recommendation_supermarket/i18n/purchase_order_product_recommendation_supermarket.pot index ed2134e..6e3c7d9 100644 --- a/purchase_order_product_recommendation_supermarket/i18n/purchase_order_product_recommendation_supermarket.pot +++ b/purchase_order_product_recommendation_supermarket/i18n/purchase_order_product_recommendation_supermarket.pot @@ -458,6 +458,18 @@ msgstr "" msgid "Units Received" msgstr "" +#. module: purchase_order_product_recommendation_supermarket +#: model:ir.model.fields,field_description:purchase_order_product_recommendation_supermarket.field_purchase_order_recommendation__filter_by_main_seller +msgid "Only main vendor products" +msgstr "" + +#. module: purchase_order_product_recommendation_supermarket +#: model:ir.model.fields,help:purchase_order_product_recommendation_supermarket.field_purchase_order_recommendation__filter_by_main_seller +msgid "" +"If enabled, only products whose main vendor matches the purchase order " +"vendor will be recommended." +msgstr "" + #. module: purchase_order_product_recommendation_supermarket #: model:ir.model.fields,field_description:purchase_order_product_recommendation_supermarket.field_purchase_order_recommendation_line__units_scrapped msgid "Units Scrapped" diff --git a/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.py b/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.py index b385aed..e22a017 100644 --- a/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.py +++ b/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.py @@ -25,6 +25,11 @@ class PurchaseOrderRecommendationSupermarketWizard(models.TransientModel): default=False, help="If disabled, the previous period (same number of days immediately preceding) is NOT queried. This saves a read_group on stock move lines and skips zero-stock day analysis for that window.", ) + filter_by_main_seller = fields.Boolean( + string="Only main vendor products", + default=False, + help="If enabled, only products whose main vendor matches the purchase order vendor will be recommended.", + ) total_days = fields.Integer( string="Total days", compute="_compute_total_days", @@ -306,6 +311,11 @@ class PurchaseOrderRecommendationSupermarketWizard(models.TransientModel): products = products.filtered( lambda x: x.categ_id.id in self.product_category_ids.ids ) + if self.filter_by_main_seller: + partner = self.order_id.partner_id.commercial_partner_id + products = products.filtered( + lambda x: x.product_tmpl_id.main_seller_id == partner + ) return products diff --git a/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.xml b/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.xml index 26089f4..c675687 100644 --- a/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.xml +++ b/purchase_order_product_recommendation_supermarket/wizards/purchase_order_recommendation.xml @@ -26,6 +26,7 @@ +