[REF] refactor the methode make_po in order to make easier the overwritting

bzr revid: sebastien.beau@akretion.com.br-20110706002624-8ag88jv5a5i979iy
This commit is contained in:
sebastien beau 2011-07-06 02:26:24 +02:00
parent 7c7e977b23
commit 0757ae25ab
1 changed files with 12 additions and 12 deletions

View File

@ -761,6 +761,10 @@ class procurement_order(osv.osv):
res = res.values()
return len(res) and res[0] or 0 #TO CHECK: why workflow is generated error if return not integer value
def create_procurement_purchase_order(self, cr, uid, procurement, po_vals, line, context=None):
po_vals.update({'order_line': [(0,0,line)]})
return self.pool.get('purchase.order').create(cr, uid, po_vals, context=context)
def make_po(self, cr, uid, ids, context=None):
""" Make purchase order from procurement
@return: New created Purchase Orders procurement wise
@ -774,7 +778,6 @@ class procurement_order(osv.osv):
pricelist_obj = self.pool.get('product.pricelist')
prod_obj = self.pool.get('product.product')
acc_pos_obj = self.pool.get('account.fiscal.position')
po_obj = self.pool.get('purchase.order')
for procurement in self.browse(cr, uid, ids, context=context):
res_id = procurement.move_id.id
partner = procurement.product_id.seller_id # Taken Main Supplier of Product of Procurement.
@ -799,6 +802,8 @@ class procurement_order(osv.osv):
context.update({'lang': partner.lang, 'partner_id': partner_id})
product = prod_obj.browse(cr, uid, procurement.product_id.id, context=context)
taxes_ids = procurement.product_id.product_tmpl_id.supplier_taxes_id
taxes = acc_pos_obj.map_tax(cr, uid, partner.property_account_position, taxes_ids)
line = {
'name': product.partner_ref,
@ -809,25 +814,20 @@ class procurement_order(osv.osv):
'date_planned': newdate.strftime('%Y-%m-%d %H:%M:%S'),
'move_dest_id': res_id,
'notes': product.description_purchase,
'taxes_id': [(6,0,taxes)],
}
taxes_ids = procurement.product_id.product_tmpl_id.supplier_taxes_id
taxes = acc_pos_obj.map_tax(cr, uid, partner.property_account_position, taxes_ids)
line.update({
'taxes_id': [(6,0,taxes)]
})
purchase_id = po_obj.create(cr, uid, {
po_vals = {
'origin': procurement.origin,
'partner_id': partner_id,
'partner_address_id': address_id,
'location_id': procurement.location_id.id,
'pricelist_id': pricelist_id,
'order_line': [(0,0,line)],
'company_id': procurement.company_id.id,
'fiscal_position': partner.property_account_position and partner.property_account_position.id or False
})
res[procurement.id] = purchase_id
self.write(cr, uid, [procurement.id], {'state': 'running', 'purchase_id': purchase_id})
}
res[procurement.id] = self.create_procurement_purchase_order(cr, uid, procurement, po_vals, line, context=context)
self.write(cr, uid, [procurement.id], {'state': 'running', 'purchase_id': res[procurement.id]})
return res
procurement_order()