[FIX] product: unlinking products was not possible due to already-deleted product that leads to a crash, therefore reverting the unlink.

bzr revid: tde@openerp.com-20130325153706-kykjhcaaw0z8tm23
This commit is contained in:
Thibault Delavallée 2013-03-25 16:37:06 +01:00
parent 1b60aa2d27
commit be97933e77
1 changed files with 5 additions and 2 deletions

View File

@ -588,10 +588,13 @@ class product_product(osv.osv):
# 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)
if not other_product_ids:
unlink_product_tmpl_ids.append(tmpl_id)
unlink_product_tmpl_ids.append(tmpl_id)
unlink_ids.append(product.id)
res = super(product_product, self).unlink(cr, uid, unlink_ids, context=context)
# delete templates after calling super, as deleting template could lead to deleting
# products due to ondelete='cascade'
self.pool.get('product.template').unlink(cr, uid, unlink_product_tmpl_ids, context=context)
return super(product_product, self).unlink(cr, uid, unlink_ids, context=context)
return res
def onchange_uom(self, cursor, user, ids, uom_id, uom_po_id):
if uom_id and uom_po_id: