openerp-community-reviewer team mailing list archive
-
openerp-community-reviewer team
-
Mailing list archive
-
Message #05325
[Merge] lp:~camptocamp/margin-analysis/7.0-fix_1296778-afe into lp:margin-analysis
Alexandre Fayolle - camptocamp has proposed merging lp:~camptocamp/margin-analysis/7.0-fix_1296778-afe into lp:margin-analysis.
Requested reviews:
Margin Analysis Core Editors (margin-analysis-core-editors)
Related bugs:
Bug #1296778 in Financial controlling and costing: "product_price_history: crash when installing on empty db"
https://bugs.launchpad.net/margin-analysis/+bug/1296778
For more details, see:
https://code.launchpad.net/~camptocamp/margin-analysis/7.0-fix_1296778-afe/+merge/212467
fix a crash which happens when an invoice line has no linked product
--
https://code.launchpad.net/~camptocamp/margin-analysis/7.0-fix_1296778-afe/+merge/212467
Your team Margin Analysis Core Editors is requested to review the proposed merge of lp:~camptocamp/margin-analysis/7.0-fix_1296778-afe into lp:margin-analysis.
=== modified file 'product_historical_margin/invoice.py'
--- product_historical_margin/invoice.py 2013-11-29 15:38:55 +0000
+++ product_historical_margin/invoice.py 2014-03-24 15:49:58 +0000
@@ -30,7 +30,7 @@
def _refund_cleanup_lines(self, cr, uid, lines, context=None):
for line in lines:
line.invoice_user_id = False
- return super(account_invoice, self)._refund_cleanup_lines(cr, uid,
+ return super(account_invoice, self)._refund_cleanup_lines(cr, uid,
lines, context=context)
@@ -65,7 +65,7 @@
res = {}
if not ids:
return res
-
+
if context is None:
context = {}
ctx = context.copy()
@@ -73,7 +73,7 @@
currency_obj = self.pool.get('res.currency')
product_obj = self.pool.get('product.product')
company_obj = self.pool.get('res.company')
-
+
fields = [
'subtotal_cost_price_company',
'subtotal_cost_price',
@@ -83,10 +83,13 @@
]
for line_id in ids:
res[line_id] = dict.fromkeys(fields, 0.0)
+
for obj in self.browse(cr, uid, ids, context=context):
# The company must be the one of the invoice in case a ir.cron create the invoice
# with admin user. We need to pass it in the context as well
# if we use also product_price_history with this module
+ if not obj.product_id:
+ continue
if obj.company_id:
company = obj.company_id
else:
@@ -225,9 +228,9 @@
}
- def read_group(self, cr, uid, domain, fields, groupby,
+ def read_group(self, cr, uid, domain, fields, groupby,
offset=0, limit=None, context=None, orderby=False):
- """The percentage of the relative margin has to be recomputed asit is nor
+ """The percentage of the relative margin has to be recomputed asit is nor
a sum, nor a avg, but a percentage of 2 valuesof the line computed as:
margin_relative = margin_absolute / subtotal_company * 100"""
if not context:
Follow ups