# product.pricelist.version:
if pricelist_ids:
- plversions_search_ids = pricelist_ids
+ pricelist_version_ids = pricelist_ids
else:
# all pricelists:
- plversions_search_ids = product_pricelist_version_obj.search(cr, uid, [])
+ pricelist_version_ids = product_pricelist_version_obj.search(cr, uid, [])
- plversions_search_ids = list(set(plversions_search_ids))
+ pricelist_version_ids = list(set(pricelist_version_ids))
plversions_search_args = [
- ('pricelist_id', 'in', plversions_search_ids),
+ ('pricelist_id', 'in', pricelist_version_ids),
'|',
('date_start', '=', False),
('date_start', '<=', date),
('date_end', '>=', date),
]
- pricelist_version_ids = product_pricelist_version_obj.search(cr, uid, plversions_search_args)
-
- if len(plversions_search_ids) != len(pricelist_version_ids):
+ plversion_ids = product_pricelist_version_obj.search(cr, uid, plversions_search_args)
+ if len(pricelist_version_ids) != len(plversion_ids):
msg = "At least one pricelist has no active version !\nPlease create or activate one."
raise osv.except_osv(_('Warning !'), _(msg))
results = {}
for product_id, qty, partner in products_by_qty_by_partner:
- for pricelist_id in plversions_search_ids:
+ for pricelist_id in pricelist_version_ids:
price = False
tmpl_id = products_dict[product_id].product_tmpl_id and products_dict[product_id].product_tmpl_id.id or False
'AND (min_quantity IS NULL OR min_quantity <= %s) '
'AND i.price_version_id = v.id AND v.pricelist_id = pl.id '
'ORDER BY sequence',
- (tmpl_id, product_id, pricelist_version_ids[0], qty))
+ (tmpl_id, product_id, plversion_ids[0], qty))
res1 = cr.dictfetchall()
uom_price_already_computed = False
for res in res1:
'price_version_id': fields.many2one('product.pricelist.version', 'Price List Version', required=True, select=True, ondelete='cascade'),
'product_tmpl_id': fields.many2one('product.template', 'Product Template', ondelete='cascade', help="Set a template if this rule only apply to a template of product. Keep empty for all products"),
'product_id': fields.many2one('product.product', 'Product', ondelete='cascade', help="Set a product if this rule only apply to one product. Keep empty for all products"),
- 'categ_id': fields.many2one('product.category', 'Product Category', ondelete='cascade', help="Set a category of product if this rule only apply to products of a category and his childs. Keep empty for all products"),
+ 'categ_id': fields.many2one('product.category', 'Product Category', ondelete='cascade', help="Set a category of product if this rule only apply to products of a category and his children. Keep empty for all products"),
'min_quantity': fields.integer('Min. Quantity', required=True, help="The rule only applies if the partner buys/sells more than this quantity."),
'sequence': fields.integer('Sequence', required=True, help="Gives the order in which the pricelist items will be checked. The evaluation gives highest priority to lowest sequence and stops as soon as a matching item is found."),