[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:
GPA,JVO 2009-11-04 15:26:30 +05:30 committed by Jay (Open ERP)
parent 7022a6016f
commit 80f729db80
1 changed files with 15 additions and 0 deletions

View File

@ -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 {}