Code review comment for lp:~bruno-bottacini/account-financial-tools/7.0-add_account_invoice_template

Revision history for this message
Lorenzo Battistini (elbati) wrote :

Ciao Bruno,
I found some problems with context propagation.

See the following patch

=== modified file 'account_invoice_template/wizard/select_template.py'
--- account_invoice_template/wizard/select_template.py 2013-06-18 13:59:38 +0000
+++ account_invoice_template/wizard/select_template.py 2013-07-09 07:52:54 +0000
@@ -40,7 +40,7 @@
         wizard_line_pool = self.pool.get('wizard.select.invoice.template.line')
         model_data_obj = self.pool.get('ir.model.data')

- template = template_pool.browse(cr, uid, wizard.template_id.id)
+ template = template_pool.browse(cr, uid, wizard.template_id.id, context=context)
         for line in template.template_line_ids:
             if line.type == 'input':
                 wizard_line_pool.create(cr, uid,{
@@ -50,10 +50,10 @@
                     'amount': line.product_id and line.product_id.list_price or 0.0,
                     'account_id': line.account_id.id,
                     'product_id': line.product_id.id,
- })
+ }, context=context)
         if not wizard.line_ids:
- return self.load_template(cr, uid, ids)
- wizard.write({'state': 'template_selected'})
+ return self.load_template(cr, uid, ids, context=context)
+ wizard.write({'state': 'template_selected'}, context=context)

         view_rec = model_data_obj.get_object_reference(cr, uid, 'account_invoice_template', 'wizard_select_template')
         view_id = view_rec and view_rec[1] or False
@@ -70,6 +70,8 @@
         }

     def load_template(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
         template_obj = self.pool.get('account.invoice.template')
         template_line_obj = self.pool.get('account.invoice.template.line')
         account_period_obj = self.pool.get('account.period')
@@ -92,8 +94,8 @@
         inv_values['partner_id'] = wizard.template_id.partner_id.id
         inv_values['account_id'] = wizard.template_id.account_id.id
         inv_values['type'] = wizard.template_id.type
-
- inv_id = account_invoice_obj.create(cr, uid, inv_values, context={'type':wizard.template_id.type})
+ context['type'] = wizard.template_id.type
+ inv_id = account_invoice_obj.create(cr, uid, inv_values, context=context)
         for line in wizard.template_id.template_line_ids:
             analytic_account_id = False
             if line.analytic_account_id:
@@ -113,7 +115,7 @@
                 'price_unit': computed_lines[line.sequence],
                 'product_id': line.product_id.id,
             }
- id_line = account_invoice_line_obj.create(cr, uid, val)
+ id_line = account_invoice_line_obj.create(cr, uid, val, context=context)

         if wizard.template_id.type in ('out_invoice', 'out_refund'):
             xml_id = 'invoice_form'

review: Needs Fixing

« Back to merge proposal