From 0f95237fdcbcc5920c42143ee3076a4b73d4f74d Mon Sep 17 00:00:00 2001 From: qdp Date: Wed, 26 Nov 2008 18:02:29 +0100 Subject: [PATCH 1/3] *bugfix: corrected the analytic line creation: quantities and product_ids weren't copied into the analytic lines when validating an invoice. Added these 2 fields on account_move_line in order to correct that bzr revid: qdp@tinyerp.com-20081126170229-rurhzpyfomuvg3yh --- addons/account/account_move_line.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 547fd89d7c7..21f5b96848b 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -67,6 +67,8 @@ class account_move_line(osv.osv): 'date': obj_line.date, 'account_id': obj_line.analytic_account_id.id, 'unit_amount':obj_line.quantity, + 'product_id': obj_line.product_id and obj_line.product_id.id or False, + 'product_uom_id': obj_line.product_uom_id and obj_line.product_uom_id.id or False, 'amount': amt, 'general_account_id': obj_line.account_id.id, 'journal_id': obj_line.journal_id.analytic_journal_id.id, @@ -305,6 +307,8 @@ class account_move_line(osv.osv): _columns = { 'name': fields.char('Name', size=64, required=True), 'quantity': fields.float('Quantity', digits=(16,2), help="The optional quantity expressed by this line, eg: number of product sold. The quantity is not a legal requirement but is very usefull for some reports."), + 'product_uom_id': fields.many2one('product.uom', 'UoM'), + 'product_id': fields.many2one('product.product', 'Product'), 'debit': fields.float('Debit', digits=(16,2)), 'credit': fields.float('Credit', digits=(16,2)), 'account_id': fields.many2one('account.account', 'Account', required=True, ondelete="cascade", domain=[('type','<>','view'), ('type', '<>', 'closed')], select=2), From 60e851763746daf28904f3eb3c933cd0fa8918d2 Mon Sep 17 00:00:00 2001 From: qdp Date: Wed, 26 Nov 2008 18:04:17 +0100 Subject: [PATCH 2/3] *bugfix (part 2): fields unit_amount, product_id and product_uom_id weren't filled when validating an invoice bzr revid: qdp@tinyerp.com-20081126170417-ejk49ic3anqfyhqd --- addons/account/invoice.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/account/invoice.py b/addons/account/invoice.py index 4b9d1a4f6f3..732792fb6ae 100644 --- a/addons/account/invoice.py +++ b/addons/account/invoice.py @@ -611,6 +611,8 @@ class account_invoice(osv.osv): 'tax_amount': x.get('tax_amount', False), 'ref':x.get('ref',False), 'quantity':x.get('quantity',1.00), + 'product_id':x.get('product_id', False), + 'product_uom_id':x.get('uos_id',False), 'analytic_account_id':x.get('account_analytic_id',False), } From e0be8cc5f3f0f041cde82df4b3744b91a0c53d5b Mon Sep 17 00:00:00 2001 From: qdp Date: Wed, 26 Nov 2008 18:07:16 +0100 Subject: [PATCH 3/3] *minor improvements bzr revid: qdp@tinyerp.com-20081126170716-oq0639sq6rzf7p8c --- .../account_analytic_plans.py | 11 ++++-- .../account_analytic_plans_view.xml | 34 ++++++++++++------- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/addons/account_analytic_plans/account_analytic_plans.py b/addons/account_analytic_plans/account_analytic_plans.py index e3190659e9a..55ee01770b5 100644 --- a/addons/account_analytic_plans/account_analytic_plans.py +++ b/addons/account_analytic_plans/account_analytic_plans.py @@ -280,6 +280,12 @@ class account_move_line(osv.osv): 'analytics_id':fields.many2one('account.analytic.plan.instance','Analytic Distribution'), } + def _default_get_move_form_hook(self, cursor, user, data): + data = super(account_move_line, self)._default_get_move_form_hook(cursor, user, data) + if data.has_key('analytics_id'): + del(data['analytics_id']) + return data + def create_analytic_lines(self, cr, uid, ids, context={}): super(account_move_line, self).create_analytic_lines(cr, uid, ids, context) for line in self.browse(cr, uid, ids, context): @@ -293,9 +299,10 @@ class account_move_line(osv.osv): al_vals={ 'name': line.name, 'date': line.date, - 'unit_amount':1, - 'product_id':12, 'account_id': line2.analytic_account_id.id, + 'unit_amount': line.quantity, + 'product_id': line.product_id and line.product_id.id or False, + 'product_uom_id': line.product_uom_id and line.product_uom_id.id or False, 'amount': amt, 'general_account_id': line.account_id.id, 'move_id': line.id, diff --git a/addons/account_analytic_plans/account_analytic_plans_view.xml b/addons/account_analytic_plans/account_analytic_plans_view.xml index 4bb55187891..acd8debb18b 100644 --- a/addons/account_analytic_plans/account_analytic_plans_view.xml +++ b/addons/account_analytic_plans/account_analytic_plans_view.xml @@ -17,6 +17,27 @@ + + account.move.form.inherit + account.move + form + + + + + + + + + + + + + + + + + account.move.line.form.inherit account.move.line @@ -29,17 +50,6 @@ - - account.move.line.tree.inherit - account.move.line - tree - - - - - - - @@ -68,6 +78,7 @@ + account.analytic.plan.instance.form account.analytic.plan.instance @@ -88,7 +99,6 @@ - account.analytic.plan.instance.tree account.analytic.plan.instance