From 7ff913b794ea80165be09204c498fda654bc7417 Mon Sep 17 00:00:00 2001 From: Matthieu Dietrich Date: Mon, 2 May 2016 15:20:44 +0200 Subject: [PATCH] Rename and migrate to 9.0 "account_advanced_reconcile_transaction_ref" --- .../README.rst | 51 +++++++++ .../__init__.py | 4 + .../__openerp__.py | 23 ++++ ...account_mass_reconcile_transaction_ref.pot | 97 ++++++++++++++++ .../i18n/es.po | 105 +++++++++++++++++ .../i18n/fr.po | 106 ++++++++++++++++++ .../models/__init__.py | 6 + .../models/advanced_reconciliation.py | 55 +++++++++ .../models/base_advanced_reconciliation.py | 17 +++ .../models/mass_reconcile.py | 21 ++++ .../views/mass_reconcile_view.xml | 22 ++++ 11 files changed, 507 insertions(+) create mode 100644 account_mass_reconcile_transaction_ref/README.rst create mode 100644 account_mass_reconcile_transaction_ref/__init__.py create mode 100644 account_mass_reconcile_transaction_ref/__openerp__.py create mode 100644 account_mass_reconcile_transaction_ref/i18n/account_mass_reconcile_transaction_ref.pot create mode 100644 account_mass_reconcile_transaction_ref/i18n/es.po create mode 100644 account_mass_reconcile_transaction_ref/i18n/fr.po create mode 100644 account_mass_reconcile_transaction_ref/models/__init__.py create mode 100644 account_mass_reconcile_transaction_ref/models/advanced_reconciliation.py create mode 100644 account_mass_reconcile_transaction_ref/models/base_advanced_reconciliation.py create mode 100644 account_mass_reconcile_transaction_ref/models/mass_reconcile.py create mode 100644 account_mass_reconcile_transaction_ref/views/mass_reconcile_view.xml diff --git a/account_mass_reconcile_transaction_ref/README.rst b/account_mass_reconcile_transaction_ref/README.rst new file mode 100644 index 00000000..5a24bc99 --- /dev/null +++ b/account_mass_reconcile_transaction_ref/README.rst @@ -0,0 +1,51 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +============================== +Mass Reconcile Transaction Ref +============================== + +This module extends the functionality of account_mass_reconcile +to use the 'transaction_ref' field defined in base_transaction_id. + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/98/9.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Romain Deheele +* Matthieu Dietrich + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/account_mass_reconcile_transaction_ref/__init__.py b/account_mass_reconcile_transaction_ref/__init__.py new file mode 100644 index 00000000..17ba6139 --- /dev/null +++ b/account_mass_reconcile_transaction_ref/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# © 2013-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) +from . import models diff --git a/account_mass_reconcile_transaction_ref/__openerp__.py b/account_mass_reconcile_transaction_ref/__openerp__.py new file mode 100644 index 00000000..d2bc5357 --- /dev/null +++ b/account_mass_reconcile_transaction_ref/__openerp__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# © 2013-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) +{ + 'name': 'Mass Reconcile Transaction Ref', + 'version': '9.0.1.0.0', + 'author': "Camptocamp,Odoo Community Association (OCA)", + 'category': 'Finance', + 'website': 'http://www.camptocamp.com', + 'license': 'AGPL-3', + 'depends': [ + 'account_mass_reconcile', + 'base_transaction_id' + ], + 'data': [ + 'views/mass_reconcile_view.xml' + ], + 'demo': [], + 'test': [], + 'auto_install': False, + 'installable': True, + 'images': [] +} diff --git a/account_mass_reconcile_transaction_ref/i18n/account_mass_reconcile_transaction_ref.pot b/account_mass_reconcile_transaction_ref/i18n/account_mass_reconcile_transaction_ref.pot new file mode 100644 index 00000000..80180837 --- /dev/null +++ b/account_mass_reconcile_transaction_ref/i18n/account_mass_reconcile_transaction_ref.pot @@ -0,0 +1,97 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * account_mass_reconcile_transaction_ref +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 7.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-01-21 11:55+0000\n" +"PO-Revision-Date: 2014-01-21 11:55+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,partner_ids:0 +msgid "Restrict on partners" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,account_id:0 +msgid "Account" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: view:account.mass.reconcile:0 +msgid "Advanced. Partner and Transaction Ref" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: view:account.mass.reconcile:0 +msgid "Match multiple debit vs multiple credit entries. Allow partial reconciliation. The lines should have the partner, the credit entry transaction ref. is matched vs the debit entry transaction ref. or name." +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_easy_reconcile_advanced_transaction_ref +msgid "mass.reconcile.advanced.transaction_ref" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: field:account.move.line,transaction_ref:0 +msgid "Transaction Ref." +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,journal_id:0 +msgid "Journal" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,account_profit_id:0 +msgid "Account Profit" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_move +msgid "Account Move" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,filter:0 +msgid "Filter" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_mass_reconcile_method +msgid "reconcile method for account_mass_reconcile" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,date_base_on:0 +msgid "Date of reconciliation" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_move_line +msgid "Journal Items" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_easy_reconcile_advanced +msgid "mass.reconcile.advanced" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,account_lost_id:0 +msgid "Account Lost" +msgstr "" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,write_off:0 +msgid "Write off allowed" +msgstr "" + diff --git a/account_mass_reconcile_transaction_ref/i18n/es.po b/account_mass_reconcile_transaction_ref/i18n/es.po new file mode 100644 index 00000000..617e9f9d --- /dev/null +++ b/account_mass_reconcile_transaction_ref/i18n/es.po @@ -0,0 +1,105 @@ +# Spanish translation for banking-addons +# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 +# This file is distributed under the same license as the banking-addons package. +# FIRST AUTHOR , 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: banking-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2014-01-21 11:55+0000\n" +"PO-Revision-Date: 2014-06-05 22:39+0000\n" +"Last-Translator: Pedro Manuel Baeza \n" +"Language-Team: Spanish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2014-06-06 06:36+0000\n" +"X-Generator: Launchpad (build 17031)\n" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,partner_ids:0 +msgid "Restrict on partners" +msgstr "Restringir a las empresas" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,account_id:0 +msgid "Account" +msgstr "Cuenta" + +#. module: account_mass_reconcile_transaction_ref +#: view:account.mass.reconcile:0 +msgid "Advanced. Partner and Transaction Ref" +msgstr "Avanzada. Empresa y referencia de transacción" + +#. module: account_mass_reconcile_transaction_ref +#: view:account.mass.reconcile:0 +msgid "" +"Match multiple debit vs multiple credit entries. Allow partial " +"reconciliation. The lines should have the partner, the credit entry " +"transaction ref. is matched vs the debit entry transaction ref. or name." +msgstr "" +"Casa múltiples líneas del debe con múltiples líneas del haber. Permite " +"conciliación parcial. Las líneas deben tener la empresa, la referencia de la " +"transacción de la línea del haber se casa contra la referencia de la " +"transacción de la línea del debe o el nombre." + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_mass_reconcile_advanced_transaction_ref +msgid "mass.reconcile.advanced.transaction_ref" +msgstr "mass.reconcile.advanced.transaction_ref" + +#. module: account_mass_reconcile_transaction_ref +#: field:account.move.line,transaction_ref:0 +msgid "Transaction Ref." +msgstr "Referencia de transacción" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,journal_id:0 +msgid "Journal" +msgstr "Diario" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,account_profit_id:0 +msgid "Account Profit" +msgstr "Cuenta de ganancias" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_bank_statement +msgid "Bank Statement" +msgstr "Extracto bancario" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,filter:0 +msgid "Filter" +msgstr "Filtro" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_mass_reconcile_method +msgid "reconcile method for account_mass_reconcile" +msgstr "método de conciliación para account_mass_reconcile" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,date_base_on:0 +msgid "Date of reconciliation" +msgstr "Fecha de conciliación" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_move_line +msgid "Journal Items" +msgstr "Apuntes contables" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_mass_reconcile_advanced +msgid "mass.reconcile.advanced" +msgstr "mass.reconcile.advanced" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,account_lost_id:0 +msgid "Account Lost" +msgstr "Cuenta de pérdidas" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,write_off:0 +msgid "Write off allowed" +msgstr "Desajuste permitido" diff --git a/account_mass_reconcile_transaction_ref/i18n/fr.po b/account_mass_reconcile_transaction_ref/i18n/fr.po new file mode 100644 index 00000000..603199b6 --- /dev/null +++ b/account_mass_reconcile_transaction_ref/i18n/fr.po @@ -0,0 +1,106 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * account_mass_reconcile_transaction_ref +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 7.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-01-21 11:55+0000\n" +"PO-Revision-Date: 2014-03-21 15:25+0000\n" +"Last-Translator: Vincent Renaville@camptocamp " +"\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2014-05-22 06:49+0000\n" +"X-Generator: Launchpad (build 17017)\n" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,partner_ids:0 +msgid "Restrict on partners" +msgstr "Restriction sur les partenaires" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,account_id:0 +msgid "Account" +msgstr "Compte" + +#. module: account_mass_reconcile_transaction_ref +#: view:account.mass.reconcile:0 +msgid "Advanced. Partner and Transaction Ref" +msgstr "Avancé. Partenaire et Référence de transaction" + +#. module: account_mass_reconcile_transaction_ref +#: view:account.mass.reconcile:0 +msgid "" +"Match multiple debit vs multiple credit entries. Allow partial " +"reconciliation. The lines should have the partner, the credit entry " +"transaction ref. is matched vs the debit entry transaction ref. or name." +msgstr "" +"Le lettrage peut s'effectuer sur plusieurs écritures de débit et crédit. Le " +"Lettrage partiel est autorisé. Les écritures doivent avoir le même " +"partenaire et la même référence de transaction sur les écritures de crédit " +"doit se retrouver dans la référence de transaction ou la description sur les " +"écritures de débit." + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_mass_reconcile_advanced_transaction_ref +msgid "mass.reconcile.advanced.transaction_ref" +msgstr "mass.reconcile.advanced.transaction_ref" + +#. module: account_mass_reconcile_transaction_ref +#: field:account.move.line,transaction_ref:0 +msgid "Transaction Ref." +msgstr "Réf. de transaction" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,journal_id:0 +msgid "Journal" +msgstr "Journal" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,account_profit_id:0 +msgid "Account Profit" +msgstr "Compte de produit" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_bank_statement +msgid "Bank Statement" +msgstr "Relevé bancaire" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,filter:0 +msgid "Filter" +msgstr "Filtre" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_mass_reconcile_method +msgid "reconcile method for account_mass_reconcile" +msgstr "Méthode de lettrage pour le module account_mass_reconcile" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,date_base_on:0 +msgid "Date of reconciliation" +msgstr "Date de lettrage" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_move_line +msgid "Journal Items" +msgstr "Écritures comptables" + +#. module: account_mass_reconcile_transaction_ref +#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_mass_reconcile_advanced +msgid "mass.reconcile.advanced" +msgstr "mass.reconcile.advanced" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,account_lost_id:0 +msgid "Account Lost" +msgstr "Compte de charge" + +#. module: account_mass_reconcile_transaction_ref +#: field:mass.reconcile.advanced.transaction_ref,write_off:0 +msgid "Write off allowed" +msgstr "Ecart autorisé" diff --git a/account_mass_reconcile_transaction_ref/models/__init__.py b/account_mass_reconcile_transaction_ref/models/__init__.py new file mode 100644 index 00000000..bd54b1d4 --- /dev/null +++ b/account_mass_reconcile_transaction_ref/models/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# © 2013-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) +from . import mass_reconcile +from . import base_advanced_reconciliation +from . import advanced_reconciliation diff --git a/account_mass_reconcile_transaction_ref/models/advanced_reconciliation.py b/account_mass_reconcile_transaction_ref/models/advanced_reconciliation.py new file mode 100644 index 00000000..d35b816d --- /dev/null +++ b/account_mass_reconcile_transaction_ref/models/advanced_reconciliation.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +# © 2013-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) +from openerp import api, models + + +class MassReconcileAdvancedTransactionRef(models.TransientModel): + + _name = 'mass.reconcile.advanced.transaction.ref' + _inherit = 'mass.reconcile.advanced' + + @api.multi + def _skip_line(self, move_line): + """ + When True is returned on some conditions, the credit move line + will be skipped for reconciliation. Can be inherited to + skip on some conditions. ie: ref or partner_id is empty. + """ + return not (move_line.get('transaction_ref') and + move_line.get('partner_id')) + + @api.multi + def _matchers(self, move_line): + return (('partner_id', move_line['partner_id']), + ('ref', move_line['transaction_ref'].lower().strip())) + + @api.multi + def _opposite_matchers(self, move_line): + yield ('partner_id', move_line['partner_id']) + yield ('ref', (move_line['transaction_ref'] or '').lower().strip()) + + +class MassReconcileAdvancedTransactionRefVsRef(models.TransientModel): + + _name = 'mass.reconcile.advanced.transaction.ref.vs.ref' + _inherit = 'mass.reconcile.advanced' + + @api.multi + def _skip_line(self, move_line): + """ + When True is returned on some conditions, the credit move line + will be skipped for reconciliation. Can be inherited to + skip on some conditions. ie: ref or partner_id is empty. + """ + return not (move_line.get('ref') and move_line.get('partner_id')) + + @api.multi + def _matchers(self, move_line): + return (('partner_id', move_line['partner_id']), + ('ref', move_line['ref'].lower().strip())) + + @api.multi + def _opposite_matchers(self, move_line): + yield ('partner_id', move_line['partner_id']) + yield ('ref', (move_line['transaction_ref'] or '').lower().strip()) diff --git a/account_mass_reconcile_transaction_ref/models/base_advanced_reconciliation.py b/account_mass_reconcile_transaction_ref/models/base_advanced_reconciliation.py new file mode 100644 index 00000000..cd40b758 --- /dev/null +++ b/account_mass_reconcile_transaction_ref/models/base_advanced_reconciliation.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# © 2013-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) +from openerp import models + + +class MassReconcileAdvanced(models.AbstractModel): + + _inherit = 'mass.reconcile.advanced' + + def _base_columns(self): + """ Mandatory columns for move lines queries + An extra column aliased as ``key`` should be defined + in each query.""" + aml_cols = super(MassReconcileAdvanced, self)._base_columns() + aml_cols.append('account_move_line.transaction_ref') + return aml_cols diff --git a/account_mass_reconcile_transaction_ref/models/mass_reconcile.py b/account_mass_reconcile_transaction_ref/models/mass_reconcile.py new file mode 100644 index 00000000..e02bab3b --- /dev/null +++ b/account_mass_reconcile_transaction_ref/models/mass_reconcile.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# © 2013-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) +from openerp import api, models + + +class AccountMassReconcileMethod(models.Model): + + _inherit = 'account.easy.reconcile.method' + + @api.model + def _get_all_rec_method(self): + _super = super(AccountMassReconcileMethod, self) + methods = _super._get_all_rec_method() + methods += [ + ('easy.reconcile.advanced.transaction_ref', + 'Advanced. Partner and Transaction Ref.'), + ('easy.reconcile.advanced.trans_ref_vs_ref', + 'Advanced. Partner and Transaction Ref. vs Ref.'), + ] + return methods diff --git a/account_mass_reconcile_transaction_ref/views/mass_reconcile_view.xml b/account_mass_reconcile_transaction_ref/views/mass_reconcile_view.xml new file mode 100644 index 00000000..817159ef --- /dev/null +++ b/account_mass_reconcile_transaction_ref/views/mass_reconcile_view.xml @@ -0,0 +1,22 @@ + + + + account.mass.reconcile.form + account.mass.reconcile + + + + + + + + + + + + +