From 19b5efde0d94324493f35524cd3165deea0837c9 Mon Sep 17 00:00:00 2001 From: Harshad Modi Date: Thu, 6 Nov 2008 21:09:11 +0530 Subject: [PATCH] improve bzr revid: hmo@tinyerp.com-20081106153911-eug0498q1bvu4uc5 --- addons/mrp/mrp.py | 12 ++++++++++-- addons/purchase/purchase.py | 3 +-- addons/sale/sale.py | 3 +-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index c4c850045e4..1c16da52918 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -410,6 +410,15 @@ class mrp_production(osv.osv): 'name': lambda x,y,z,c: x.pool.get('ir.sequence').get(y,z,'mrp.production') or '/', } _order = 'date_planned asc, priority desc'; + def unlink(self, cr, uid, ids): + productions = self.read(cr, uid, ids, ['state']) + unlink_ids = [] + for s in productions: + if s['state'] in ['draft','cancel']: + unlink_ids.append(s['id']) + else: + raise osv.except_osv(_('Invalid action !'), _('Cannot delete Production Order(s) which are in %s State!' % s['state'])) + return osv.osv.unlink(self, cr, uid, unlink_ids) def location_id_change(self, cr, uid, ids, src, dest, context={}): if dest: @@ -780,8 +789,7 @@ class mrp_procurement(osv.osv): unlink_ids.append(s['id']) else: raise osv.except_osv(_('Invalid action !'), _('Cannot delete Procurement Order(s) which are in %s State!' % s['state'])) - osv.osv.unlink(self, cr, uid, unlink_ids) - return True + return osv.osv.unlink(self, cr, uid, unlink_ids) def onchange_product_id(self, cr, uid, ids, product_id, context={}): if product_id: diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index f71973bca5b..bc4283d3943 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -207,8 +207,7 @@ class purchase_order(osv.osv): unlink_ids.append(s['id']) else: raise osv.except_osv(_('Invalid action !'), _('Cannot delete Purchase Order(s) which are in %s State!' % s['state'])) - osv.osv.unlink(self, cr, uid, unlink_ids) - return True + return osv.osv.unlink(self, cr, uid, unlink_ids) def button_dummy(self, cr, uid, ids, context={}): return True diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 1e25459e1ff..c120ed706db 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -261,8 +261,7 @@ class sale_order(osv.osv): unlink_ids.append(s['id']) else: raise osv.except_osv(_('Invalid action !'), _('Cannot delete Sale Order(s) which are already confirmed !')) - osv.osv.unlink(self, cr, uid, unlink_ids) - return True + return osv.osv.unlink(self, cr, uid, unlink_ids) def onchange_shop_id(self, cr, uid, ids, shop_id): v={}