diff --git a/account_bank_statement_import_save_file/README.rst b/account_bank_statement_import_save_file/README.rst index 37ff0bf..249b8e2 100644 --- a/account_bank_statement_import_save_file/README.rst +++ b/account_bank_statement_import_save_file/README.rst @@ -1,3 +1,8 @@ +.. 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 + +============================ Save imported statement file ============================ @@ -8,28 +13,41 @@ Usage On a successful import, the generated statement(s) link to an attachment containing the original file. +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 smash it by providing detailed and welcomed feedback. + Credits ======= + +Images +------ + +* Odoo Community Association: `Icon `_. + Contributors ------------ * Holger Brunn - -Icon ----- - -* https://commons.wikimedia.org/wiki/File:Paper_clip_font_awesome.svg +* Mourad EL HADJ MIMOUNE Maintainer ---------- -.. image:: http://odoo-community.org/logo.png - :alt: Odoo Community Association - :target: http://odoo-community.org + +.. 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. +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 http://odoo-community.org. +To contribute to this module, please visit https://odoo-community.org. \ No newline at end of file diff --git a/account_bank_statement_import_save_file/__init__.py b/account_bank_statement_import_save_file/__init__.py index a1813e6..d0b326e 100644 --- a/account_bank_statement_import_save_file/__init__.py +++ b/account_bank_statement_import_save_file/__init__.py @@ -1,22 +1,6 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# This module copyright (C) 2015 Therp BV . -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# © 2015 Therp BV (). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + from . import models from .hooks import _post_init_hook diff --git a/account_bank_statement_import_save_file/__manifest__.py b/account_bank_statement_import_save_file/__manifest__.py index 20c735c..91347c2 100644 --- a/account_bank_statement_import_save_file/__manifest__.py +++ b/account_bank_statement_import_save_file/__manifest__.py @@ -1,25 +1,10 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# Copyright (C) 2015 Therp BV . -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# © 2015 Therp BV (). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + { 'name': 'Save imported bank statements', - 'version': '8.0.1.0.1', + 'version': '10.0.1.0.0', 'author': 'Odoo Community Association (OCA), Therp BV', 'license': 'AGPL-3', 'category': 'Banking addons', diff --git a/account_bank_statement_import_save_file/hooks.py b/account_bank_statement_import_save_file/hooks.py index 2681073..f2b8fd3 100644 --- a/account_bank_statement_import_save_file/hooks.py +++ b/account_bank_statement_import_save_file/hooks.py @@ -1,24 +1,6 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# This module copyright (C) 2015 Therp BV . -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -from openerp import SUPERUSER_ID +# © 2015 Therp BV (). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). def _post_init_hook(cr, pool): @@ -89,7 +71,6 @@ def _post_init_hook_migrate_account_banking_imported_file(cr, pool): (tuple(attachment_ids),) ) for attachment_id, content in cr.fetchall(): - pool['ir.attachment'].write( - cr, SUPERUSER_ID, + pool['ir.attachment'].sudo().write( [attachment_id], {'datas': str(content)}) diff --git a/account_bank_statement_import_save_file/i18n/fr.po b/account_bank_statement_import_save_file/i18n/fr.po index 7245b5c..599ec40 100644 --- a/account_bank_statement_import_save_file/i18n/fr.po +++ b/account_bank_statement_import_save_file/i18n/fr.po @@ -41,7 +41,7 @@ msgstr "Importer Relevé Bancaire" #. module: account_bank_statement_import_save_file #: field:account.bank.statement,import_file:0 msgid "Import file" -msgstr "Importation de fichier" +msgstr "Fichier importé" #. module: account_bank_statement_import_save_file #: view:account.bank.statement:account_bank_statement_import_save_file.view_bank_statement_form diff --git a/account_bank_statement_import_save_file/models/__init__.py b/account_bank_statement_import_save_file/models/__init__.py index 84bff13..9413d5c 100644 --- a/account_bank_statement_import_save_file/models/__init__.py +++ b/account_bank_statement_import_save_file/models/__init__.py @@ -1,22 +1,6 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# This module copyright (C) 2015 Therp BV . -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# © 2015 Therp BV (). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + from . import account_bank_statement from . import account_bank_statement_import diff --git a/account_bank_statement_import_save_file/models/account_bank_statement.py b/account_bank_statement_import_save_file/models/account_bank_statement.py index 9b7073b..a221c13 100644 --- a/account_bank_statement_import_save_file/models/account_bank_statement.py +++ b/account_bank_statement_import_save_file/models/account_bank_statement.py @@ -1,24 +1,8 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# This module copyright (C) 2015 Therp BV (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -from openerp import models, fields +# © 2015 Therp BV (). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import models, fields class AccountBankStatement(models.Model): diff --git a/account_bank_statement_import_save_file/models/account_bank_statement_import.py b/account_bank_statement_import_save_file/models/account_bank_statement_import.py index 999781e..7263dc4 100644 --- a/account_bank_statement_import_save_file/models/account_bank_statement_import.py +++ b/account_bank_statement_import_save_file/models/account_bank_statement_import.py @@ -1,41 +1,28 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# This module copyright (C) 2015 Therp BV (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# © 2015 Therp BV (). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + import base64 -from openerp import models, api +from odoo import models, api class AccountBankStatementImport(models.TransientModel): _inherit = 'account.bank.statement.import' @api.model - def _import_file(self, data_file): - (statement_ids, notifications) = \ - super(AccountBankStatementImport, self)._import_file(data_file) + def import_file(self): + action = \ + super(AccountBankStatementImport, self).import_file() + statement_ids = action.get('context', {}).get('statement_ids') + notifications = action.get('context', {}).get('notifications') + data_file = base64.b64decode(self.data_file) if statement_ids: self.env['account.bank.statement'].browse(statement_ids).write({ 'import_file': self.env['ir.attachment'].create( self._create_import_file_attachment_data( data_file, statement_ids[0], notifications)).id, }) - return (statement_ids, notifications) + return action @api.model def _create_import_file_attachment_data(self, data_file, statement_id, diff --git a/account_bank_statement_import_save_file/tests/__init__.py b/account_bank_statement_import_save_file/tests/__init__.py index f06dd21..6086380 100644 --- a/account_bank_statement_import_save_file/tests/__init__.py +++ b/account_bank_statement_import_save_file/tests/__init__.py @@ -1,21 +1,5 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# This module copyright (C) 2015 Therp BV . -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# © 2015 Therp BV (). +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + from . import test_save_file diff --git a/account_bank_statement_import_save_file/tests/test_save_file.py b/account_bank_statement_import_save_file/tests/test_save_file.py index 7e5b186..3a65886 100644 --- a/account_bank_statement_import_save_file/tests/test_save_file.py +++ b/account_bank_statement_import_save_file/tests/test_save_file.py @@ -1,26 +1,11 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# This module copyright (C) 2015 Therp BV . -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# © 2015 Therp BV (). +# © 2017 Today Mourad EL HADJ MIMOUNE +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + import base64 -from openerp import api, models -from openerp.tests.common import TransactionCase +from odoo import api, models +from odoo.tests.common import TransactionCase acc_number = 'BE1234567890' @@ -48,31 +33,26 @@ class HelloWorldParser(models.TransientModel): class TestSaveFile(TransactionCase): + def setUp(self): + super(TestSaveFile, self).setUp() + self.currency_eur_id = self.env.ref("base.EUR").id + self.bank_journal_euro = self.env['account.journal'].create( + {'name': 'Bank', + 'type': 'bank', + 'code': 'BNK_test_imp', + 'currency_id': self.currency_eur_id + }) + def test_SaveFile(self): HelloWorldParser._build_model(self.registry, self.cr) import_wizard = self.env['account.bank.statement.import'] - import_wizard._prepare_setup() - import_wizard._setup_base(False) - import_wizard._setup_fields() - import_wizard._setup_complete() - import_wizard._auto_init() - journal_id = self.env['res.partner.bank'].search([ - ('acc_number', '=', acc_number), - ]).journal_id.id - if not journal_id: - account = import_wizard._create_bank_account(acc_number) - journal_id = self.env['account.journal']\ - .search([ - '|', - ('currency.name', '=', 'EUR'), - ('currency', '=', False) - ]).ids[0] - account.journal_id = journal_id - action = import_wizard.with_context(journal_id=journal_id)\ - .create({'data_file': base64.b64encode('hello world')})\ - .import_file() + journal_id = self.bank_journal_euro.id + import_wizard_id = import_wizard.with_context(journal_id=journal_id)\ + .create( + {'data_file': base64.b64encode(bytes('Hello world'))}) + action = import_wizard_id.import_file() for statement in self.env['account.bank.statement'].browse( action['context']['statement_ids']): self.assertEqual( base64.b64decode(statement.import_file.datas), - 'hello world') + 'Hello world') diff --git a/account_bank_statement_import_save_file/views/account_bank_statement.xml b/account_bank_statement_import_save_file/views/account_bank_statement.xml index ab0ce41..c1375ac 100644 --- a/account_bank_statement_import_save_file/views/account_bank_statement.xml +++ b/account_bank_statement_import_save_file/views/account_bank_statement.xml @@ -1,25 +1,23 @@ - - - - account.bank.statement - - - - + + + account.bank.statement + + + + + - - - - - - - + - - - - - - - + + + + + + + + + + +