TIP: You can type at any time to perform a new search.

Security findings

Repository
OCA/sale-workflow · module folder · Try on Runboat
Module version
Category
Sales Management
Folder size
0.1 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/sale-workflow
Last tracking update
2026-09-03 17:37:00
Authors
Odoo Community Association (OCA), Tecnativa
Maintainers
Odoo Community Association (OCA), Tecnativa
Committers
Carlos Lopez, OCA-git-bot, oca-ci, Adasat Torres de León
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module allows configured pricelists to be applied to a sales order
by considering cumulative quantities across all lines.

**Global by Product Template**

If a pricelist rule has a min_quantity = 15, and a sales order contains:

- Line 1: Variant 1, quantity = 8
- Line 2: Variant 2, quantity = 8

**Global by Product Category**

Similarly, if a pricelist rule has a min_quantity = 20 for products
within a category, and a sales order includes:

- Line 1: Product 1, quantity = 10
- Line 2: Product 2, quantity = 10

In standard Odoo, pricelist rules would not apply since no single line
meets the minimum quantity. With this module, however, cumulative
quantities across lines allow the pricelist rule to apply, as they meet
the minimum threshold (16 in the product template example and 20 in the
product category example).

Code Analysis info_outline

Views touched (2)
XML IDNameModelTypeStatus
view_product_pricelist_item_form view.product.pricelist.item.form product.pricelist.item form Inherits product.product_pricelist_item_form_view
view_sale_order_form view.sale.order.form sale.order form Inherits sale.view_order_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (3)

New fields (4)
  • applied_on Selection
    ondelete={'3_1_global_product_template': 'set default', '3_2_global_product_category': 'set default'} selection_add=[('3_1_global_product_template', 'Global - Product template'), ('3_2_global_product_category', 'Global - Product category')]
  • display_applied_on Selection
    ondelete={'3_1_global_product_template': 'set default', '3_2_global_product_category': 'set default'} selection_add=[('3_1_global_product_template', 'Global - Product template'), ('3_2_global_product_category', 'Global - Product category')]
  • global_categ_id Many2one → product.category
    ondelete='cascade' args: 'product.category', 'Product Category'
  • global_product_tmpl_id Many2one → product.template
    check_company=True ondelete='cascade' args: 'product.template', 'Global Product'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, values)

New fields (2)
  • has_pricelist_global Boolean
    compute='_compute_has_pricelist_global'
  • need_recompute_pricelist_global Boolean
Public methods (1)
  • button_compute_pricelist_global_rule(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

Loading…

Loading…

Status
Open migration PR — not merged yet for this version
CI status
green — ready to merge
Open since
298 days ago
Last activity
38 days ago
Repository
OCA/sale-workflow
Pull request
[18.0][MIG] sale_pricelist_global_rule: Migration to 18.0 (#4065)