From a0c1d5f55f605ef366112b210a6dc71fb89cec64 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Tue, 13 Dec 2022 23:02:02 +0100 Subject: [PATCH] [MIG] account_usability to v16 + rename to account_usability_akretion --- account_usability/models/account_account.py | 59 --------------- .../views/account_account_type.xml | 21 ------ .../views/account_analytic_account.xml | 33 -------- .../views/account_analytic_group.xml | 22 ------ .../views/account_reconcile_model.xml | 20 ----- .../views/res_config_settings.xml | 31 -------- .../wizard/res_config_settings.py | 12 --- .../README.rst | 0 .../__init__.py | 1 + .../__manifest__.py | 25 +++--- .../dashboard-balance_plus_outstanding.diff | 0 account_usability_akretion/hooks.py | 9 +++ .../i18n/account_usability.pot | 5 -- .../i18n/fr.po | 0 ...ce_register_payment_writeoff_analytic.diff | 0 .../migrations/14.0.1.1.0/post-migrate.py | 9 +++ .../models/__init__.py | 4 +- .../models/account_account.py | 19 +++++ .../models/account_analytic_account.py | 2 +- .../models/account_bank_statement.py | 0 .../models/account_incoterms.py | 7 +- .../models/account_invoice_report.py | 0 .../models/account_journal.py | 37 +-------- .../models/account_move.py | 71 +++++++----------- .../models/account_partial_reconcile.py | 2 +- .../models/product.py | 0 .../models/res_company.py | 0 .../models/res_partner.py | 2 +- .../readme/CONTRIBUTORS.rst | 0 .../readme/DESCRIPTION.rst | 0 .../report/invoice_report.xml | 0 .../security/ir.model.access.csv | 0 .../static/description/icon.png | Bin .../static/description/index.html | 0 .../static/src/xml/account_payment.xml | 0 .../views/account_account.xml | 6 +- .../views/account_bank_statement.xml | 0 .../views/account_group.xml | 2 +- .../views/account_invoice_report.xml | 0 .../views/account_journal.xml | 20 ++--- .../views/account_menu.xml | 7 +- .../views/account_move.xml | 38 ++++------ .../views/account_report.xml | 2 +- .../views/account_tax.xml | 4 +- .../views/product.xml | 2 +- .../views/res_company.xml | 2 +- .../views/res_partner.xml | 4 +- .../wizard/__init__.py | 1 - .../wizard/account_group_generate.py | 2 +- .../wizard/account_group_generate_view.xml | 2 +- .../wizard/account_invoice_mark_sent.py | 2 +- .../wizard/account_invoice_mark_sent_view.xml | 2 +- .../wizard/account_move_reversal.py | 2 +- .../wizard/account_payment_register_views.xml | 5 +- 54 files changed, 130 insertions(+), 364 deletions(-) delete mode 100644 account_usability/models/account_account.py delete mode 100644 account_usability/views/account_account_type.xml delete mode 100644 account_usability/views/account_analytic_account.xml delete mode 100644 account_usability/views/account_analytic_group.xml delete mode 100644 account_usability/views/account_reconcile_model.xml delete mode 100644 account_usability/views/res_config_settings.xml delete mode 100644 account_usability/wizard/res_config_settings.py rename {account_usability => account_usability_akretion}/README.rst (100%) rename {account_usability => account_usability_akretion}/__init__.py (55%) rename {account_usability => account_usability_akretion}/__manifest__.py (59%) rename {account_usability => account_usability_akretion}/dashboard-balance_plus_outstanding.diff (100%) create mode 100644 account_usability_akretion/hooks.py rename {account_usability => account_usability_akretion}/i18n/account_usability.pot (99%) rename {account_usability => account_usability_akretion}/i18n/fr.po (100%) rename {account_usability => account_usability_akretion}/invoice_register_payment_writeoff_analytic.diff (100%) create mode 100644 account_usability_akretion/migrations/14.0.1.1.0/post-migrate.py rename {account_usability => account_usability_akretion}/models/__init__.py (82%) create mode 100644 account_usability_akretion/models/account_account.py rename {account_usability => account_usability_akretion}/models/account_analytic_account.py (92%) rename {account_usability => account_usability_akretion}/models/account_bank_statement.py (100%) rename {account_usability => account_usability_akretion}/models/account_incoterms.py (82%) rename {account_usability => account_usability_akretion}/models/account_invoice_report.py (100%) rename {account_usability => account_usability_akretion}/models/account_journal.py (56%) rename {account_usability => account_usability_akretion}/models/account_move.py (85%) rename {account_usability => account_usability_akretion}/models/account_partial_reconcile.py (93%) rename {account_usability => account_usability_akretion}/models/product.py (100%) rename {account_usability => account_usability_akretion}/models/res_company.py (100%) rename {account_usability => account_usability_akretion}/models/res_partner.py (84%) rename {account_usability => account_usability_akretion}/readme/CONTRIBUTORS.rst (100%) rename {account_usability => account_usability_akretion}/readme/DESCRIPTION.rst (100%) rename {account_usability => account_usability_akretion}/report/invoice_report.xml (100%) rename {account_usability => account_usability_akretion}/security/ir.model.access.csv (100%) rename {account_usability => account_usability_akretion}/static/description/icon.png (100%) rename {account_usability => account_usability_akretion}/static/description/index.html (100%) rename {account_usability => account_usability_akretion}/static/src/xml/account_payment.xml (100%) rename {account_usability => account_usability_akretion}/views/account_account.xml (88%) rename {account_usability => account_usability_akretion}/views/account_bank_statement.xml (100%) rename {account_usability => account_usability_akretion}/views/account_group.xml (93%) rename {account_usability => account_usability_akretion}/views/account_invoice_report.xml (100%) rename {account_usability => account_usability_akretion}/views/account_journal.xml (83%) rename {account_usability => account_usability_akretion}/views/account_menu.xml (74%) rename {account_usability => account_usability_akretion}/views/account_move.xml (76%) rename {account_usability => account_usability_akretion}/views/account_report.xml (93%) rename {account_usability => account_usability_akretion}/views/account_tax.xml (80%) rename {account_usability => account_usability_akretion}/views/product.xml (98%) rename {account_usability => account_usability_akretion}/views/res_company.xml (93%) rename {account_usability => account_usability_akretion}/views/res_partner.xml (84%) rename {account_usability => account_usability_akretion}/wizard/__init__.py (76%) rename {account_usability => account_usability_akretion}/wizard/account_group_generate.py (97%) rename {account_usability => account_usability_akretion}/wizard/account_group_generate_view.xml (95%) rename {account_usability => account_usability_akretion}/wizard/account_invoice_mark_sent.py (93%) rename {account_usability => account_usability_akretion}/wizard/account_invoice_mark_sent_view.xml (96%) rename {account_usability => account_usability_akretion}/wizard/account_move_reversal.py (94%) rename {account_usability => account_usability_akretion}/wizard/account_payment_register_views.xml (84%) diff --git a/account_usability/models/account_account.py b/account_usability/models/account_account.py deleted file mode 100644 index 8b783ec..0000000 --- a/account_usability/models/account_account.py +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 2015-2020 Akretion (http://www.akretion.com) -# @author Alexis de Lattre -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from odoo import api, models -import logging - -logger = logging.getLogger(__name__) - - -class AccountAccount(models.Model): - _inherit = 'account.account' - - @api.depends('name', 'code') - def name_get(self): - if self._context.get('account_account_show_code_only'): - res = [] - for record in self: - res.append((record.id, record.code)) - return res - else: - return super().name_get() - - # https://github.com/odoo/odoo/issues/23040 - # TODO mig to v14 ? - def fix_bank_account_types(self): - aao = self.env['account.account'] - companies = self.env['res.company'].search([]) - if len(companies) > 1: - self = self.sudo() - logger.info("START the script 'fix bank and cash account types'") - bank_type = self.env.ref('account.data_account_type_liquidity') - asset_type = self.env.ref('account.data_account_type_current_assets') - journals = self.env['account.journal'].search( - [('type', 'in', ('bank', 'cash'))], order='company_id') - journal_accounts_bank_type = aao - for journal in journals: - for account in [ - journal.default_credit_account_id, - journal.default_debit_account_id]: - if account: - if account.user_type_id != bank_type: - account.user_type_id = bank_type.id - logger.info( - 'Company %s: Account %s updated to Bank ' - 'and Cash type', - account.company_id.display_name, account.code) - if account not in journal_accounts_bank_type: - journal_accounts_bank_type += account - accounts = aao.search([ - ('user_type_id', '=', bank_type.id)], order='company_id, code') - for account in accounts: - if account not in journal_accounts_bank_type: - account.user_type_id = asset_type.id - logger.info( - 'Company %s: Account %s updated to Current Asset type', - account.company_id.display_name, account.code) - logger.info("END of the script 'fix bank and cash account types'") - return True diff --git a/account_usability/views/account_account_type.xml b/account_usability/views/account_account_type.xml deleted file mode 100644 index aa65384..0000000 --- a/account_usability/views/account_account_type.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - account_usability.account_type_tree - account.account.type - - - - - - - - - diff --git a/account_usability/views/account_analytic_account.xml b/account_usability/views/account_analytic_account.xml deleted file mode 100644 index 901aacf..0000000 --- a/account_usability/views/account_analytic_account.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - account.analytic.account - - - - - - - - - - - account.analytic.account - - - - - - - - - - diff --git a/account_usability/views/account_analytic_group.xml b/account_usability/views/account_analytic_group.xml deleted file mode 100644 index 36ae9f3..0000000 --- a/account_usability/views/account_analytic_group.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - account.analytic.group - - - - - - - - - - diff --git a/account_usability/views/account_reconcile_model.xml b/account_usability/views/account_reconcile_model.xml deleted file mode 100644 index 48c91eb..0000000 --- a/account_usability/views/account_reconcile_model.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - account.reconcile.model - - - - show - - - - - diff --git a/account_usability/views/res_config_settings.xml b/account_usability/views/res_config_settings.xml deleted file mode 100644 index b2cd024..0000000 --- a/account_usability/views/res_config_settings.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - account_usability account config page - res.config.settings - - - -
-
-
-
-
- - - - - - diff --git a/account_usability/wizard/res_config_settings.py b/account_usability/wizard/res_config_settings.py deleted file mode 100644 index 0caf9a0..0000000 --- a/account_usability/wizard/res_config_settings.py +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2015-2020 Akretion (http://www.akretion.com) -# @author Alexis de Lattre -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from odoo import fields, models - - -class ResConfigSettings(models.TransientModel): - _inherit = 'res.config.settings' - - transfer_account_id = fields.Many2one( - related='company_id.transfer_account_id', readonly=False) diff --git a/account_usability/README.rst b/account_usability_akretion/README.rst similarity index 100% rename from account_usability/README.rst rename to account_usability_akretion/README.rst diff --git a/account_usability/__init__.py b/account_usability_akretion/__init__.py similarity index 55% rename from account_usability/__init__.py rename to account_usability_akretion/__init__.py index 9b42961..700d6ab 100644 --- a/account_usability/__init__.py +++ b/account_usability_akretion/__init__.py @@ -1,2 +1,3 @@ from . import models from . import wizard +from .hooks import post_init_hook diff --git a/account_usability/__manifest__.py b/account_usability_akretion/__manifest__.py similarity index 59% rename from account_usability/__manifest__.py rename to account_usability_akretion/__manifest__.py index f99fb0f..ece60c8 100644 --- a/account_usability/__manifest__.py +++ b/account_usability_akretion/__manifest__.py @@ -1,44 +1,39 @@ -# Copyright 2015-2020 Akretion (http://www.akretion.com) +# Copyright 2015-2022 Akretion (http://www.akretion.com) # @author Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { 'name': 'Account Usability', - 'version': '14.0.1.0.0', + 'version': '16.0.1.0.0', 'category': 'Accounting & Finance', 'license': 'AGPL-3', 'summary': 'Small usability enhancements in account module', 'author': 'Akretion', - 'website': 'http://www.akretion.com', + 'website': 'https://github.com/akretion/odoo-usability', 'depends': [ 'account', 'base_usability', # needed only to access base_usability.group_nobody - # in v12, I may create a module only for group_nobody ], 'data': [ - 'views/account_account_type.xml', 'views/account_account.xml', 'views/account_group.xml', - 'views/account_analytic_account.xml', - 'views/account_analytic_group.xml', - 'views/account_bank_statement.xml', - 'views/account_invoice_report.xml', +# 'views/account_bank_statement.xml', +# 'views/account_invoice_report.xml', 'views/account_journal.xml', 'views/account_move.xml', 'views/account_menu.xml', 'views/account_tax.xml', - 'views/product.xml', - 'views/res_config_settings.xml', +# 'views/product.xml', # TODO 'views/res_partner.xml', 'views/res_company.xml', 'views/account_report.xml', - 'views/account_reconcile_model.xml', 'wizard/account_invoice_mark_sent_view.xml', 'wizard/account_group_generate_view.xml', 'wizard/account_payment_register_views.xml', 'security/ir.model.access.csv', - 'report/invoice_report.xml', +# 'report/invoice_report.xml', # TODO ], - 'qweb': ['static/src/xml/account_payment.xml'], - 'installable': False, +# 'qweb': ['static/src/xml/account_payment.xml'], + 'installable': True, +# "post_init_hook": "post_init_hook", } diff --git a/account_usability/dashboard-balance_plus_outstanding.diff b/account_usability_akretion/dashboard-balance_plus_outstanding.diff similarity index 100% rename from account_usability/dashboard-balance_plus_outstanding.diff rename to account_usability_akretion/dashboard-balance_plus_outstanding.diff diff --git a/account_usability_akretion/hooks.py b/account_usability_akretion/hooks.py new file mode 100644 index 0000000..a112ec6 --- /dev/null +++ b/account_usability_akretion/hooks.py @@ -0,0 +1,9 @@ +# Copyright 2022 Akretion (https://www.akretion.com). +# @author Sébastien BEAU +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import SUPERUSER_ID, api + +def post_init_hook(cr, registry): + env = api.Environment(cr, SUPERUSER_ID, {}) + env["account.move.line"].update_matching_number() diff --git a/account_usability/i18n/account_usability.pot b/account_usability_akretion/i18n/account_usability.pot similarity index 99% rename from account_usability/i18n/account_usability.pot rename to account_usability_akretion/i18n/account_usability.pot index ec611de..94784f5 100644 --- a/account_usability/i18n/account_usability.pot +++ b/account_usability_akretion/i18n/account_usability.pot @@ -524,11 +524,6 @@ msgstr "" msgid "Recipient Bank" msgstr "" -#. module: account_usability -#: model:ir.model.fields,field_description:account_usability.field_account_move_line__reconcile_string -msgid "Reconcile" -msgstr "" - #. module: account_usability #: model:ir.model.fields,field_description:account_usability.field_account_bank_statement_line__ref #: model:ir.model.fields,field_description:account_usability.field_account_move__ref diff --git a/account_usability/i18n/fr.po b/account_usability_akretion/i18n/fr.po similarity index 100% rename from account_usability/i18n/fr.po rename to account_usability_akretion/i18n/fr.po diff --git a/account_usability/invoice_register_payment_writeoff_analytic.diff b/account_usability_akretion/invoice_register_payment_writeoff_analytic.diff similarity index 100% rename from account_usability/invoice_register_payment_writeoff_analytic.diff rename to account_usability_akretion/invoice_register_payment_writeoff_analytic.diff diff --git a/account_usability_akretion/migrations/14.0.1.1.0/post-migrate.py b/account_usability_akretion/migrations/14.0.1.1.0/post-migrate.py new file mode 100644 index 0000000..8db745a --- /dev/null +++ b/account_usability_akretion/migrations/14.0.1.1.0/post-migrate.py @@ -0,0 +1,9 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import SUPERUSER_ID, api + + +def migrate(cr, version): + env = api.Environment(cr, SUPERUSER_ID, {}) + env["account.move.line"].update_matching_number() diff --git a/account_usability/models/__init__.py b/account_usability_akretion/models/__init__.py similarity index 82% rename from account_usability/models/__init__.py rename to account_usability_akretion/models/__init__.py index 3891af3..95e2878 100644 --- a/account_usability/models/__init__.py +++ b/account_usability_akretion/models/__init__.py @@ -1,11 +1,11 @@ from . import account_account from . import account_analytic_account -from . import account_bank_statement +#from . import account_bank_statement from . import account_incoterms from . import account_journal from . import account_move from . import account_partial_reconcile from . import res_partner from . import res_company -from . import product +#from . import product from . import account_invoice_report diff --git a/account_usability_akretion/models/account_account.py b/account_usability_akretion/models/account_account.py new file mode 100644 index 0000000..c23b1ae --- /dev/null +++ b/account_usability_akretion/models/account_account.py @@ -0,0 +1,19 @@ +# Copyright 2015-2022 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, models + + +class AccountAccount(models.Model): + _inherit = 'account.account' + + @api.depends('name', 'code') + def name_get(self): + if self._context.get('account_account_show_code_only'): + res = [] + for record in self: + res.append((record.id, record.code)) + return res + else: + return super().name_get() diff --git a/account_usability/models/account_analytic_account.py b/account_usability_akretion/models/account_analytic_account.py similarity index 92% rename from account_usability/models/account_analytic_account.py rename to account_usability_akretion/models/account_analytic_account.py index e1625de..2b78d29 100644 --- a/account_usability/models/account_analytic_account.py +++ b/account_usability_akretion/models/account_analytic_account.py @@ -1,4 +1,4 @@ -# Copyright 2015-2020 Akretion (http://www.akretion.com) +# Copyright 2015-2022 Akretion (http://www.akretion.com) # @author Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/account_usability/models/account_bank_statement.py b/account_usability_akretion/models/account_bank_statement.py similarity index 100% rename from account_usability/models/account_bank_statement.py rename to account_usability_akretion/models/account_bank_statement.py diff --git a/account_usability/models/account_incoterms.py b/account_usability_akretion/models/account_incoterms.py similarity index 82% rename from account_usability/models/account_incoterms.py rename to account_usability_akretion/models/account_incoterms.py index ca2b842..c1b4ec9 100644 --- a/account_usability/models/account_incoterms.py +++ b/account_usability_akretion/models/account_incoterms.py @@ -1,4 +1,4 @@ -# Copyright 2015-2020 Akretion (http://www.akretion.com) +# Copyright 2015-2022 Akretion (http://www.akretion.com) # @author Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -8,6 +8,11 @@ from odoo import api, models class AccountIncoterms(models.Model): _inherit = 'account.incoterms' + _sql_constraints = [( + 'code_unique', + 'unique(code)', + 'This incoterm code already exists.')] + @api.depends('code', 'name') def name_get(self): res = [] diff --git a/account_usability/models/account_invoice_report.py b/account_usability_akretion/models/account_invoice_report.py similarity index 100% rename from account_usability/models/account_invoice_report.py rename to account_usability_akretion/models/account_invoice_report.py diff --git a/account_usability/models/account_journal.py b/account_usability_akretion/models/account_journal.py similarity index 56% rename from account_usability/models/account_journal.py rename to account_usability_akretion/models/account_journal.py index 37e63bd..b210ec1 100644 --- a/account_usability/models/account_journal.py +++ b/account_usability_akretion/models/account_journal.py @@ -1,4 +1,4 @@ -# Copyright 2015-2020 Akretion (http://www.akretion.com) +# Copyright 2015-2022 Akretion (http://www.akretion.com) # @author Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -19,14 +19,9 @@ class AccountJournal(models.Model): "(the 2 processes are managed separately)." ) # Used to set default user_type_id on account fields via context - account_type_current_assets_id = fields.Many2one( - 'account.account.type', - default=lambda self: self.env.ref('account.data_account_type_current_assets').id) - - # SQL constraint in the 'account' module: unique(code, name, company_id) !!! - _sql_constraints = [( - 'code_unique', 'unique(code, company_id)', - 'Another journal already has this code in this company!')] +# account_type_current_assets_id = fields.Many2one( +# 'account.account.type', +# default=lambda self: self.env.ref('account.data_account_type_current_assets').id) @api.depends( 'name', 'currency_id', 'company_id', 'company_id.currency_id', 'code') @@ -61,27 +56,3 @@ class AccountJournal(models.Model): 'search_default_posted': True, } return action - -# @api.constrains('default_credit_account_id', 'default_debit_account_id') -# def _check_account_type_on_bank_journal(self): -# bank_acc_type = self.env.ref('account.data_account_type_liquidity') -# for jrl in self: -# if jrl.type in ('bank', 'cash'): -# if ( -# jrl.default_debit_account_id and -# jrl.default_debit_account_id.user_type_id != -# bank_acc_type): -# raise ValidationError(_( -# "On journal '%s', the default debit account '%s' " -# "should be configured with Type = 'Bank and Cash'.") -# % (jrl.display_name, -# jrl.default_debit_account_id.display_name)) -# if ( -# jrl.default_credit_account_id and -# jrl.default_credit_account_id.user_type_id != -# bank_acc_type): -# raise ValidationError(_( -# "On journal '%s', the default credit account '%s' " -# "should be configured with Type = 'Bank and Cash'.") -# % (jrl.display_name, -# jrl.default_credit_account_id.display_name)) diff --git a/account_usability/models/account_move.py b/account_usability_akretion/models/account_move.py similarity index 85% rename from account_usability/models/account_move.py rename to account_usability_akretion/models/account_move.py index 6cc4ee0..7117e87 100644 --- a/account_usability/models/account_move.py +++ b/account_usability_akretion/models/account_move.py @@ -1,13 +1,17 @@ -# Copyright 2015-2020 Akretion (http://www.akretion.com) +# Copyright 2015-2022 Akretion (http://www.akretion.com) # @author Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from datetime import timedelta +import logging + from odoo import api, fields, models, _ +from odoo.exceptions import UserError +from odoo.osv import expression from odoo.tools import float_is_zero from odoo.tools.misc import format_date -from odoo.osv import expression -from datetime import timedelta -from odoo.exceptions import UserError + +_logger = logging.getLogger(__name__) class AccountMove(models.Model): @@ -16,24 +20,20 @@ class AccountMove(models.Model): # By default, we can still modify "ref" when account move is posted # which seems a bit lazy for me... ref = fields.Char(states={'posted': [('readonly', True)]}) - date = fields.Date(tracking=True) invoice_date_due = fields.Date(tracking=True) invoice_payment_term_id = fields.Many2one(tracking=True) journal_id = fields.Many2one(tracking=True) - partner_bank_id = fields.Many2one(tracking=True) fiscal_position_id = fields.Many2one(tracking=True) amount_total = fields.Monetary(tracking=True) # for invoice report - has_discount = fields.Boolean( - compute='_compute_has_discount', readonly=True) + has_discount = fields.Boolean(compute='_compute_has_discount') # has_attachment is useful for those who use attachment to archive # supplier invoices. It allows them to find supplier invoices # that don't have any attachment has_attachment = fields.Boolean( - compute='_compute_has_attachment', - search='_search_has_attachment', readonly=True) + compute='_compute_has_attachment', search='_search_has_attachment') sale_dates = fields.Char( - compute="_compute_sales_dates", readonly=True, + compute="_compute_sales_dates", help="This information appear on invoice qweb report " "(you may use it for your own report)") @@ -90,24 +90,6 @@ class AccountMove(models.Model): res.append((old_re[0], name)) return res - # I really hate to see a "/" in the 'name' field of the account.move.line - # generated from customer invoices linked to the partners' account because: - # 1) the label of an account move line is an important field, we can't - # write a rubbish '/' in it ! - # 2) the 'name' field of the account.move.line is used in the overdue - # letter, and '/' is not meaningful for our customer ! -# TODO mig to v12 -# def action_move_create(self): -# res = super().action_move_create() -# for inv in self: -# self._cr.execute( -# "UPDATE account_move_line SET name= " -# "CASE WHEN name='/' THEN %s " -# "ELSE %s||' - '||name END " -# "WHERE move_id=%s", (inv.number, inv.number, inv.move_id.id)) -# self.invalidate_cache() -# return res - def delete_lines_qty_zero(self): lines = self.env['account.move.line'].search([ ('display_type', '=', False), @@ -217,7 +199,7 @@ class AccountMove(models.Model): if self.is_purchase_document(include_receipts=True): tax_lock_date = self.company_id.tax_lock_date if invoice_date and tax_lock_date and has_tax and invoice_date <= tax_lock_date: - invoice_date = tax_lock_date + timedelta(days=1) + invoice_date = tax_lock_date + timedelta(days=1) date = invoice_date return date @@ -238,8 +220,6 @@ class AccountMoveLine(models.Model): full_reconcile_id = fields.Many2one(string='Full Reconcile') matched_debit_ids = fields.One2many(string='Partial Reconcile Debit') matched_credit_ids = fields.One2many(string='Partial Reconcile Credit') - reconcile_string = fields.Char( - compute='_compute_reconcile_string', string='Reconcile', store=True) # for optional display in tree view product_barcode = fields.Char(related='product_id.barcode', string="Product Barcode") @@ -255,18 +235,23 @@ class AccountMoveLine(models.Model): }) return action - @api.depends( - 'full_reconcile_id', 'matched_debit_ids', 'matched_credit_ids') - def _compute_reconcile_string(self): - for line in self: - rec_str = False - if line.full_reconcile_id: - rec_str = line.full_reconcile_id.name - else: - rec_str = ', '.join([ - 'a%d' % pr.id for pr in line.matched_debit_ids + line.matched_credit_ids]) - line.reconcile_string = rec_str + def update_matching_number(self): + records = self.search([("matching_number", "=", "P")]) + _logger.info(f"Update partial reconcile number for {len(records)} lines") + records._compute_matching_number() +# def _compute_matching_number(self): + # TODO maybe it will be better to have the same maching_number for + # all partial so it will be easier to group by +# super()._compute_matching_number() +# for record in self: +# if record.matching_number == "P": +# record.matching_number = ", ".join([ +# "a%d" % pr.id +# for pr in record.matched_debit_ids + record.matched_credit_ids +# ]) + + # TODO def _get_computed_name(self): # This is useful when you want to have the product code in a dedicated # column in your customer invoice report diff --git a/account_usability/models/account_partial_reconcile.py b/account_usability_akretion/models/account_partial_reconcile.py similarity index 93% rename from account_usability/models/account_partial_reconcile.py rename to account_usability_akretion/models/account_partial_reconcile.py index f7d00c8..279039d 100644 --- a/account_usability/models/account_partial_reconcile.py +++ b/account_usability_akretion/models/account_partial_reconcile.py @@ -1,4 +1,4 @@ -# Copyright 2015-2020 Akretion (http://www.akretion.com) +# Copyright 2015-2022 Akretion (http://www.akretion.com) # @author Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/account_usability/models/product.py b/account_usability_akretion/models/product.py similarity index 100% rename from account_usability/models/product.py rename to account_usability_akretion/models/product.py diff --git a/account_usability/models/res_company.py b/account_usability_akretion/models/res_company.py similarity index 100% rename from account_usability/models/res_company.py rename to account_usability_akretion/models/res_company.py diff --git a/account_usability/models/res_partner.py b/account_usability_akretion/models/res_partner.py similarity index 84% rename from account_usability/models/res_partner.py rename to account_usability_akretion/models/res_partner.py index 031f216..e115a88 100644 --- a/account_usability/models/res_partner.py +++ b/account_usability_akretion/models/res_partner.py @@ -1,4 +1,4 @@ -# Copyright 2017-2020 Akretion France (https://akretion.com/) +# Copyright 2017-2022 Akretion France (https://akretion.com/) # @author: Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/account_usability/readme/CONTRIBUTORS.rst b/account_usability_akretion/readme/CONTRIBUTORS.rst similarity index 100% rename from account_usability/readme/CONTRIBUTORS.rst rename to account_usability_akretion/readme/CONTRIBUTORS.rst diff --git a/account_usability/readme/DESCRIPTION.rst b/account_usability_akretion/readme/DESCRIPTION.rst similarity index 100% rename from account_usability/readme/DESCRIPTION.rst rename to account_usability_akretion/readme/DESCRIPTION.rst diff --git a/account_usability/report/invoice_report.xml b/account_usability_akretion/report/invoice_report.xml similarity index 100% rename from account_usability/report/invoice_report.xml rename to account_usability_akretion/report/invoice_report.xml diff --git a/account_usability/security/ir.model.access.csv b/account_usability_akretion/security/ir.model.access.csv similarity index 100% rename from account_usability/security/ir.model.access.csv rename to account_usability_akretion/security/ir.model.access.csv diff --git a/account_usability/static/description/icon.png b/account_usability_akretion/static/description/icon.png similarity index 100% rename from account_usability/static/description/icon.png rename to account_usability_akretion/static/description/icon.png diff --git a/account_usability/static/description/index.html b/account_usability_akretion/static/description/index.html similarity index 100% rename from account_usability/static/description/index.html rename to account_usability_akretion/static/description/index.html diff --git a/account_usability/static/src/xml/account_payment.xml b/account_usability_akretion/static/src/xml/account_payment.xml similarity index 100% rename from account_usability/static/src/xml/account_payment.xml rename to account_usability_akretion/static/src/xml/account_payment.xml diff --git a/account_usability/views/account_account.xml b/account_usability_akretion/views/account_account.xml similarity index 88% rename from account_usability/views/account_account.xml rename to account_usability_akretion/views/account_account.xml index 12c611d..cb78542 100644 --- a/account_usability/views/account_account.xml +++ b/account_usability_akretion/views/account_account.xml @@ -1,6 +1,6 @@ @@ -14,11 +14,11 @@ - + - + account.account.search diff --git a/account_usability/views/account_bank_statement.xml b/account_usability_akretion/views/account_bank_statement.xml similarity index 100% rename from account_usability/views/account_bank_statement.xml rename to account_usability_akretion/views/account_bank_statement.xml diff --git a/account_usability/views/account_group.xml b/account_usability_akretion/views/account_group.xml similarity index 93% rename from account_usability/views/account_group.xml rename to account_usability_akretion/views/account_group.xml index 3bd46f6..7e53dd1 100644 --- a/account_usability/views/account_group.xml +++ b/account_usability_akretion/views/account_group.xml @@ -1,6 +1,6 @@ diff --git a/account_usability/views/account_invoice_report.xml b/account_usability_akretion/views/account_invoice_report.xml similarity index 100% rename from account_usability/views/account_invoice_report.xml rename to account_usability_akretion/views/account_invoice_report.xml diff --git a/account_usability/views/account_journal.xml b/account_usability_akretion/views/account_journal.xml similarity index 83% rename from account_usability/views/account_journal.xml rename to account_usability_akretion/views/account_journal.xml index 15141a0..f2c382d 100644 --- a/account_usability/views/account_journal.xml +++ b/account_usability_akretion/views/account_journal.xml @@ -1,6 +1,6 @@ @@ -14,8 +14,9 @@ - + + + usability.account.journal.search diff --git a/account_usability/views/account_menu.xml b/account_usability_akretion/views/account_menu.xml similarity index 74% rename from account_usability/views/account_menu.xml rename to account_usability_akretion/views/account_menu.xml index d8cf234..bc0944c 100644 --- a/account_usability/views/account_menu.xml +++ b/account_usability_akretion/views/account_menu.xml @@ -1,6 +1,6 @@ @@ -13,9 +13,4 @@ under "Accounting > Configuration", because most users will try to find it there - - - Accounting - - diff --git a/account_usability/views/account_move.xml b/account_usability_akretion/views/account_move.xml similarity index 76% rename from account_usability/views/account_move.xml rename to account_usability_akretion/views/account_move.xml index f4eba31..7d570b7 100644 --- a/account_usability/views/account_move.xml +++ b/account_usability_akretion/views/account_move.xml @@ -1,6 +1,6 @@ @@ -12,20 +12,22 @@ account.move + + @@ -35,15 +37,8 @@ - - show - - - show - - - + @@ -86,12 +81,13 @@ account.move.line - +