[FIX] Product : Pricelist Item cannot use Main pricelist as the other pricelist
lp bug: https://launchpad.net/bugs/471052 fixed bzr revid: jvo@tinyerp.com-20091104095630-cg9y5hrnh95p16z0
This commit is contained in:
parent
7022a6016f
commit
80f729db80
|
@ -332,6 +332,16 @@ class product_pricelist_item(osv.osv):
|
|||
'sequence': lambda *a: 5,
|
||||
'price_discount': lambda *a: 0,
|
||||
}
|
||||
|
||||
def _check_recursion(self, cr, uid, ids):
|
||||
for obj_list in self.browse(cr, uid, ids):
|
||||
if obj_list.base == -1:
|
||||
main_pricelist = obj_list.price_version_id.pricelist_id.id
|
||||
other_pricelist = obj_list.base_pricelist_id.id
|
||||
if main_pricelist == other_pricelist:
|
||||
return False
|
||||
return True
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Rule Name', size=64, help="Explicit rule name for this pricelist line."),
|
||||
'price_version_id': fields.many2one('product.pricelist.version', 'Price List Version', required=True, select=True),
|
||||
|
@ -358,6 +368,11 @@ class product_pricelist_item(osv.osv):
|
|||
'price_max_margin': fields.float('Max. Price Margin',
|
||||
digits=(16, int(config['price_accuracy']))),
|
||||
}
|
||||
|
||||
_constraints = [
|
||||
(_check_recursion, _('Error ! You cannot assign the Main Pricelist as Other Pricelist in PriceList Item!'), ['base_pricelist_id'])
|
||||
]
|
||||
|
||||
def product_id_change(self, cr, uid, ids, product_id, context={}):
|
||||
if not product_id:
|
||||
return {}
|
||||
|
|
Loading…
Reference in New Issue