From d809f7988163bfec7da3e60243fc479f4a75d331 Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Fri, 16 Sep 2011 13:04:52 +0530 Subject: [PATCH] [IMP] project_mrp: Improved code. Fixed computation problem. bzr revid: uco@tinyerp.com-20110916073452-qg0k91uzw7jdj1sk --- addons/project_mrp/project_mrp.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/addons/project_mrp/project_mrp.py b/addons/project_mrp/project_mrp.py index 9120996..20471aa 100644 --- a/addons/project_mrp/project_mrp.py +++ b/addons/project_mrp/project_mrp.py @@ -74,12 +74,13 @@ class sale_order(osv.osv): return res for id in ids: - res_sale[id] = {} - res_sale[id]['number_of_done'] = 0 - res_sale[id]['percentage'] = 0.0 - res_sale[id]['number_of_stockable'] = 0.0 - res_sale[id]['total_no_task'] = 0 - res_sale[id]['total'] = 0 + res_sale[id] = { + 'number_of_done': 0, + 'percentage': 0.0, + 'number_of_stockable': 0.0, + 'total_no_task': 0, + 'total': 0 + } for item in sale_task_data: res_sale[item['sale_id']]['total_no_task'] += item['total'] @@ -87,7 +88,7 @@ class sale_order(osv.osv): res_sale[item['sale_id']]['number_of_done'] += 1 else: pass - for sale in self.browse(cr, uid, ids, context=None): + for sale in self.browse(cr, uid, ids, context=context): # Percent of service + other' Type product res_sale[sale.id]['percentage'] = res_sale[sale.id]['total_no_task'] and (float(res_sale[sale.id]['number_of_done']) / res_sale[sale.id]['total_no_task']) * 100 res_sale[sale.id]['number_of_stockable'] = len(sale.order_line) - res_sale[sale.id]['total_no_task'] @@ -96,7 +97,7 @@ class sale_order(osv.osv): elif res_sale[sale.id]['number_of_stockable'] == 0: res[sale.id] = (res_sale[sale.id]['percentage']) else: - res[sale.id] = round((res[sale.id] + res_sale[sale.id]['percentage']) / (res_sale[sale.id]['number_of_stockable'] + res_sale[sale.id]['total_no_task']), 2) + res[sale.id] = round((res[sale.id] + res_sale[sale.id]['percentage']) / (res_sale[sale.id]['total_no_task']), 2) if res[sale.id] > 100: res[sale.id] = 100 return res -- 1.7.10.4