[IMP] point_of_sale: prevent deleting products that may be sold

When a pos.session is launched, all the products are loaded. If the product
was deleted in the backend, it was still possible to sell it in the pos.
This commit is contained in:
Martin Trigaux 2015-01-19 14:35:06 +01:00
parent edf3beee67
commit c637a0ff1c
1 changed files with 7 additions and 0 deletions

View File

@ -1426,6 +1426,13 @@ class product_template(osv.osv):
'available_in_pos': True,
}
def unlink(self, cr, uid, ids, context=None):
if self.search(cr, uid, [('id', 'in', ids), ('available_in_pos', '=', True)], context=context):
if self.pool['pos.session'].search(cr, uid, [('state', '!=', 'closed')], context=context):
raise osv.except_osv(_('Error!'),
_('You cannot delete a product saleable in point of sale while a session is still opened.'))
return super(product_template, self).unlink(cr, uid, ids, context=context)
class res_partner(osv.osv):
_inherit = 'res.partner'