_name = "purchase.order"
_description = "Purchase order"
_order = "name desc"
-
+
+ def unlink(self, cr, uid, ids):
+ purchase_orders = self.read(cr, uid, ids, ['state'])
+ unlink_ids = []
+ for s in purchase_orders:
+ if s['state'] in ['draft','cancel']:
+ 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
+
def button_dummy(self, cr, uid, ids, context={}):
return True
return {'value':{'partner_address_id': False}}
addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['default'])
pricelist = self.pool.get('res.partner').property_get(cr, uid,
- part,property_pref=['property_product_pricelist_purchase']).get('property_product_pricelist_purchase',False)
+ part,property_pref=['property_product_pricelist_purchase']).get('property_product_pricelist_purchase',False)
return {'value':{'partner_address_id': addr['default'], 'pricelist_id': pricelist}}
def wkf_approve_order(self, cr, uid, ids):
raise osv.except_osv(_('No Pricelist !'), _('You have to select a pricelist in the purchase form !\nPlease set one before choosing a product.'))
if not product:
return {'value': {'price_unit': 0.0, 'name':'','notes':'', 'product_uom' : False}, 'domain':{'product_uom':[]}}
+ prod= self.pool.get('product.product').browse(cr, uid,product)
lang=False
if partner_id:
lang=self.pool.get('res.partner').read(cr, uid, partner_id)['lang']
if partner_id:
taxep_id = self.pool.get('res.partner').property_get(cr, uid,partner_id,property_pref=['property_account_supplier_tax']).get('property_account_supplier_tax',False)
if taxep_id:
- taxep=self.pool.get('account.tax').browse(cr, uid,taxep_id)
+ taxep=self.pool.get('account.tax').browse(cr, uid,taxep_id)
if not taxep or not taxep.id:
- res['value']['taxes_id'] = [x.id for x in product.taxes_id]
+ res['value']['taxes_id'] = [x.id for x in prod['supplier_taxes_id']]
else:
res5 = [taxep.id]
for t in taxes: