From cb7b647fbd7751f551f7b04a38a79b555f28a6e9 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Mon, 6 Mar 2023 22:53:15 +0100 Subject: [PATCH] [MIG] account_statement_import_file_reconcile_oca to v16 The module was ported from v14. It was renamed from account_statement_import_file_reconciliation_widget to account_statement_import_file_reconcile_oca to take into account the new names of the modules it depend on. Update code to the new notification system. --- .../README.rst | 94 ++++ .../__init__.py | 1 + .../__manifest__.py | 19 + ...ment_import_file_reconciliation_widget.pot | 39 ++ .../i18n/fr.po | 42 ++ .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 9 + .../readme/INSTALL.rst | 1 + .../bank_statement_import_start_reconcile.png | Bin 0 -> 24829 bytes .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 434 ++++++++++++++++++ .../wizards/__init__.py | 1 + .../wizards/account_statement_import.py | 37 ++ .../wizards/account_statement_import_view.xml | 27 ++ 14 files changed, 705 insertions(+) create mode 100644 account_statement_import_file_reconcile_oca/README.rst create mode 100644 account_statement_import_file_reconcile_oca/__init__.py create mode 100644 account_statement_import_file_reconcile_oca/__manifest__.py create mode 100644 account_statement_import_file_reconcile_oca/i18n/account_statement_import_file_reconciliation_widget.pot create mode 100644 account_statement_import_file_reconcile_oca/i18n/fr.po create mode 100644 account_statement_import_file_reconcile_oca/readme/CONTRIBUTORS.rst create mode 100644 account_statement_import_file_reconcile_oca/readme/DESCRIPTION.rst create mode 100644 account_statement_import_file_reconcile_oca/readme/INSTALL.rst create mode 100644 account_statement_import_file_reconcile_oca/static/description/bank_statement_import_start_reconcile.png create mode 100644 account_statement_import_file_reconcile_oca/static/description/icon.png create mode 100644 account_statement_import_file_reconcile_oca/static/description/index.html create mode 100644 account_statement_import_file_reconcile_oca/wizards/__init__.py create mode 100644 account_statement_import_file_reconcile_oca/wizards/account_statement_import.py create mode 100644 account_statement_import_file_reconcile_oca/wizards/account_statement_import_view.xml diff --git a/account_statement_import_file_reconcile_oca/README.rst b/account_statement_import_file_reconcile_oca/README.rst new file mode 100644 index 00000000..97884cba --- /dev/null +++ b/account_statement_import_file_reconcile_oca/README.rst @@ -0,0 +1,94 @@ +====================================================== +Import Statement Files and Go Direct to Reconciliation +====================================================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fbank--statement--import-lightgray.png?logo=github + :target: https://github.com/OCA/bank-statement-import/tree/14.0/account_statement_import_file_reconciliation_widget + :alt: OCA/bank-statement-import +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/bank-statement-import-14-0/bank-statement-import-14-0-account_statement_import_file_reconciliation_widget + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/174/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module is a glue module between 2 modules: + +* **account_statement_import** from the Github project *OCA/bank-statement-import* +* **account_reconciliation_widget** from the Github project `OCA/account-reconcile `_ + +This module adds a button **Import and Start to Reconcile** on the bank statement file import wizard. When you click on this button, Odoo will import the bank statement file and jump directly to the special reconciliation interface. + +.. figure:: https://raw.githubusercontent.com/OCA/bank-statement-import/14.0/account_statement_import_file_reconciliation_widget/static/description/bank_statement_import_start_reconcile.png + :alt: Bank statement import wizard screenshot + +**Table of contents** + +.. contents:: + :local: + +Installation +============ + +This module will be installed automatically by Odoo if the modules **account_statement_import** and **account_reconciliation_widget** are installed. + +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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Akretion + +Contributors +~~~~~~~~~~~~ + +* Alexis de Lattre + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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. + +.. |maintainer-alexis-via| image:: https://github.com/alexis-via.png?size=40px + :target: https://github.com/alexis-via + :alt: alexis-via + +Current `maintainer `__: + +|maintainer-alexis-via| + +This module is part of the `OCA/bank-statement-import `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_statement_import_file_reconcile_oca/__init__.py b/account_statement_import_file_reconcile_oca/__init__.py new file mode 100644 index 00000000..5cb1c491 --- /dev/null +++ b/account_statement_import_file_reconcile_oca/__init__.py @@ -0,0 +1 @@ +from . import wizards diff --git a/account_statement_import_file_reconcile_oca/__manifest__.py b/account_statement_import_file_reconcile_oca/__manifest__.py new file mode 100644 index 00000000..76794b0b --- /dev/null +++ b/account_statement_import_file_reconcile_oca/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2022 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# Licence AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0). + +{ + "name": "Import Statement Files and Go Direct to Reconciliation", + "category": "Accounting", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "depends": ["account_statement_import_file", "account_reconcile_oca"], + "author": "Akretion, Odoo Community Association (OCA)", + "maintainers": ["alexis-via"], + "website": "https://github.com/OCA/bank-statement-import", + "data": [ + "wizards/account_statement_import_view.xml", + ], + "installable": True, + "auto_install": True, +} diff --git a/account_statement_import_file_reconcile_oca/i18n/account_statement_import_file_reconciliation_widget.pot b/account_statement_import_file_reconcile_oca/i18n/account_statement_import_file_reconciliation_widget.pot new file mode 100644 index 00000000..90904404 --- /dev/null +++ b/account_statement_import_file_reconcile_oca/i18n/account_statement_import_file_reconciliation_widget.pot @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_statement_import_file_reconciliation_widget +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \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_statement_import_file_reconciliation_widget +#: model:ir.model.fields,field_description:account_statement_import_file_reconciliation_widget.field_account_statement_import__display_name +msgid "Display Name" +msgstr "" + +#. module: account_statement_import_file_reconciliation_widget +#: model:ir.model.fields,field_description:account_statement_import_file_reconciliation_widget.field_account_statement_import__id +msgid "ID" +msgstr "" + +#. module: account_statement_import_file_reconciliation_widget +#: model:ir.model,name:account_statement_import_file_reconciliation_widget.model_account_statement_import +msgid "Import Bank Statement Files" +msgstr "" + +#. module: account_statement_import_file_reconciliation_widget +#: model_terms:ir.ui.view,arch_db:account_statement_import_file_reconciliation_widget.account_statement_import_form +msgid "Import and Start to Reconcile" +msgstr "" + +#. module: account_statement_import_file_reconciliation_widget +#: model:ir.model.fields,field_description:account_statement_import_file_reconciliation_widget.field_account_statement_import____last_update +msgid "Last Modified on" +msgstr "" diff --git a/account_statement_import_file_reconcile_oca/i18n/fr.po b/account_statement_import_file_reconcile_oca/i18n/fr.po new file mode 100644 index 00000000..4819c884 --- /dev/null +++ b/account_statement_import_file_reconcile_oca/i18n/fr.po @@ -0,0 +1,42 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_statement_import_file_reconciliation_widget +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2022-10-03 10:35+0000\n" +"Last-Translator: Yves Le Doeuff \n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: account_statement_import_file_reconciliation_widget +#: model:ir.model.fields,field_description:account_statement_import_file_reconciliation_widget.field_account_statement_import__display_name +msgid "Display Name" +msgstr "" + +#. module: account_statement_import_file_reconciliation_widget +#: model:ir.model.fields,field_description:account_statement_import_file_reconciliation_widget.field_account_statement_import__id +msgid "ID" +msgstr "" + +#. module: account_statement_import_file_reconciliation_widget +#: model:ir.model,name:account_statement_import_file_reconciliation_widget.model_account_statement_import +msgid "Import Bank Statement Files" +msgstr "Importer des relevés bancaires" + +#. module: account_statement_import_file_reconciliation_widget +#: model_terms:ir.ui.view,arch_db:account_statement_import_file_reconciliation_widget.account_statement_import_form +msgid "Import and Start to Reconcile" +msgstr "Importer et commencer le rapprochement" + +#. module: account_statement_import_file_reconciliation_widget +#: model:ir.model.fields,field_description:account_statement_import_file_reconciliation_widget.field_account_statement_import____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" diff --git a/account_statement_import_file_reconcile_oca/readme/CONTRIBUTORS.rst b/account_statement_import_file_reconcile_oca/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..ff65d68c --- /dev/null +++ b/account_statement_import_file_reconcile_oca/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Alexis de Lattre diff --git a/account_statement_import_file_reconcile_oca/readme/DESCRIPTION.rst b/account_statement_import_file_reconcile_oca/readme/DESCRIPTION.rst new file mode 100644 index 00000000..8ec9c83a --- /dev/null +++ b/account_statement_import_file_reconcile_oca/readme/DESCRIPTION.rst @@ -0,0 +1,9 @@ +This module is a glue module between 2 modules: + +* **account_statement_import_file** from the Github project *OCA/bank-statement-import* +* **account_reconcile_oca** from the Github project `OCA/account-reconcile `_ + +This module adds a button **Import and Start to Reconcile** on the bank statement file import wizard. When you click on this button, Odoo will import the bank statement file and jump directly to the reconciliation interface. + +.. figure:: ../static/description/bank_statement_import_start_reconcile.png + :alt: Bank statement import wizard screenshot diff --git a/account_statement_import_file_reconcile_oca/readme/INSTALL.rst b/account_statement_import_file_reconcile_oca/readme/INSTALL.rst new file mode 100644 index 00000000..e65c8730 --- /dev/null +++ b/account_statement_import_file_reconcile_oca/readme/INSTALL.rst @@ -0,0 +1 @@ +This module will be installed automatically by Odoo if the modules **account_statement_import_file** and **account_reconcile_oca** are installed. diff --git a/account_statement_import_file_reconcile_oca/static/description/bank_statement_import_start_reconcile.png b/account_statement_import_file_reconcile_oca/static/description/bank_statement_import_start_reconcile.png new file mode 100644 index 0000000000000000000000000000000000000000..1f8ea2cde51a72e1f8cc62ca46eafe5648995158 GIT binary patch literal 24829 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

KD_bST|Rb(F!0tkpGr9n@)Ss}I@C_Kog$i)w3 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 literal 0 HcmV?d00001 diff --git a/account_statement_import_file_reconcile_oca/static/description/icon.png b/account_statement_import_file_reconcile_oca/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/account_statement_import_file_reconcile_oca/static/description/index.html b/account_statement_import_file_reconcile_oca/static/description/index.html new file mode 100644 index 00000000..509931ac --- /dev/null +++ b/account_statement_import_file_reconcile_oca/static/description/index.html @@ -0,0 +1,434 @@ + + + + + + +Import Statement Files and Go Direct to Reconciliation + + + +

+

Import Statement Files and Go Direct to Reconciliation

+ + +

Beta License: AGPL-3 OCA/bank-statement-import Translate me on Weblate Try me on Runbot

+

This module is a glue module between 2 modules:

+
    +
  • account_statement_import from the Github project OCA/bank-statement-import
  • +
  • account_reconciliation_widget from the Github project OCA/account-reconcile
  • +
+

This module adds a button Import and Start to Reconcile on the bank statement file import wizard. When you click on this button, Odoo will import the bank statement file and jump directly to the special reconciliation interface.

+
+Bank statement import wizard screenshot +
+

Table of contents

+ +
+

Installation

+

This module will be installed automatically by Odoo if the modules account_statement_import and account_reconciliation_widget are installed.

+
+
+

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.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Akretion
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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.

+

Current maintainer:

+

alexis-via

+

This module is part of the OCA/bank-statement-import project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/account_statement_import_file_reconcile_oca/wizards/__init__.py b/account_statement_import_file_reconcile_oca/wizards/__init__.py new file mode 100644 index 00000000..ae69bca2 --- /dev/null +++ b/account_statement_import_file_reconcile_oca/wizards/__init__.py @@ -0,0 +1 @@ +from . import account_statement_import diff --git a/account_statement_import_file_reconcile_oca/wizards/account_statement_import.py b/account_statement_import_file_reconcile_oca/wizards/account_statement_import.py new file mode 100644 index 00000000..8a91d71e --- /dev/null +++ b/account_statement_import_file_reconcile_oca/wizards/account_statement_import.py @@ -0,0 +1,37 @@ +# Copyright 2022 Akretion France (http://www.akretion.com/) +# @author: Alexis de Lattre +# Licence AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0). + +from odoo import models + + +class AccountStatementImport(models.TransientModel): + _inherit = "account.statement.import" + + def import_file_and_reconcile_button(self): + """Process the file chosen in the wizard, create bank statement(s) + and jump directly to the reconciliation widget""" + result = self._import_file() + self.env["account.bank.statement"].browse(result["statement_ids"]) + action = self.env["ir.actions.actions"]._for_xml_id( + "account_reconcile_oca.action_bank_statement_line_reconcile" + ) + action["context"] = { + "default_journal_id": self._context.get("journal_id"), + "active_id": self._context.get("journal_id"), + "search_default_not_reconciled": True, + "view_ref": "account_reconcile_oca.bank_statement_line_form_reconcile_view", + } + if result["notifications"]: + action_with_notif = { + "type": "ir.actions.client", + "tag": "display_notification", + "params": { + "type": "warning", + "sticky": True, + "message": "\n\n".join(result["notifications"]), + "next": action, + }, + } + return action_with_notif + return action diff --git a/account_statement_import_file_reconcile_oca/wizards/account_statement_import_view.xml b/account_statement_import_file_reconcile_oca/wizards/account_statement_import_view.xml new file mode 100644 index 00000000..8d5d15af --- /dev/null +++ b/account_statement_import_file_reconcile_oca/wizards/account_statement_import_view.xml @@ -0,0 +1,27 @@ + + + + + + account.statement.import + + + + + + +