From c501ebd60b216d14d9f79ef608446a2fbcc78c55 Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Tue, 17 May 2011 17:10:57 +0530 Subject: [PATCH 1/6] [ADD] account_asset: Added a boolean field to skip the draft state when asset is created from invoice and based on that field confirm the asset. bzr revid: uco@tinyerp.com-20110517114057-hz5wfbqfikw7y1hz --- addons/account_asset/account_asset.py | 1 + addons/account_asset/account_asset_invoice.py | 18 +++++++++++++----- .../account_asset_invoice_view.xml | 2 +- addons/account_asset/account_asset_view.xml | 1 + 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py index 4220fe0df1e..93af0cb0ef5 100644 --- a/addons/account_asset/account_asset.py +++ b/addons/account_asset/account_asset.py @@ -37,6 +37,7 @@ class account_asset_category(osv.osv): 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True), 'journal_id': fields.many2one('account.journal', 'Journal', required=True), 'company_id': fields.many2one('res.company', 'Company', required=True), + 'skip_draft_state': fields.boolean('Skip Draft State', help="Skips draft state for asset when created by invoice."), } _defaults = { diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py index 1bc9fbcf37c..5b1e8240b51 100755 --- a/addons/account_asset/account_asset_invoice.py +++ b/addons/account_asset/account_asset_invoice.py @@ -26,20 +26,28 @@ class account_invoice(osv.osv): _inherit = 'account.invoice' def line_get_convert(self, cr, uid, x, part, date, context={}): res = super(account_invoice, self).line_get_convert(cr, uid, x, part, date, context) - res['asset_id'] = x.get('asset_id', False) + res['asset_category_id'] = x.get('asset_category_id', False) return res account_invoice() class account_invoice_line(osv.osv): _inherit = 'account.invoice.line' _columns = { - 'asset_id': fields.many2one('account.asset.asset', 'Asset'), + 'asset_category_id': fields.many2one('account.asset.category', 'Asset Category'), } def move_line_get_item(self, cr, uid, line, context={}): res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context) - res['asset_id'] = line.asset_id.id or False - if line.asset_id.id and (line.asset_id.state=='draft'): - self.pool.get('account.asset.asset').validate(cr, uid, [line.asset_id.id], context) + res['asset_category_id'] = line.asset_category_id.id or False + asset_obj = self.pool.get('account.asset.asset') + if line.asset_category_id.id: + vals = { + 'name': line.name + ": " + (line.product_id and line.product_id.name), + 'category_id': line.asset_category_id.id, + 'purchase_value': line.price_subtotal + } + asset_id = asset_obj.create(cr, uid, vals, context=context) + if line.asset_category_id.skip_draft_state: + asset_obj.validate(cr, uid, [asset_id], context=context) return res account_invoice_line() diff --git a/addons/account_asset/account_asset_invoice_view.xml b/addons/account_asset/account_asset_invoice_view.xml index 394d173f8ed..f694ce425c2 100755 --- a/addons/account_asset/account_asset_invoice_view.xml +++ b/addons/account_asset/account_asset_invoice_view.xml @@ -13,7 +13,7 @@ form - + diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml index f75b0dc4cf6..bb6dc3be407 100644 --- a/addons/account_asset/account_asset_view.xml +++ b/addons/account_asset/account_asset_view.xml @@ -15,6 +15,7 @@ + From 14b16b87216ea223b2fd072e618c7dbe829647b4 Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Tue, 17 May 2011 17:43:02 +0530 Subject: [PATCH 2/6] [FIX] account_asset: Minor fixing. bzr revid: uco@tinyerp.com-20110517121302-vypvykt3a93jckyz --- addons/account_asset/account_asset_invoice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py index 5b1e8240b51..1a1b8da96f9 100755 --- a/addons/account_asset/account_asset_invoice.py +++ b/addons/account_asset/account_asset_invoice.py @@ -41,7 +41,7 @@ class account_invoice_line(osv.osv): asset_obj = self.pool.get('account.asset.asset') if line.asset_category_id.id: vals = { - 'name': line.name + ": " + (line.product_id and line.product_id.name), + 'name': line.product_id and (line.name + ": " + line.product_id.name) or line.name, 'category_id': line.asset_category_id.id, 'purchase_value': line.price_subtotal } From 6493bc8aff288f40a43769a5713bb70395e9ff37 Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Thu, 19 May 2011 10:33:18 +0530 Subject: [PATCH 3/6] [FIX] account_asset: Changed field label and tooltip. bzr revid: uco@tinyerp.com-20110519050318-qx4ob8x7850ep3bn --- addons/account_asset/account_asset.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py index 93af0cb0ef5..a0abfab3811 100644 --- a/addons/account_asset/account_asset.py +++ b/addons/account_asset/account_asset.py @@ -37,7 +37,7 @@ class account_asset_category(osv.osv): 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True), 'journal_id': fields.many2one('account.journal', 'Journal', required=True), 'company_id': fields.many2one('res.company', 'Company', required=True), - 'skip_draft_state': fields.boolean('Skip Draft State', help="Skips draft state for asset when created by invoice."), + 'skip_draft_state': fields.boolean('Change State Automatically', help="Check this if you want to skip draft state for asset when it is created by invoice."), } _defaults = { From 029c429945575d8ba1bbbcd3da2c6133370246f5 Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Thu, 19 May 2011 18:11:21 +0530 Subject: [PATCH 4/6] [IMP] account_asset: Improved field name. bzr revid: uco@tinyerp.com-20110519124121-olh1ntj9f0pf72tg --- addons/account_asset/account_asset.py | 2 +- addons/account_asset/account_asset_invoice.py | 2 +- addons/account_asset/account_asset_view.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py index a0abfab3811..1a39f916ce5 100644 --- a/addons/account_asset/account_asset.py +++ b/addons/account_asset/account_asset.py @@ -37,7 +37,7 @@ class account_asset_category(osv.osv): 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True), 'journal_id': fields.many2one('account.journal', 'Journal', required=True), 'company_id': fields.many2one('res.company', 'Company', required=True), - 'skip_draft_state': fields.boolean('Change State Automatically', help="Check this if you want to skip draft state for asset when it is created by invoice."), + 'on_change_state': fields.boolean('Skip Draft State', help="Check this if you want to skip draft state for asset when it is created by invoice."), } _defaults = { diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py index 1a1b8da96f9..8976a7688dd 100755 --- a/addons/account_asset/account_asset_invoice.py +++ b/addons/account_asset/account_asset_invoice.py @@ -46,7 +46,7 @@ class account_invoice_line(osv.osv): 'purchase_value': line.price_subtotal } asset_id = asset_obj.create(cr, uid, vals, context=context) - if line.asset_category_id.skip_draft_state: + if line.asset_category_id.on_change_state: asset_obj.validate(cr, uid, [asset_id], context=context) return res account_invoice_line() diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml index bb6dc3be407..437d927f2e3 100644 --- a/addons/account_asset/account_asset_view.xml +++ b/addons/account_asset/account_asset_view.xml @@ -15,7 +15,7 @@ - + From 2c05c96a408a9eea0065dcd7f81143b1e5368d7d Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Fri, 20 May 2011 10:50:05 +0530 Subject: [PATCH 5/6] [FIX] account_asset: Corrected field name and coding conventions. bzr revid: uco@tinyerp.com-20110520052005-7sdpwk5qabsk7ejg --- addons/account_asset/account_asset.py | 2 +- addons/account_asset/account_asset_invoice.py | 9 ++++----- addons/account_asset/account_asset_view.xml | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/addons/account_asset/account_asset.py b/addons/account_asset/account_asset.py index 1a39f916ce5..65af420646b 100644 --- a/addons/account_asset/account_asset.py +++ b/addons/account_asset/account_asset.py @@ -37,7 +37,7 @@ class account_asset_category(osv.osv): 'account_expense_depreciation_id': fields.many2one('account.account', 'Depr. Expense Account', required=True), 'journal_id': fields.many2one('account.journal', 'Journal', required=True), 'company_id': fields.many2one('res.company', 'Company', required=True), - 'on_change_state': fields.boolean('Skip Draft State', help="Check this if you want to skip draft state for asset when it is created by invoice."), + 'asset_normal': fields.boolean('Skip Draft State', help="Check this if you want to skip draft state for asset when it is created by invoice."), } _defaults = { diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py index 8976a7688dd..e6c5d03dd66 100755 --- a/addons/account_asset/account_asset_invoice.py +++ b/addons/account_asset/account_asset_invoice.py @@ -26,7 +26,7 @@ class account_invoice(osv.osv): _inherit = 'account.invoice' def line_get_convert(self, cr, uid, x, part, date, context={}): res = super(account_invoice, self).line_get_convert(cr, uid, x, part, date, context) - res['asset_category_id'] = x.get('asset_category_id', False) + res['asset_id'] = x.get('asset_id', False) return res account_invoice() @@ -36,17 +36,16 @@ class account_invoice_line(osv.osv): 'asset_category_id': fields.many2one('account.asset.category', 'Asset Category'), } def move_line_get_item(self, cr, uid, line, context={}): - res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context) - res['asset_category_id'] = line.asset_category_id.id or False asset_obj = self.pool.get('account.asset.asset') - if line.asset_category_id.id: + res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context) + if line.asset_category_id and line.asset_category_id.id: vals = { 'name': line.product_id and (line.name + ": " + line.product_id.name) or line.name, 'category_id': line.asset_category_id.id, 'purchase_value': line.price_subtotal } asset_id = asset_obj.create(cr, uid, vals, context=context) - if line.asset_category_id.on_change_state: + if line.asset_category_id.asset_normal: asset_obj.validate(cr, uid, [asset_id], context=context) return res account_invoice_line() diff --git a/addons/account_asset/account_asset_view.xml b/addons/account_asset/account_asset_view.xml index 437d927f2e3..3a431c1f6ec 100644 --- a/addons/account_asset/account_asset_view.xml +++ b/addons/account_asset/account_asset_view.xml @@ -15,7 +15,7 @@ - + From 06b4e4ac617b40e09fd5bd06bbaf261766f143ce Mon Sep 17 00:00:00 2001 From: "Ujjvala Collins (OpenERP)" Date: Fri, 20 May 2011 12:52:11 +0530 Subject: [PATCH 6/6] [FIX] account_asset: Corrected code. bzr revid: uco@tinyerp.com-20110520072211-gq3qotaa999eye02 --- addons/account_asset/account_asset_invoice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account_asset/account_asset_invoice.py b/addons/account_asset/account_asset_invoice.py index e6c5d03dd66..800e1495497 100755 --- a/addons/account_asset/account_asset_invoice.py +++ b/addons/account_asset/account_asset_invoice.py @@ -38,7 +38,7 @@ class account_invoice_line(osv.osv): def move_line_get_item(self, cr, uid, line, context={}): asset_obj = self.pool.get('account.asset.asset') res = super(account_invoice_line, self).move_line_get_item(cr, uid, line, context) - if line.asset_category_id and line.asset_category_id.id: + if line.asset_category_id: vals = { 'name': line.product_id and (line.name + ": " + line.product_id.name) or line.name, 'category_id': line.asset_category_id.id,