[FIX] account_asset: asset_create

When creating assets from invoice lines, the system must check
that assets have not already been created for the related invoice.
If assets already exist then these assets have to be removed.

Used case:

- In the purchase journal, tick "allow canceling entries"
- On a supplier invoice line, set an asset category
- validate the invoice
- cancel the invoice
- set to draft
- validate the invoice

Before the fix: the asset was created twice.
After the fix: A warning is raised if an asset already exists for the invoice.

opw:674674
This commit is contained in:
Goffin Simon 2016-04-14 16:16:56 +02:00
parent 9fa53b7ee7
commit cb5d41da3b
2 changed files with 13 additions and 0 deletions

View File

@ -19,7 +19,9 @@
#
##############################################################################
from openerp import SUPERUSER_ID
from openerp.osv import fields, osv
from openerp.tools.translate import _
class account_invoice(osv.osv):
@ -45,6 +47,11 @@ class account_invoice_line(osv.osv):
def asset_create(self, cr, uid, lines, context=None):
context = context or {}
asset_obj = self.pool.get('account.asset.asset')
for line in lines:
if line.invoice_id.number:
if asset_obj.search(cr, SUPERUSER_ID, [('code', '=', line.invoice_id.number)], context=context):
raise osv.except_osv(_('Warning!'), _('You already have assets with the reference %s.\nPlease delete these assets before creating new ones for this invoice.') % (line.invoice_id.number))
for line in lines:
if line.asset_category_id:
vals = {

View File

@ -782,6 +782,12 @@ msgstr ""
msgid "Year"
msgstr ""
#. module: account_asset
#: code:addons/account_asset/account_asset_invoice.py:53
#, python-format
msgid "You already have assets with the reference %s.\nPlease delete these assets before creating new ones for this invoice."
msgstr ""
#. module: account_asset
#: code:addons/account_asset/account_asset.py:81
#, python-format