[FIX] product: make sure unlinked product still exists

When uninstalling/updating a module, we may execute unlink method on product.template before product.product. In such cases, the product is already removed after removeing the template (_inherits) and the chained unlink of the product would fail (traceback when browsing).
This commit is contained in:
Thomas Groutars 2014-08-14 16:47:01 +02:00 committed by Martin Trigaux
parent 97d097a2af
commit 397e83554b
1 changed files with 3 additions and 0 deletions

View File

@ -589,6 +589,9 @@ class product_product(osv.osv):
unlink_ids = []
unlink_product_tmpl_ids = []
for product in self.browse(cr, uid, ids, context=context):
# Check if product still exists, in case it has been unlinked by unlinking its template
if not product.exists():
continue
tmpl_id = product.product_tmpl_id.id
# Check if the product is last product of this template
other_product_ids = self.search(cr, uid, [('product_tmpl_id', '=', tmpl_id), ('id', '!=', product.id)], context=context)