From 1ab818e42f8269fd3d4d577e629573f73d70c017 Mon Sep 17 00:00:00 2001 From: Akim Juillerat Date: Mon, 1 Oct 2018 11:57:07 +0200 Subject: [PATCH] [MIG] account_asset_management: Migration to 11.0 --- account_asset_management/__init__.py | 1 - account_asset_management/__manifest__.py | 5 +- .../migrations/8.0.3/pre-migration.py | 3 +- account_asset_management/models/__init__.py | 1 - .../models/account_account.py | 1 - .../models/account_asset.py | 6 +- .../models/account_asset_line.py | 5 +- .../models/account_asset_profile.py | 1 - .../models/account_asset_recompute_trigger.py | 1 - .../models/account_invoice.py | 3 +- .../models/account_move.py | 3 +- account_asset_management/models/date_range.py | 1 - account_asset_management/models/res_config.py | 3 +- account_asset_management/tests/__init__.py | 1 - .../tests/test_account_asset_management.py | 55 +++++++++---------- .../views/account_config_settings.xml | 18 ------ .../views/res_config_settings.xml | 21 +++++++ account_asset_management/wizard/__init__.py | 1 - .../wizard/account_asset_compute.py | 1 - .../wizard/account_asset_remove.py | 1 - 20 files changed, 59 insertions(+), 73 deletions(-) delete mode 100644 account_asset_management/views/account_config_settings.xml create mode 100644 account_asset_management/views/res_config_settings.xml diff --git a/account_asset_management/__init__.py b/account_asset_management/__init__.py index 408a6001b..9b4296142 100644 --- a/account_asset_management/__init__.py +++ b/account_asset_management/__init__.py @@ -1,3 +1,2 @@ -# -*- coding: utf-8 -*- from . import models from . import wizard diff --git a/account_asset_management/__manifest__.py b/account_asset_management/__manifest__.py index 1d1666d83..fe4be7127 100644 --- a/account_asset_management/__manifest__.py +++ b/account_asset_management/__manifest__.py @@ -1,10 +1,9 @@ -# -*- coding: utf-8 -*- # Copyright 2009-2018 Noviat # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { 'name': 'Assets Management', - 'version': '10.0.3.1.0', + 'version': '11.0.1.0.0', 'license': 'AGPL-3', 'depends': [ 'account_fiscal_year', @@ -22,7 +21,7 @@ 'views/account_account.xml', 'views/account_asset.xml', 'views/account_asset_profile.xml', - 'views/account_config_settings.xml', + 'views/res_config_settings.xml', 'views/account_invoice.xml', 'views/account_invoice_line.xml', 'views/account_move.xml', diff --git a/account_asset_management/migrations/8.0.3/pre-migration.py b/account_asset_management/migrations/8.0.3/pre-migration.py index 61099af97..e54491452 100644 --- a/account_asset_management/migrations/8.0.3/pre-migration.py +++ b/account_asset_management/migrations/8.0.3/pre-migration.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2009-2017 Noviat # Copyright OpenUpgrade contributors (https://github.com/oca/openupgradelib) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -60,7 +59,7 @@ def table_exists(cr, table): def rename_columns(cr, column_spec): - for table in column_spec.keys(): + for table in list(column_spec.keys()): for (old, new, comment) in column_spec[table]: cr.execute( "SELECT column_name " diff --git a/account_asset_management/models/__init__.py b/account_asset_management/models/__init__.py index 2df91ce1f..fdd6c0980 100644 --- a/account_asset_management/models/__init__.py +++ b/account_asset_management/models/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from . import account_account from . import account_asset from . import account_asset_profile diff --git a/account_asset_management/models/account_account.py b/account_asset_management/models/account_account.py index 009dda467..92a2681df 100644 --- a/account_asset_management/models/account_account.py +++ b/account_asset_management/models/account_account.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2009-2017 Noviat # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/account_asset_management/models/account_asset.py b/account_asset_management/models/account_asset.py index ba110a9fd..a31c3abee 100644 --- a/account_asset_management/models/account_asset.py +++ b/account_asset_management/models/account_asset.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2009-2018 Noviat # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -13,6 +12,7 @@ from odoo import api, fields, models, _ import odoo.addons.decimal_precision as dp from odoo.exceptions import UserError from odoo.osv import expression +from functools import reduce _logger = logging.getLogger(__name__) @@ -639,7 +639,7 @@ class AccountAsset(models.Model): factor = float(duration) / cy_days elif i == cnt - 1: # last year duration = ( - fy_date_stop - datetime(year, 01, 01)).days + 1 + fy_date_stop - datetime(year, 1, 1)).days + 1 factor += float(duration) / cy_days else: factor += 1.0 @@ -729,7 +729,7 @@ class AccountAsset(models.Model): """ amount = entry.get('period_amount') if self.prorata and self.method_time == 'year': - dates = filter(lambda x: x <= entry['date_stop'], line_dates) + dates = [x for x in line_dates if x <= entry['date_stop']] full_periods = len(dates) - 1 amount = entry['fy_amount'] - amount * full_periods return amount diff --git a/account_asset_management/models/account_asset_line.py b/account_asset_management/models/account_asset_line.py index 5b03760ab..0e75e4eb1 100644 --- a/account_asset_management/models/account_asset_line.py +++ b/account_asset_management/models/account_asset_line.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2009-2018 Noviat # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -110,7 +109,7 @@ class AccountAssetLine(models.Model): vals['line_date'] = vals['line_date'].strftime('%Y-%m-%d') line_date = vals.get('line_date') or dl.line_date asset_lines = dl.asset_id.depreciation_line_ids - if vals.keys() == ['move_id'] and not vals['move_id']: + if list(vals.keys()) == ['move_id'] and not vals['move_id']: # allow to remove an accounting entry via the # 'Delete Move' button on the depreciation lines. if not self._context.get('unlink_from_asset'): @@ -118,7 +117,7 @@ class AccountAssetLine(models.Model): "You are not allowed to remove an accounting entry " "linked to an asset." "\nYou should remove such entries from the asset.")) - elif vals.keys() == ['asset_id']: + elif list(vals.keys()) == ['asset_id']: continue elif dl.move_id and not self._context.get( 'allow_asset_line_update'): diff --git a/account_asset_management/models/account_asset_profile.py b/account_asset_management/models/account_asset_profile.py index aaf5e54de..e0a0d4e23 100644 --- a/account_asset_management/models/account_asset_profile.py +++ b/account_asset_management/models/account_asset_profile.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2009-2018 Noviat # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/account_asset_management/models/account_asset_recompute_trigger.py b/account_asset_management/models/account_asset_recompute_trigger.py index ecbe649e2..6f0f1b38b 100644 --- a/account_asset_management/models/account_asset_recompute_trigger.py +++ b/account_asset_management/models/account_asset_recompute_trigger.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2009-2018 Noviat # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/account_asset_management/models/account_invoice.py b/account_asset_management/models/account_invoice.py index f4abc43da..ade7c5f31 100644 --- a/account_asset_management/models/account_invoice.py +++ b/account_asset_management/models/account_invoice.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2009-2018 Noviat # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -78,7 +77,7 @@ class AccountInvoice(models.Model): for inv in self: move = inv.move_id assets = [aml.asset_id for aml in - filter(lambda x: x.asset_id, move.line_ids)] + [x for x in move.line_ids if x.asset_id]] for asset in assets: asset.code = inv.move_name asset_line_name = asset._get_depreciation_entry_name(0) diff --git a/account_asset_management/models/account_move.py b/account_asset_management/models/account_move.py index 7c822682a..75cca26fa 100644 --- a/account_asset_management/models/account_move.py +++ b/account_asset_management/models/account_move.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2009-2018 Noviat # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -102,7 +101,7 @@ class AccountMoveLine(models.Model): if aml.asset_id: if set(vals).intersection(FIELDS_AFFECTS_ASSET_MOVE_LINE): if not (self.env.context.get('allow_asset_removal') and - vals.keys() == ['asset_id']): + list(vals.keys()) == ['asset_id']): raise UserError( _("You cannot change an accounting item " "linked to an asset depreciation line.")) diff --git a/account_asset_management/models/date_range.py b/account_asset_management/models/date_range.py index 75b6fca16..840ad21a3 100644 --- a/account_asset_management/models/date_range.py +++ b/account_asset_management/models/date_range.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2009-2017 Noviat # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/account_asset_management/models/res_config.py b/account_asset_management/models/res_config.py index bee69b8e2..2842e4c2c 100644 --- a/account_asset_management/models/res_config.py +++ b/account_asset_management/models/res_config.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright (c) 2014 ACSONE SA/NV (http://acsone.eu). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -6,7 +5,7 @@ from odoo import fields, models class Config(models.TransientModel): - _inherit = 'account.config.settings' + _inherit = 'res.config.settings' module_account_asset_management = fields.Boolean( string='Assets management (OCA)', diff --git a/account_asset_management/tests/__init__.py b/account_asset_management/tests/__init__.py index 329ef0b1a..abadecb7f 100644 --- a/account_asset_management/tests/__init__.py +++ b/account_asset_management/tests/__init__.py @@ -1,2 +1 @@ -# -*- coding: utf-8 -*- from . import test_account_asset_management diff --git a/account_asset_management/tests/test_account_asset_management.py b/account_asset_management/tests/test_account_asset_management.py index 5517b248c..5810a9f35 100644 --- a/account_asset_management/tests/test_account_asset_management.py +++ b/account_asset_management/tests/test_account_asset_management.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright (c) 2014 ACSONE SA/NV (acsone.eu). # Copyright 2009-2018 Noviat # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -96,30 +95,30 @@ class TestAssetManagement(common.TransactionCase): # ict0 = self.browse_ref('account_asset_management.' 'account_asset_asset_ict0') - self.assertEquals(ict0.state, 'draft') - self.assertEquals(ict0.purchase_value, 1500) - self.assertEquals(ict0.salvage_value, 0) - self.assertEquals(ict0.depreciation_base, 1500) - self.assertEquals(len(ict0.depreciation_line_ids), 1) + self.assertEqual(ict0.state, 'draft') + self.assertEqual(ict0.purchase_value, 1500) + self.assertEqual(ict0.salvage_value, 0) + self.assertEqual(ict0.depreciation_base, 1500) + self.assertEqual(len(ict0.depreciation_line_ids), 1) vehicle0 = self.browse_ref('account_asset_management.' 'account_asset_asset_vehicle0') - self.assertEquals(vehicle0.state, 'draft') - self.assertEquals(vehicle0.purchase_value, 12000) - self.assertEquals(vehicle0.salvage_value, 2000) - self.assertEquals(vehicle0.depreciation_base, 10000) - self.assertEquals(len(vehicle0.depreciation_line_ids), 1) + self.assertEqual(vehicle0.state, 'draft') + self.assertEqual(vehicle0.purchase_value, 12000) + self.assertEqual(vehicle0.salvage_value, 2000) + self.assertEqual(vehicle0.depreciation_base, 10000) + self.assertEqual(len(vehicle0.depreciation_line_ids), 1) # # I compute the depreciation boards # ict0.compute_depreciation_board() ict0.refresh() - self.assertEquals(len(ict0.depreciation_line_ids), 4) - self.assertEquals(ict0.depreciation_line_ids[1].amount, 500) + self.assertEqual(len(ict0.depreciation_line_ids), 4) + self.assertEqual(ict0.depreciation_line_ids[1].amount, 500) vehicle0.compute_depreciation_board() vehicle0.refresh() - self.assertEquals(len(vehicle0.depreciation_line_ids), 6) - self.assertEquals(vehicle0.depreciation_line_ids[1].amount, 2000) + self.assertEqual(len(vehicle0.depreciation_line_ids), 6) + self.assertEqual(vehicle0.depreciation_line_ids[1].amount, 2000) # # I post the first depreciation line @@ -127,15 +126,15 @@ class TestAssetManagement(common.TransactionCase): ict0.validate() ict0.depreciation_line_ids[1].create_move() ict0.refresh() - self.assertEquals(ict0.state, 'open') - self.assertEquals(ict0.value_depreciated, 500) - self.assertEquals(ict0.value_residual, 1000) + self.assertEqual(ict0.state, 'open') + self.assertEqual(ict0.value_depreciated, 500) + self.assertEqual(ict0.value_residual, 1000) vehicle0.validate() vehicle0.depreciation_line_ids[1].create_move() vehicle0.refresh() - self.assertEquals(vehicle0.state, 'open') - self.assertEquals(vehicle0.value_depreciated, 2000) - self.assertEquals(vehicle0.value_residual, 8000) + self.assertEqual(vehicle0.state, 'open') + self.assertEqual(vehicle0.value_depreciated, 2000) + self.assertEqual(vehicle0.value_residual, 8000) def test_02_prorata_basic(self): """Prorata temporis depreciation basic test.""" @@ -199,7 +198,7 @@ class TestAssetManagement(common.TransactionCase): 'type': 'depreciate', 'init_entry': True, }) - self.assertEquals(len(asset.depreciation_line_ids), 2) + self.assertEqual(len(asset.depreciation_line_ids), 2) asset.compute_depreciation_board() asset.refresh() # I check the depreciated value is the initial value @@ -245,7 +244,7 @@ class TestAssetManagement(common.TransactionCase): 'type': 'depreciate', 'init_entry': True, }) - self.assertEquals(len(asset.depreciation_line_ids), 2) + self.assertEqual(len(asset.depreciation_line_ids), 2) asset.compute_depreciation_board() asset.refresh() # I check the depreciated value is the initial value @@ -289,7 +288,7 @@ class TestAssetManagement(common.TransactionCase): asset.refresh() # check values in the depreciation board - self.assertEquals(len(asset.depreciation_line_ids), 5) + self.assertEqual(len(asset.depreciation_line_ids), 5) self.assertAlmostEqual(asset.depreciation_line_ids[1].amount, 400.00, places=2) self.assertAlmostEqual(asset.depreciation_line_ids[2].amount, @@ -318,7 +317,7 @@ class TestAssetManagement(common.TransactionCase): asset.refresh() # check values in the depreciation board - self.assertEquals(len(asset.depreciation_line_ids), 15) + self.assertEqual(len(asset.depreciation_line_ids), 15) # lines prior to asset start period are grouped in the first entry self.assertAlmostEqual(asset.depreciation_line_ids[1].amount, 300.00, places=2) @@ -349,7 +348,7 @@ class TestAssetManagement(common.TransactionCase): asset.refresh() # check values in the depreciation board - self.assertEquals(len(asset.depreciation_line_ids), 6) + self.assertEqual(len(asset.depreciation_line_ids), 6) self.assertAlmostEqual(asset.depreciation_line_ids[1].amount, 400.00, places=2) self.assertAlmostEqual(asset.depreciation_line_ids[2].amount, @@ -380,7 +379,7 @@ class TestAssetManagement(common.TransactionCase): asset.refresh() # check values in the depreciation board - self.assertEquals(len(asset.depreciation_line_ids), 6) + self.assertEqual(len(asset.depreciation_line_ids), 6) self.assertAlmostEqual(asset.depreciation_line_ids[1].amount, 200.00, places=2) self.assertAlmostEqual(asset.depreciation_line_ids[-1].amount, @@ -415,7 +414,7 @@ class TestAssetManagement(common.TransactionCase): }) wiz.remove() asset.refresh() - self.assertEquals(len(asset.depreciation_line_ids), 3) + self.assertEqual(len(asset.depreciation_line_ids), 3) self.assertAlmostEqual(asset.depreciation_line_ids[1].amount, 81.46, places=2) self.assertAlmostEqual(asset.depreciation_line_ids[2].amount, diff --git a/account_asset_management/views/account_config_settings.xml b/account_asset_management/views/account_config_settings.xml deleted file mode 100644 index 4ec024346..000000000 --- a/account_asset_management/views/account_config_settings.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - account.config.settings.inherit - - account.config.settings - - - - - - - - - - diff --git a/account_asset_management/views/res_config_settings.xml b/account_asset_management/views/res_config_settings.xml new file mode 100644 index 000000000..da091cc5c --- /dev/null +++ b/account_asset_management/views/res_config_settings.xml @@ -0,0 +1,21 @@ + + + + + res.config.settings.view.form.inherit.account + + res.config.settings + + + + + + + + {'invisible': [('module_account_asset_management', '=', False)]} + + + + + diff --git a/account_asset_management/wizard/__init__.py b/account_asset_management/wizard/__init__.py index 01b5923e8..475dc4e72 100644 --- a/account_asset_management/wizard/__init__.py +++ b/account_asset_management/wizard/__init__.py @@ -1,3 +1,2 @@ -# -*- coding: utf-8 -*- from . import account_asset_compute from . import account_asset_remove diff --git a/account_asset_management/wizard/account_asset_compute.py b/account_asset_management/wizard/account_asset_compute.py index 8ab92ace4..d3e18e4a1 100644 --- a/account_asset_management/wizard/account_asset_compute.py +++ b/account_asset_management/wizard/account_asset_compute.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2009-2018 Noviat # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/account_asset_management/wizard/account_asset_remove.py b/account_asset_management/wizard/account_asset_remove.py index 4b823b0af..38b504f18 100644 --- a/account_asset_management/wizard/account_asset_remove.py +++ b/account_asset_management/wizard/account_asset_remove.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2009-2018 Noviat # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).