From 8225ff6a2206556fd2429575e0d37340459e001d Mon Sep 17 00:00:00 2001 From: Borruso Date: Fri, 2 Sep 2022 18:09:34 +0200 Subject: [PATCH 01/25] [ADD] l10n_it_central_journal_reportlab: aggiunto modulo libro giornale stampa reportlab --- l10n_it_central_journal_reportlab/README.rst | 82 +++ l10n_it_central_journal_reportlab/__init__.py | 4 + .../__manifest__.py | 20 + .../l10n_it_central_journal_reportlab.pot | 341 ++++++++++ .../models/__init__.py | 3 + .../models/account.py | 25 + .../readme/CONTRIBUTORS.rst | 4 + .../readme/DESCRIPTION.rst | 7 + .../security/ir.model.access.csv | 3 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 425 +++++++++++++ .../tests/__init__.py | 1 + .../tests/test_central_journal_reportlab.py | 61 ++ .../views/date_range_view.xml | 46 ++ .../wizard/__init__.py | 3 + .../wizard/print_giornale.py | 601 ++++++++++++++++++ .../wizard/print_giornale.xml | 84 +++ 17 files changed, 1710 insertions(+) create mode 100644 l10n_it_central_journal_reportlab/README.rst create mode 100644 l10n_it_central_journal_reportlab/__init__.py create mode 100644 l10n_it_central_journal_reportlab/__manifest__.py create mode 100644 l10n_it_central_journal_reportlab/i18n/l10n_it_central_journal_reportlab.pot create mode 100644 l10n_it_central_journal_reportlab/models/__init__.py create mode 100644 l10n_it_central_journal_reportlab/models/account.py create mode 100644 l10n_it_central_journal_reportlab/readme/CONTRIBUTORS.rst create mode 100644 l10n_it_central_journal_reportlab/readme/DESCRIPTION.rst create mode 100644 l10n_it_central_journal_reportlab/security/ir.model.access.csv create mode 100755 l10n_it_central_journal_reportlab/static/description/icon.png create mode 100644 l10n_it_central_journal_reportlab/static/description/index.html create mode 100644 l10n_it_central_journal_reportlab/tests/__init__.py create mode 100644 l10n_it_central_journal_reportlab/tests/test_central_journal_reportlab.py create mode 100644 l10n_it_central_journal_reportlab/views/date_range_view.xml create mode 100644 l10n_it_central_journal_reportlab/wizard/__init__.py create mode 100644 l10n_it_central_journal_reportlab/wizard/print_giornale.py create mode 100644 l10n_it_central_journal_reportlab/wizard/print_giornale.xml diff --git a/l10n_it_central_journal_reportlab/README.rst b/l10n_it_central_journal_reportlab/README.rst new file mode 100644 index 000000000000..1e30f899d36f --- /dev/null +++ b/l10n_it_central_journal_reportlab/README.rst @@ -0,0 +1,82 @@ +================================ +ITA - Libro giornale - Reportlab +================================ + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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%2Fl10n--italy-lightgray.png?logo=github + :target: https://github.com/OCA/l10n-italy/tree/14.0/l10n_it_central_journal_reportlab + :alt: OCA/l10n-italy +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/l10n-italy-14-0/l10n-italy-14-0-l10n_it_central_journal_reportlab + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/122/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +**Italiano** + +Modulo per la stampa del libro giornale con reportlab + +**English** + +Module for print general journal with reportlab + +**Table of contents** + +.. contents:: + :local: + +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 +~~~~~~~ + +* Gianmarco Conte - Dinamiche Aziendali srl + +Contributors +~~~~~~~~~~~~ + +* Gianmarco Conte +* Lara Baggio +* Glauco Prina +* Giuseppe Borruso + +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. + +This module is part of the `OCA/l10n-italy `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_it_central_journal_reportlab/__init__.py b/l10n_it_central_journal_reportlab/__init__.py new file mode 100644 index 000000000000..68e14f9a5a28 --- /dev/null +++ b/l10n_it_central_journal_reportlab/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2018 Gianmarco Conte (gconte@dinamicheaziendali.it) + +from . import models +from . import wizard diff --git a/l10n_it_central_journal_reportlab/__manifest__.py b/l10n_it_central_journal_reportlab/__manifest__.py new file mode 100644 index 000000000000..781ec60cf9b4 --- /dev/null +++ b/l10n_it_central_journal_reportlab/__manifest__.py @@ -0,0 +1,20 @@ +# Copyright 2018 Gianmarco Conte (gconte@dinamicheaziendali.it) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "ITA - Libro giornale - Reportlab", + "version": "14.0.1.0.0", + "development_status": "Beta", + "category": "Localization/Italy", + "author": "Gianmarco Conte - Dinamiche Aziendali srl, " + "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/l10n-italy", + "license": "AGPL-3", + "depends": ["account", "date_range"], + "data": [ + "security/ir.model.access.csv", + "wizard/print_giornale.xml", + "views/date_range_view.xml", + ], + "installable": True, +} diff --git a/l10n_it_central_journal_reportlab/i18n/l10n_it_central_journal_reportlab.pot b/l10n_it_central_journal_reportlab/i18n/l10n_it_central_journal_reportlab.pot new file mode 100644 index 000000000000..7491a0991a48 --- /dev/null +++ b/l10n_it_central_journal_reportlab/i18n/l10n_it_central_journal_reportlab.pot @@ -0,0 +1,341 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_central_journal_reportlab +# +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: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Account" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Account Central Journal - %s.pdf" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Account Central Journal.pdf" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Account Move" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__target_move__all +msgid "All" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Balance" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Cancel" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__company_id +msgid "Company" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__create_uid +msgid "Created by" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__create_date +msgid "Created on" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Credit" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Date" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__date_move_line_from +msgid "Date Move Line From" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model,name:l10n_it_central_journal_reportlab.model_date_range +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__daterange_id +msgid "Date Range" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Dates movements" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Debit" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal__display_name +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__display_name +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__target_move__draft +msgid "Draft" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal__central_journal_exclude +msgid "Exclude from General Journal" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Final Balance" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Final print" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__date_move_line_from_view +msgid "From date" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.ui.menu,name:l10n_it_central_journal_reportlab.menu_giornale +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "General Journal" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.view_date_range_form_inherit_view +msgid "General Journal Info" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.actions.act_window,name:l10n_it_central_journal_reportlab.action_giornale_reportlab +msgid "General Journal Reportlab" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__group_by_account +msgid "Group by account" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal__id +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__id +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__id +msgid "ID" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Initial Balance" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model,name:l10n_it_central_journal_reportlab.model_account_journal +msgid "Journal" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__journal_ids +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Journals" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal____last_update +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range____last_update +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__write_date +msgid "Last Updated on" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__last_def_date_print +msgid "Last definitive date print" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__date_last_print +msgid "Last printed date" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__fiscal_page_base +msgid "Last printed page" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Layout" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Name" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "No documents found in the current selection" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "PDF" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Page: %s / %s" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__target_move__posted +msgid "Posted" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Print" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__print_state__printed +msgid "Printed" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__progressive_credit +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__progressive_credit +msgid "Progressive Credit" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__progressive_debit +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__progressive_debit2 +msgid "Progressive Debit" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__progressive_line_number +msgid "Progressive line" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__progressive_page_number +msgid "Progressive of the page" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__print_state__print +msgid "Ready for printing" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__report_giornale +msgid "Report Giornale" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__report_giornale_name +msgid "Report Giornale Name" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Row" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__start_row +msgid "Start row" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__print_state +msgid "State" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__target_move +msgid "Target Move" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__date_move_line_to +msgid "To date" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,help:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__year_footer +msgid "Value printed near number of page in the footer" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model,name:l10n_it_central_journal_reportlab.model_wizard_giornale_reportlab +msgid "Wizard journal report with reportlab" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__year_footer +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Year for Footer" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "or" +msgstr "" diff --git a/l10n_it_central_journal_reportlab/models/__init__.py b/l10n_it_central_journal_reportlab/models/__init__.py new file mode 100644 index 000000000000..63724e4c75e6 --- /dev/null +++ b/l10n_it_central_journal_reportlab/models/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2018 Gianmarco Conte (gconte@dinamicheaziendali.it) + +from . import account diff --git a/l10n_it_central_journal_reportlab/models/account.py b/l10n_it_central_journal_reportlab/models/account.py new file mode 100644 index 000000000000..af8befde1c53 --- /dev/null +++ b/l10n_it_central_journal_reportlab/models/account.py @@ -0,0 +1,25 @@ +# Copyright 2018 Gianmarco Conte (gconte@dinamicheaziendali.it) + +from odoo import fields, models + + +class AccountJournalInherit(models.Model): + _inherit = "account.journal" + + central_journal_exclude = fields.Boolean("Exclude from General Journal") + + +class DateRangeInherit(models.Model): + _inherit = "date.range" + + date_last_print = fields.Date("Last printed date") + progressive_page_number = fields.Integer("Progressive of the page") + progressive_line_number = fields.Integer("Progressive line") + progressive_credit = fields.Float( + "Progressive Credit", + digits="Account", + ) + progressive_debit = fields.Float( + "Progressive Debit", + digits="Account", + ) diff --git a/l10n_it_central_journal_reportlab/readme/CONTRIBUTORS.rst b/l10n_it_central_journal_reportlab/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..71dd092145b1 --- /dev/null +++ b/l10n_it_central_journal_reportlab/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* Gianmarco Conte +* Lara Baggio +* Glauco Prina +* Giuseppe Borruso diff --git a/l10n_it_central_journal_reportlab/readme/DESCRIPTION.rst b/l10n_it_central_journal_reportlab/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..19123dd41b2c --- /dev/null +++ b/l10n_it_central_journal_reportlab/readme/DESCRIPTION.rst @@ -0,0 +1,7 @@ +**Italiano** + +Modulo per la stampa del libro giornale con reportlab + +**English** + +Module for print general journal with reportlab diff --git a/l10n_it_central_journal_reportlab/security/ir.model.access.csv b/l10n_it_central_journal_reportlab/security/ir.model.access.csv new file mode 100644 index 000000000000..88bfafe2bf0e --- /dev/null +++ b/l10n_it_central_journal_reportlab/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_date_range_group_account_manager,group_account_manager model_date_range,model_date_range,account.group_account_manager,1,1,0,0 +access_wizard_giornale_reportlab_manager,access_wizard_giornale_reportlab manager,l10n_it_central_journal_reportlab.model_wizard_giornale_reportlab,,1,1,1,1 diff --git a/l10n_it_central_journal_reportlab/static/description/icon.png b/l10n_it_central_journal_reportlab/static/description/icon.png new file mode 100755 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/l10n_it_central_journal_reportlab/static/description/index.html b/l10n_it_central_journal_reportlab/static/description/index.html new file mode 100644 index 000000000000..7637731c9492 --- /dev/null +++ b/l10n_it_central_journal_reportlab/static/description/index.html @@ -0,0 +1,425 @@ + + + + + + +ITA - Libro giornale - Reportlab + + + +
+

ITA - Libro giornale - Reportlab

+ + +

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runbot

+

Italiano

+

Modulo per la stampa del libro giornale con reportlab

+

English

+

Module for print general journal with reportlab

+

Table of contents

+ +
+

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

+
    +
  • Gianmarco Conte - Dinamiche Aziendali srl
  • +
+
+
+

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.

+

This module is part of the OCA/l10n-italy project on GitHub.

+

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

+
+
+
+ + diff --git a/l10n_it_central_journal_reportlab/tests/__init__.py b/l10n_it_central_journal_reportlab/tests/__init__.py new file mode 100644 index 000000000000..2d4275cae870 --- /dev/null +++ b/l10n_it_central_journal_reportlab/tests/__init__.py @@ -0,0 +1 @@ +from . import test_central_journal_reportlab diff --git a/l10n_it_central_journal_reportlab/tests/test_central_journal_reportlab.py b/l10n_it_central_journal_reportlab/tests/test_central_journal_reportlab.py new file mode 100644 index 000000000000..7b9c97f9e28a --- /dev/null +++ b/l10n_it_central_journal_reportlab/tests/test_central_journal_reportlab.py @@ -0,0 +1,61 @@ +# Copyright 2022 Giuseppe Borruso +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +import base64 +import io +from datetime import datetime + +from dateutil.rrule import MONTHLY + +from odoo.tests.common import Form, TransactionCase +from odoo.tools import pdf + + +class TestCentralJournalReportlab(TransactionCase): + def setUp(self): + super(TestCentralJournalReportlab, self).setUp() + + self.today = datetime.now() + self.range_type = self.env["date.range.type"].create({"name": "Fiscal year"}) + self.env["date.range.generator"].create( + { + "date_start": "%s-01-01" % self.today.year, + "name_prefix": "%s-" % self.today.year, + "type_id": self.range_type.id, + "duration_count": 1, + "unit_of_time": str(MONTHLY), + "count": 12, + } + ).action_apply() + self.current_period = self.env["date.range"].search( + [ + ("date_start", "<=", self.today.date()), + ("date_end", ">=", self.today.date()), + ] + ) + self.wizard_model = self.env["wizard.giornale.reportlab"] + self.report_model = self.env["ir.actions.report"] + self.report_name = "l10n_it_central_journal_reportlab.report_giornale_reportlab" + self.journals = self.env["account.journal"].search([]) + + def test_wizard_reportlab(self): + wizard_form = Form(self.wizard_model) + wizard_form.daterange_id = self.current_period + wizard = wizard_form.save() + self.assertEqual( + len(wizard.journal_ids), + len(self.journals.filtered(lambda j: not j.central_journal_exclude)), + ) + self.assertEqual(wizard.date_move_line_from, self.current_period.date_start) + self.assertEqual(wizard.date_move_line_to, self.current_period.date_end) + self.assertEqual(wizard.year_footer, str(self.today.year)) + next_year = self.today.year + 1 + + wizard.year_footer = next_year + wizard.fiscal_page_base = 99 + + wizard.print_giornale_reportlab() + decode_giornale = base64.b64decode(wizard.report_giornale) + self.minimal_reader_buffer = io.BytesIO(decode_giornale) + self.minimal_pdf_reader = pdf.OdooPdfFileReader(self.minimal_reader_buffer) + self.assertTrue(self.minimal_reader_buffer) diff --git a/l10n_it_central_journal_reportlab/views/date_range_view.xml b/l10n_it_central_journal_reportlab/views/date_range_view.xml new file mode 100644 index 000000000000..7a79c86e946d --- /dev/null +++ b/l10n_it_central_journal_reportlab/views/date_range_view.xml @@ -0,0 +1,46 @@ + + + + + + view.central.journal.account.journal.form + account.journal + + + + + + + + + + date.range.form + date.range + + + + + + + + + + + + + + + + + date.range.tree.inherit + date.range + + + + + + + + + + diff --git a/l10n_it_central_journal_reportlab/wizard/__init__.py b/l10n_it_central_journal_reportlab/wizard/__init__.py new file mode 100644 index 000000000000..5a77f776d3c1 --- /dev/null +++ b/l10n_it_central_journal_reportlab/wizard/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2018 Gianmarco Conte (gconte@dinamicheaziendali.it) + +from . import print_giornale diff --git a/l10n_it_central_journal_reportlab/wizard/print_giornale.py b/l10n_it_central_journal_reportlab/wizard/print_giornale.py new file mode 100644 index 000000000000..8340a85c01cc --- /dev/null +++ b/l10n_it_central_journal_reportlab/wizard/print_giornale.py @@ -0,0 +1,601 @@ +# Copyright 2018 Gianmarco Conte (gconte@dinamicheaziendali.it) + +import base64 +import io +from datetime import timedelta + +from reportlab.lib import colors +from reportlab.lib.enums import TA_RIGHT +from reportlab.lib.pagesizes import A4 +from reportlab.lib.styles import ParagraphStyle +from reportlab.lib.units import cm +from reportlab.pdfgen import canvas +from reportlab.platypus import Table +from reportlab.platypus.paragraph import Paragraph + +from odoo import _, api, fields, models +from odoo.exceptions import UserError +from odoo.tools.misc import flatten, format_date, formatLang + +gap = 1 * cm # gap between header/footer and page content +gap_text = 0.5 * cm # gap between text +margin_left = 0.5 * cm # layout margin left +margin_bottom = 0.5 * cm # layout margin bottom +footer_height = 2 * gap_text + 12 # layout footer height + + +class WizardGiornaleReportlab(models.TransientModel): + @api.model + def _get_journal(self): + journal_obj = self.env["account.journal"] + journal_ids = journal_obj.search( + [ + ("central_journal_exclude", "=", False), + ] + ) + return journal_ids + + _name = "wizard.giornale.reportlab" + _description = "Wizard journal report with reportlab" + + date_move_line_from = fields.Date(required=True) + date_move_line_from_view = fields.Date("From date") + last_def_date_print = fields.Date("Last definitive date print") + date_move_line_to = fields.Date("To date", required=True) + daterange_id = fields.Many2one("date.range", "Date Range", required=True) + company_id = fields.Many2one( + related="daterange_id.company_id", readonly=True, store=True + ) + progressive_credit = fields.Float("Progressive Credit") + progressive_debit2 = fields.Float("Progressive Debit") + print_state = fields.Selection( + [("print", "Ready for printing"), ("printed", "Printed")], + "State", + default="print", + readonly=True, + ) + journal_ids = fields.Many2many( + "account.journal", + "giornale_reportlab_journals_rel", + "journal_id", + "giornale_reportlab_id", + default=_get_journal, + string="Journals", + required=True, + ) + target_move = fields.Selection( + [("all", "All"), ("posted", "Posted"), ("draft", "Draft")], + "Target Move", + default="all", + ) + fiscal_page_base = fields.Integer("Last printed page", required=True) + start_row = fields.Integer("Start row", required=True) + year_footer = fields.Char( + string="Year for Footer", + help="Value printed near number " "of page in the footer", + ) + report_giornale = fields.Binary(string="Report Giornale") + report_giornale_name = fields.Char( + string="Report Giornale Name", + compute="_compute_report_giornale_name", + ) + group_by_account = fields.Boolean(string="Group by account", default=False) + + @api.depends("report_giornale", "daterange_id") + def _compute_report_giornale_name(self): + for wizard in self: + if wizard.report_giornale and wizard.daterange_id: + wizard.report_giornale_name = _( + "Account Central Journal - %s.pdf" % wizard.daterange_id.name + ) + elif wizard.report_giornale: + wizard.report_giornale_name = _("Account Central Journal.pdf") + else: + wizard.report_giornale_name = False + + @api.onchange("date_move_line_from_view") + def get_year_footer_reportlab(self): + if self.date_move_line_from_view: + self.year_footer = fields.Date.to_date(self.date_move_line_from_view).year + + @api.onchange("daterange_id") + def on_change_daterange_reportlab(self): + if self.daterange_id: + date_start = fields.Date.to_date(self.daterange_id.date_start) + date_end = fields.Date.to_date(self.daterange_id.date_end) + + if self.daterange_id.date_last_print: + date_last_print = fields.Date.to_date(self.daterange_id.date_last_print) + self.last_def_date_print = date_last_print + date_start = (date_last_print + timedelta(days=1)).__str__() + else: + self.last_def_date_print = None + self.date_move_line_from = date_start + self.date_move_line_from_view = date_start + self.date_move_line_to = date_end + if self.daterange_id.progressive_line_number != 0: + self.start_row = self.daterange_id.progressive_line_number + 1 + else: + self.start_row = self.daterange_id.progressive_line_number + self.progressive_debit2 = self.daterange_id.progressive_debit + self.progressive_credit = self.daterange_id.progressive_credit + + if self.last_def_date_print == self.daterange_id.date_end: + self.date_move_line_from_view = self.last_def_date_print + + def get_grupped_line_reportlab_ids(self): + wizard = self + if wizard.target_move == "all": + target_type = ["posted", "draft"] + else: + target_type = [wizard.target_move] + sql = """ + SELECT + am.date, + am.name AS move_name, + aa.code AS account_code, + aa.name AS account_name, + COALESCE(am.ref, '') AS name, + SUM(aml.debit) AS debit, + SUM(aml.credit) AS credit + FROM + account_move_line aml + LEFT JOIN account_move am ON (am.id = aml.move_id) + LEFT JOIN account_account aa ON (aa.id = aml.account_id) + WHERE + aml.date >= %(date_from)s + AND aml.date <= %(date_to)s + AND am.state in %(target_type)s + AND aml.journal_id in %(journal_ids)s + GROUP BY + am.date, + am.name, + aa.code, + aa.name, + am.ref + ORDER BY + am.date, + am.name, + aa.code + """ + params = { + "date_from": wizard.date_move_line_from, + "date_to": wizard.date_move_line_to, + "target_type": tuple(target_type), + "journal_ids": tuple(self.journal_ids.ids), + } + self.env.cr.execute(sql, params) + list_grupped_line = self.env.cr.dictfetchall() + return list_grupped_line + + def get_line_reportlab_ids(self): + if self.target_move == "all": + target_type = ["posted", "draft"] + else: + target_type = [self.target_move] + sql = """ + SELECT aml.id FROM account_move_line aml + LEFT JOIN account_move am ON (am.id = aml.move_id) + LEFT JOIN account_account aa ON (aa.id = aml.account_id) + WHERE + aml.date >= %(date_from)s + AND aml.date <= %(date_to)s + AND am.state in %(target_type)s + AND aml.journal_id in %(journal_ids)s + ORDER BY am.date, am.name, aa.code + """ + params = { + "date_from": self.date_move_line_from, + "date_to": self.date_move_line_to, + "target_type": tuple(target_type), + "journal_ids": tuple(self.journal_ids.ids), + } + self.env.cr.execute(sql, params) + res = self.env.cr.fetchall() + move_line_ids = flatten(res) + return move_line_ids + + def _get_move_name_reportlab(self, line): + return " - ".join(filter(None, [line.move_id.ref, line.move_id.name])) + + def _get_account_name_reportlab(self, line): + return " - ".join(filter(None, [line.account_id.code, line.account_id.name])) + + def get_template_header_report_giornale(self, report, height_available): + report.setFont("Helvetica-Bold", 12) + height_available -= gap + report.drawString(margin_left, height_available, self.env.user.company_id.name) + report.setFont("Helvetica", 10) + text = "" + if self.env.user.company_id.street: + text += self.env.user.company_id.street + if self.env.user.company_id.zip: + text += " " + self.env.user.company_id.zip + if self.env.user.company_id.city: + text += " - " + self.env.user.company_id.city + if self.env.user.company_id.state_id.code: + text += " - " + self.env.user.company_id.state_id.code + if self.env.user.company_id.vat: + text += " IVA: " + self.env.user.company_id.vat + height_available -= gap_text + report.drawString(margin_left, height_available, text) + return height_available + + def get_template_footer_report_giornale(self, report): + page_num = report.getPageNumber() + self.fiscal_page_base + page_text = _("Page: %s / %s" % (self.year_footer, page_num)) + report.drawString(margin_left, margin_bottom + 12, page_text) + + def get_styles_report_giornale_line(self): + style_header = ParagraphStyle("style_header") + style_header.fontSize = 10 + style_header.fontName = "Helvetica-Bold" + + style_header_number = ParagraphStyle("style_header_number") + style_header_number.alignment = TA_RIGHT + style_header_number.fontSize = 10 + style_header_number.fontName = "Helvetica-Bold" + + style_name = ParagraphStyle("style_name") + style_name.fontSize = 6.5 + style_name.fontName = "Helvetica" + + style_number = ParagraphStyle("style_number") + style_number.fontSize = 6.5 + style_number.alignment = TA_RIGHT + style_number.fontName = "Helvetica" + + style_table = [ + ("VALIGN", (0, 0), (-1, -1), "TOP"), + ("LEFTPADDING", (0, 0), (-1, -1), 1), + ("RIGHTPADDING", (0, 0), (-1, -1), 1), + ("TOPPADDING", (0, 0), (-1, -1), 1), + ("BOTTOMPADDING", (0, 0), (-1, -1), 1), + ] + style_table_line_above = [ + ("VALIGN", (0, 0), (-1, -1), "TOP"), + ("LEFTPADDING", (0, 0), (-1, -1), 1), + ("RIGHTPADDING", (0, 0), (-1, -1), 1), + ("TOPPADDING", (0, 0), (-1, -1), 1), + ("BOTTOMPADDING", (0, 0), (-1, -1), 1), + ("LINEABOVE", (0, 0), (-1, -1), 1, colors.black), + ] + return { + "style_header": style_header, + "style_header_number": style_header_number, + "style_name": style_name, + "style_number": style_number, + "style_table": style_table, + "style_table_line_above": style_table_line_above, + } + + def get_colwidths_report_giornale(self, width_available): + colwidths = [32, 35, 130, 130, 130, 50, 50] + total = sum(colwidths) + return [c / total * width_available for c in colwidths] + + def get_data_header_report_giornale(self): + style_header = self.get_styles_report_giornale_line()["style_header"] + style_header_number = self.get_styles_report_giornale_line()[ + "style_header_number" + ] + + data_header = [ + [ + Paragraph(_("Row"), style_header), + Paragraph(_("Date"), style_header), + Paragraph(_("Account Move"), style_header), + Paragraph(_("Account"), style_header), + Paragraph(_("Name"), style_header), + Paragraph(_("Debit"), style_header_number), + Paragraph(_("Credit"), style_header_number), + ] + ] + return data_header + + def get_initial_balance_data_report_giornale(self): + style_name = self.get_styles_report_giornale_line()["style_name"] + style_number = self.get_styles_report_giornale_line()["style_number"] + + initial_balance_data = [ + [ + "", + "", + "", + "", + Paragraph(_("Initial Balance"), style_name), + Paragraph(formatLang(self.env, self.progressive_debit2), style_number), + Paragraph(formatLang(self.env, self.progressive_credit), style_number), + ] + ] + return initial_balance_data + + def get_grupped_final_tables_report_giornale( + self, list_grupped_line, tables, start_row, width_available + ): + style_name = self.get_styles_report_giornale_line()["style_name"] + style_number = self.get_styles_report_giornale_line()["style_number"] + style_table = self.get_styles_report_giornale_line()["style_table"] + style_table_line_above = self.get_styles_report_giornale_line()[ + "style_table_line_above" + ] + colwidths = self.get_colwidths_report_giornale(width_available) + + previous_move_name = "" + list_balance = [ + (0, 0), + (self.progressive_debit2, self.progressive_credit), + ] + for line in list_grupped_line: + start_row += 1 + row = Paragraph(str(start_row), style_name) + date = Paragraph(format_date(self.env, line["date"]), style_name) + move = Paragraph(line["move_name"], style_name) + account_name = ( + line["account_code"] + " - " + line["account_name"] + if line["account_code"] + else line["account_name"] + ) + account = Paragraph(account_name, style_name) + name = Paragraph(line["name"], style_name) + # dato che nel SQL ho la somma dei crediti e debiti potrei avere + # che un conto ha sia debito che credito + lines_data = [] + if line["debit"] > 0: + debit = Paragraph(formatLang(self.env, line["debit"]), style_number) + credit = Paragraph(formatLang(self.env, 0), style_number) + list_balance.append((line["debit"], 0)) + lines_data.append([[row, date, move, account, name, debit, credit]]) + if line["credit"] > 0: + debit = Paragraph(formatLang(self.env, 0), style_number) + credit = Paragraph(formatLang(self.env, line["credit"]), style_number) + list_balance.append((0, line["credit"])) + lines_data.append([[row, date, move, account, name, debit, credit]]) + for line_data in lines_data: + if previous_move_name != line["move_name"]: + previous_move_name = line["move_name"] + tables.append( + Table( + line_data, colWidths=colwidths, style=style_table_line_above + ) + ) + else: + tables.append( + Table(line_data, colWidths=colwidths, style=style_table) + ) + return tables, list_balance + + def get_final_tables_report_giornale( + self, move_line_ids, tables, start_row, width_available + ): + style_name = self.get_styles_report_giornale_line()["style_name"] + style_number = self.get_styles_report_giornale_line()["style_number"] + style_table = self.get_styles_report_giornale_line()["style_table"] + style_table_line_above = self.get_styles_report_giornale_line()[ + "style_table_line_above" + ] + colwidths = self.get_colwidths_report_giornale(width_available) + + previous_move_name = "" + list_balance = [ + (0, 0), + (self.progressive_debit2, self.progressive_credit), + ] + + for line in self.env["account.move.line"].browse(move_line_ids): + start_row += 1 + row = Paragraph(str(start_row), style_name) + date = Paragraph(format_date(self.env, line.date), style_name) + move_name = self._get_move_name_reportlab(line) + move = Paragraph(move_name, style_name) + account_name = self._get_account_name_reportlab(line) + account = Paragraph(account_name, style_name) + if line.account_id.user_type_id.type in ["receivable", "payable"]: + name = Paragraph(str(line.partner_id.name or ""), style_name) + else: + name = Paragraph(str(line.name or ""), style_name) + debit = Paragraph(formatLang(self.env, line.debit), style_number) + credit = Paragraph(formatLang(self.env, line.credit), style_number) + list_balance.append((line.debit, line.credit)) + line_data = [[row, date, move, account, name, debit, credit]] + if previous_move_name != move_name: + previous_move_name = move_name + tables.append( + Table(line_data, colWidths=colwidths, style=style_table_line_above) + ) + else: + tables.append(Table(line_data, colWidths=colwidths, style=style_table)) + return tables, list_balance + + def get_balance_data_report_giornale(self, tot_debit, tot_credit, final=False): + style_name = self.get_styles_report_giornale_line()["style_name"] + style_number = self.get_styles_report_giornale_line()["style_number"] + + if final: + name = Paragraph(_("Final Balance"), style_name) + else: + name = Paragraph(_("Balance"), style_name) + + balance_data = [ + [ + "", + "", + "", + "", + name, + Paragraph(formatLang(self.env, tot_debit), style_number), + Paragraph(formatLang(self.env, tot_credit), style_number), + ] + ] + return balance_data + + def create_report_giornale_reportlab(self): + pdf_bytes = io.BytesIO() + + WIDTH, HEIGHT = A4 + width_available = WIDTH - (2 * margin_left) + height_available = HEIGHT + report = canvas.Canvas(pdf_bytes, pagesize=A4) + height_available = self.get_template_header_report_giornale( + report, height_available + ) + + style_table = self.get_styles_report_giornale_line()["style_table"] + style_table_line_above = self.get_styles_report_giornale_line()[ + "style_table_line_above" + ] + + colwidths = self.get_colwidths_report_giornale(width_available) + data_header = self.get_data_header_report_giornale() + tables = [Table(data_header, colWidths=colwidths, style=style_table)] + initial_balance_data = self.get_initial_balance_data_report_giornale() + tables.append( + Table(initial_balance_data, colWidths=colwidths, style=style_table) + ) + start_row = self.start_row + if self.group_by_account: + list_grupped_line = self.get_grupped_line_reportlab_ids() + if not list_grupped_line: + raise UserError(_("No documents found in the current selection")) + final_tables, list_balance = self.get_grupped_final_tables_report_giornale( + list_grupped_line, tables, start_row, width_available + ) + else: + move_line_ids = self.get_line_reportlab_ids() + if not move_line_ids: + raise UserError(_("No documents found in the current selection")) + final_tables, list_balance = self.get_final_tables_report_giornale( + move_line_ids, tables, start_row, width_available + ) + + height_available -= gap + i = 0 + tot_debit = 0 + tot_credit = 0 + for table in final_tables: + table_width, table_height = table.wrapOn(report, width_available, HEIGHT) + if height_available - footer_height < table_height: + balance_data = self.get_balance_data_report_giornale( + tot_debit, tot_credit, final=False + ) + table_balance = Table( + balance_data, colWidths=colwidths, style=style_table_line_above + ) + table_balance_width, table_balance_height = table_balance.wrapOn( + report, WIDTH, HEIGHT + ) + height_available -= table_balance_height + table_balance.drawOn(report, margin_left, height_available) + self.get_template_footer_report_giornale(report) + + report.showPage() + height_available = self.get_template_header_report_giornale( + report, HEIGHT + ) + height_available -= gap + header_table = Table( + data_header, colWidths=colwidths, style=style_table + ) + header_table_width, header_table_height = header_table.wrapOn( + report, WIDTH, HEIGHT + ) + height_available -= header_table_height + header_table.drawOn(report, margin_left, height_available) + table_balance = Table( + balance_data, colWidths=colwidths, style=style_table + ) + table_balance.wrapOn(report, WIDTH, HEIGHT) + height_available -= header_table_height + table_balance_height + table_balance.drawOn(report, margin_left, height_available) + + tot_debit += list_balance[i][0] + tot_credit += list_balance[i][1] + height_available -= table_height + table.drawOn(report, margin_left, height_available) + i += 1 + + final_balance_data = self.get_balance_data_report_giornale( + tot_debit, tot_credit, final=True + ) + final_balance_table = Table( + final_balance_data, colWidths=colwidths, style=style_table_line_above + ) + ( + final_balance_table_width, + final_balance_table_height, + ) = final_balance_table.wrapOn(report, WIDTH, HEIGHT) + if height_available - footer_height >= final_balance_table_height: + height_available -= final_balance_table_height + final_balance_table.drawOn(report, margin_left, height_available) + else: + self.get_template_footer_report_giornale(report) + + report.showPage() + height_available = self.get_template_header_report_giornale(report, HEIGHT) + height_available -= gap + header_table = Table(data_header, colWidths=colwidths, style=style_table) + header_table_width, header_table_height = header_table.wrapOn( + report, WIDTH, HEIGHT + ) + height_available -= header_table_height + header_table.drawOn(report, margin_left, height_available) + height_available -= header_table_height + final_balance_table_height + final_balance_table.drawOn(report, margin_left, height_available) + self.get_template_footer_report_giornale(report) + report.showPage() + report.save() + + file_base64 = base64.b64encode(pdf_bytes.getvalue()) + self.write({"report_giornale": file_base64}) + + return start_row, tot_debit, tot_credit + + def print_giornale_reportlab(self): + self.create_report_giornale_reportlab() + + model_data_obj = self.env["ir.model.data"] + view_rec = model_data_obj.get_object_reference( + "l10n_it_central_journal_reportlab", "wizard_giornale_reportlab" + ) + view_id = view_rec and view_rec[1] or False + + return { + "view_id": [view_id], + "view_mode": "form", + "res_model": "wizard.giornale.reportlab", + "res_id": self.id, + "type": "ir.actions.act_window", + "target": "new", + } + + def print_giornale_reportlab_final(self): + end_row, end_debit, end_credit = self.create_report_giornale_reportlab() + + if ( + not self.company_id.period_lock_date + or self.company_id.period_lock_date < self.date_move_line_to + ): + self.company_id.sudo().period_lock_date = self.date_move_line_to + + daterange_vals = { + "date_last_print": self.date_move_line_to, + "progressive_line_number": end_row, + "progressive_debit": end_debit, + "progressive_credit": end_credit, + } + self.daterange_id.write(daterange_vals) + + model_data_obj = self.env["ir.model.data"] + view_rec = model_data_obj.get_object_reference( + "l10n_it_central_journal_reportlab", "wizard_giornale_reportlab" + ) + view_id = view_rec and view_rec[1] or False + + return { + "view_id": [view_id], + "view_mode": "form", + "res_model": "wizard.giornale.reportlab", + "res_id": self.id, + "type": "ir.actions.act_window", + "target": "new", + } diff --git a/l10n_it_central_journal_reportlab/wizard/print_giornale.xml b/l10n_it_central_journal_reportlab/wizard/print_giornale.xml new file mode 100644 index 000000000000..39f0e1316092 --- /dev/null +++ b/l10n_it_central_journal_reportlab/wizard/print_giornale.xml @@ -0,0 +1,84 @@ + + + + General Journal Reportlab + wizard.giornale.reportlab + form + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + + General Journal Reportlab + wizard.giornale.reportlab + form + + new + + + +
From b353b7a23f53cc051be314b4a8a2d1e5b731613d Mon Sep 17 00:00:00 2001 From: Francesco Foresti Date: Mon, 17 Oct 2022 16:01:57 +0000 Subject: [PATCH 02/25] Added translation using Weblate (Italian) --- l10n_it_central_journal_reportlab/i18n/it.po | 342 +++++++++++++++++++ 1 file changed, 342 insertions(+) create mode 100644 l10n_it_central_journal_reportlab/i18n/it.po diff --git a/l10n_it_central_journal_reportlab/i18n/it.po b/l10n_it_central_journal_reportlab/i18n/it.po new file mode 100644 index 000000000000..eb80b3387808 --- /dev/null +++ b/l10n_it_central_journal_reportlab/i18n/it.po @@ -0,0 +1,342 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_it_central_journal_reportlab +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\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" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Account" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Account Central Journal - %s.pdf" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Account Central Journal.pdf" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Account Move" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__target_move__all +msgid "All" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Balance" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Cancel" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__company_id +msgid "Company" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__create_uid +msgid "Created by" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__create_date +msgid "Created on" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Credit" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Date" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__date_move_line_from +msgid "Date Move Line From" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model,name:l10n_it_central_journal_reportlab.model_date_range +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__daterange_id +msgid "Date Range" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Dates movements" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Debit" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal__display_name +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__display_name +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__target_move__draft +msgid "Draft" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal__central_journal_exclude +msgid "Exclude from General Journal" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Final Balance" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Final print" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__date_move_line_from_view +msgid "From date" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.ui.menu,name:l10n_it_central_journal_reportlab.menu_giornale +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "General Journal" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.view_date_range_form_inherit_view +msgid "General Journal Info" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.actions.act_window,name:l10n_it_central_journal_reportlab.action_giornale_reportlab +msgid "General Journal Reportlab" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__group_by_account +msgid "Group by account" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal__id +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__id +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__id +msgid "ID" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Initial Balance" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model,name:l10n_it_central_journal_reportlab.model_account_journal +msgid "Journal" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__journal_ids +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Journals" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal____last_update +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range____last_update +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab____last_update +msgid "Last Modified on" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__write_date +msgid "Last Updated on" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__last_def_date_print +msgid "Last definitive date print" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__date_last_print +msgid "Last printed date" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__fiscal_page_base +msgid "Last printed page" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Layout" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Name" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "No documents found in the current selection" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "PDF" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Page: %s / %s" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__target_move__posted +msgid "Posted" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Print" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__print_state__printed +msgid "Printed" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__progressive_credit +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__progressive_credit +msgid "Progressive Credit" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__progressive_debit +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__progressive_debit2 +msgid "Progressive Debit" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__progressive_line_number +msgid "Progressive line" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__progressive_page_number +msgid "Progressive of the page" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__print_state__print +msgid "Ready for printing" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__report_giornale +msgid "Report Giornale" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__report_giornale_name +msgid "Report Giornale Name" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid "Row" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__start_row +msgid "Start row" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__print_state +msgid "State" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__target_move +msgid "Target Move" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__date_move_line_to +msgid "To date" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,help:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__year_footer +msgid "Value printed near number of page in the footer" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model,name:l10n_it_central_journal_reportlab.model_wizard_giornale_reportlab +msgid "Wizard journal report with reportlab" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__year_footer +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "Year for Footer" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab +msgid "or" +msgstr "" From 0d0fc69001094b52461b25fa6de60b049536161f Mon Sep 17 00:00:00 2001 From: Francesco Foresti Date: Mon, 17 Oct 2022 16:02:35 +0000 Subject: [PATCH 03/25] Translated using Weblate (Italian) Currently translated at 88.3% (53 of 60 strings) Translation: l10n-italy-14.0/l10n-italy-14.0-l10n_it_central_journal_reportlab Translate-URL: https://translation.odoo-community.org/projects/l10n-italy-14-0/l10n-italy-14-0-l10n_it_central_journal_reportlab/it/ --- l10n_it_central_journal_reportlab/i18n/it.po | 110 ++++++++++--------- 1 file changed, 56 insertions(+), 54 deletions(-) diff --git a/l10n_it_central_journal_reportlab/i18n/it.po b/l10n_it_central_journal_reportlab/i18n/it.po index eb80b3387808..2894368c0934 100644 --- a/l10n_it_central_journal_reportlab/i18n/it.po +++ b/l10n_it_central_journal_reportlab/i18n/it.po @@ -6,19 +6,21 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2022-10-17 18:19+0000\n" +"Last-Translator: Francesco Foresti \n" "Language-Team: none\n" "Language: it\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.14.1\n" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Account" -msgstr "" +msgstr "Conto" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 @@ -36,50 +38,50 @@ msgstr "" #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Account Move" -msgstr "" +msgstr "Movimento contabile" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__target_move__all msgid "All" -msgstr "" +msgstr "Tutti" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Balance" -msgstr "" +msgstr "Saldo" #. module: l10n_it_central_journal_reportlab #: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab msgid "Cancel" -msgstr "" +msgstr "Annulla" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__company_id msgid "Company" -msgstr "" +msgstr "Azienda" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__create_uid msgid "Created by" -msgstr "" +msgstr "Creato da" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__create_date msgid "Created on" -msgstr "" +msgstr "Creato il" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Credit" -msgstr "" +msgstr "Avere" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Date" -msgstr "" +msgstr "Data" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__date_move_line_from @@ -90,199 +92,199 @@ msgstr "" #: model:ir.model,name:l10n_it_central_journal_reportlab.model_date_range #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__daterange_id msgid "Date Range" -msgstr "" +msgstr "Intervallo data" #. module: l10n_it_central_journal_reportlab #: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab msgid "Dates movements" -msgstr "" +msgstr "Date dei movimenti" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Debit" -msgstr "" +msgstr "Dare" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal__display_name #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__display_name #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__target_move__draft msgid "Draft" -msgstr "" +msgstr "Bozza" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal__central_journal_exclude msgid "Exclude from General Journal" -msgstr "" +msgstr "Escludere da libro giornale" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Final Balance" -msgstr "" +msgstr "Saldo finale" #. module: l10n_it_central_journal_reportlab #: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab msgid "Final print" -msgstr "" +msgstr "Stampa definitiva" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__date_move_line_from_view msgid "From date" -msgstr "" +msgstr "Dalla data" #. module: l10n_it_central_journal_reportlab #: model:ir.ui.menu,name:l10n_it_central_journal_reportlab.menu_giornale #: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab msgid "General Journal" -msgstr "" +msgstr "Libro giornale" #. module: l10n_it_central_journal_reportlab #: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.view_date_range_form_inherit_view msgid "General Journal Info" -msgstr "" +msgstr "Informazioni libro giornale" #. module: l10n_it_central_journal_reportlab #: model:ir.actions.act_window,name:l10n_it_central_journal_reportlab.action_giornale_reportlab msgid "General Journal Reportlab" -msgstr "" +msgstr "Libro Giornale Reportlab" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__group_by_account msgid "Group by account" -msgstr "" +msgstr "Raggruppa per conto" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal__id #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__id #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__id msgid "ID" -msgstr "" +msgstr "ID" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Initial Balance" -msgstr "" +msgstr "Saldo iniziale" #. module: l10n_it_central_journal_reportlab #: model:ir.model,name:l10n_it_central_journal_reportlab.model_account_journal msgid "Journal" -msgstr "" +msgstr "Registro" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__journal_ids #: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab msgid "Journals" -msgstr "" +msgstr "Registri" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal____last_update #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range____last_update #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Ultimo aggiornamento di" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__write_date msgid "Last Updated on" -msgstr "" +msgstr "Ultimo aggiornamento il" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__last_def_date_print msgid "Last definitive date print" -msgstr "" +msgstr "Ultima data di stampa in definitivo" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__date_last_print msgid "Last printed date" -msgstr "" +msgstr "Ultima data di stampa" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__fiscal_page_base msgid "Last printed page" -msgstr "" +msgstr "Ultima pagina stampata" #. module: l10n_it_central_journal_reportlab #: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab msgid "Layout" -msgstr "" +msgstr "Struttura" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Name" -msgstr "" +msgstr "Nome" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "No documents found in the current selection" -msgstr "" +msgstr "Nessun documento trovato per la selezione corrente" #. module: l10n_it_central_journal_reportlab #: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab msgid "PDF" -msgstr "" +msgstr "PDF" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Page: %s / %s" -msgstr "" +msgstr "Pagina: %s / %s" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__target_move__posted msgid "Posted" -msgstr "" +msgstr "Registrato" #. module: l10n_it_central_journal_reportlab #: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab msgid "Print" -msgstr "" +msgstr "Stampa" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__print_state__printed msgid "Printed" -msgstr "" +msgstr "Stampato" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__progressive_credit #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__progressive_credit msgid "Progressive Credit" -msgstr "" +msgstr "Progressivo avere" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__progressive_debit #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__progressive_debit2 msgid "Progressive Debit" -msgstr "" +msgstr "Progressivo dare" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__progressive_line_number msgid "Progressive line" -msgstr "" +msgstr "Progressivo riga" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__progressive_page_number msgid "Progressive of the page" -msgstr "" +msgstr "Progressivo pagina" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields.selection,name:l10n_it_central_journal_reportlab.selection__wizard_giornale_reportlab__print_state__print msgid "Ready for printing" -msgstr "" +msgstr "Pronto per la stampa" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__report_giornale @@ -298,17 +300,17 @@ msgstr "" #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Row" -msgstr "" +msgstr "Riga" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__start_row msgid "Start row" -msgstr "" +msgstr "Riga iniziale" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__print_state msgid "State" -msgstr "" +msgstr "Stato" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__target_move @@ -318,12 +320,12 @@ msgstr "" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__date_move_line_to msgid "To date" -msgstr "" +msgstr "Alla data" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,help:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__year_footer msgid "Value printed near number of page in the footer" -msgstr "" +msgstr "Valore stampato nel piè di pagina vicino al numero pagina" #. module: l10n_it_central_journal_reportlab #: model:ir.model,name:l10n_it_central_journal_reportlab.model_wizard_giornale_reportlab @@ -334,9 +336,9 @@ msgstr "" #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__year_footer #: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab msgid "Year for Footer" -msgstr "" +msgstr "Anno per il piè di pagina" #. module: l10n_it_central_journal_reportlab #: model_terms:ir.ui.view,arch_db:l10n_it_central_journal_reportlab.wizard_giornale_reportlab msgid "or" -msgstr "" +msgstr "oppure" From 2b16a1bbe43d34aea34444d1c5163fe2f36fd392 Mon Sep 17 00:00:00 2001 From: Francesco Foresti Date: Wed, 26 Oct 2022 14:26:40 +0000 Subject: [PATCH 04/25] Translated using Weblate (Italian) Currently translated at 95.0% (57 of 60 strings) Translation: l10n-italy-14.0/l10n-italy-14.0-l10n_it_central_journal_reportlab Translate-URL: https://translation.odoo-community.org/projects/l10n-italy-14-0/l10n-italy-14-0-l10n_it_central_journal_reportlab/it/ --- l10n_it_central_journal_reportlab/i18n/it.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/l10n_it_central_journal_reportlab/i18n/it.po b/l10n_it_central_journal_reportlab/i18n/it.po index 2894368c0934..6a04f0a79192 100644 --- a/l10n_it_central_journal_reportlab/i18n/it.po +++ b/l10n_it_central_journal_reportlab/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2022-10-17 18:19+0000\n" +"PO-Revision-Date: 2022-10-26 16:44+0000\n" "Last-Translator: Francesco Foresti \n" "Language-Team: none\n" "Language: it\n" @@ -26,13 +26,13 @@ msgstr "Conto" #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Account Central Journal - %s.pdf" -msgstr "" +msgstr "Libro giornale - %s.pdf" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Account Central Journal.pdf" -msgstr "" +msgstr "Libro giornale.pdf" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 @@ -86,7 +86,7 @@ msgstr "Data" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__date_move_line_from msgid "Date Move Line From" -msgstr "" +msgstr "Data movimento contabile da" #. module: l10n_it_central_journal_reportlab #: model:ir.model,name:l10n_it_central_journal_reportlab.model_date_range @@ -294,7 +294,7 @@ msgstr "" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__report_giornale_name msgid "Report Giornale Name" -msgstr "" +msgstr "Nome report giornale" #. module: l10n_it_central_journal_reportlab #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 From 0efb6605c7acee09de80537483a1619cc65e96b9 Mon Sep 17 00:00:00 2001 From: Borruso Date: Fri, 4 Nov 2022 10:44:20 +0100 Subject: [PATCH 05/25] [MIG] l10n_it_central_journal_reportlab: Migration to 16.0 --- l10n_it_central_journal_reportlab/README.rst | 34 ++++++--- .../__manifest__.py | 3 +- .../l10n_it_central_journal_reportlab.pot | 33 +++++--- .../models/account.py | 10 +-- .../static/description/index.html | 40 +++++----- .../tests/test_central_journal_reportlab.py | 2 +- .../views/date_range_view.xml | 76 +++++++++---------- .../wizard/print_giornale.py | 53 +++++++------ .../wizard/print_giornale.xml | 6 +- 9 files changed, 146 insertions(+), 111 deletions(-) diff --git a/l10n_it_central_journal_reportlab/README.rst b/l10n_it_central_journal_reportlab/README.rst index 1e30f899d36f..0375a736833d 100644 --- a/l10n_it_central_journal_reportlab/README.rst +++ b/l10n_it_central_journal_reportlab/README.rst @@ -2,10 +2,13 @@ ITA - Libro giornale - Reportlab ================================ -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:81dc66dc5700122e5bbf4c1928bbf12a22de5e9c8731d8dd9a4587f0ad927e99 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -14,16 +17,16 @@ ITA - Libro giornale - Reportlab :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github - :target: https://github.com/OCA/l10n-italy/tree/14.0/l10n_it_central_journal_reportlab + :target: https://github.com/OCA/l10n-italy/tree/16.0/l10n_it_central_journal_reportlab :alt: OCA/l10n-italy .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/l10n-italy-14-0/l10n-italy-14-0-l10n_it_central_journal_reportlab + :target: https://translation.odoo-community.org/projects/l10n-italy-16-0/l10n-italy-16-0-l10n_it_central_journal_reportlab :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/122/14.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-italy&target_branch=16.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| **Italiano** @@ -43,8 +46,8 @@ 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 `_. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -77,6 +80,17 @@ 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. -This module is part of the `OCA/l10n-italy `_ project on GitHub. +.. |maintainer-MarcoCalcagni| image:: https://github.com/MarcoCalcagni.png?size=40px + :target: https://github.com/MarcoCalcagni + :alt: MarcoCalcagni +.. |maintainer-Borruso| image:: https://github.com/Borruso.png?size=40px + :target: https://github.com/Borruso + :alt: Borruso + +Current `maintainers `__: + +|maintainer-MarcoCalcagni| |maintainer-Borruso| + +This module is part of the `OCA/l10n-italy `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_it_central_journal_reportlab/__manifest__.py b/l10n_it_central_journal_reportlab/__manifest__.py index 781ec60cf9b4..d224bfe58f05 100644 --- a/l10n_it_central_journal_reportlab/__manifest__.py +++ b/l10n_it_central_journal_reportlab/__manifest__.py @@ -3,13 +3,14 @@ { "name": "ITA - Libro giornale - Reportlab", - "version": "14.0.1.0.0", + "version": "16.0.1.0.0", "development_status": "Beta", "category": "Localization/Italy", "author": "Gianmarco Conte - Dinamiche Aziendali srl, " "Odoo Community Association (OCA)", "website": "https://github.com/OCA/l10n-italy", "license": "AGPL-3", + "maintainers": ["MarcoCalcagni", "Borruso"], "depends": ["account", "date_range"], "data": [ "security/ir.model.access.csv", diff --git a/l10n_it_central_journal_reportlab/i18n/l10n_it_central_journal_reportlab.pot b/l10n_it_central_journal_reportlab/i18n/l10n_it_central_journal_reportlab.pot index 7491a0991a48..ba889f8c4184 100644 --- a/l10n_it_central_journal_reportlab/i18n/l10n_it_central_journal_reportlab.pot +++ b/l10n_it_central_journal_reportlab/i18n/l10n_it_central_journal_reportlab.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,24 +14,35 @@ msgstr "" "Plural-Forms: \n" #. module: l10n_it_central_journal_reportlab +#. odoo-python +#: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 +#, python-format +msgid " Account Central Journal" +msgstr "" + +#. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Account" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Account Central Journal - %s.pdf" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Account Central Journal.pdf" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Account Move" @@ -43,6 +54,7 @@ msgid "All" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Balance" @@ -69,12 +81,14 @@ msgid "Created on" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Credit" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Date" @@ -97,14 +111,13 @@ msgid "Dates movements" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Debit" msgstr "" #. module: l10n_it_central_journal_reportlab -#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal__display_name -#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__display_name #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__display_name msgid "Display Name" msgstr "" @@ -120,6 +133,7 @@ msgid "Exclude from General Journal" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Final Balance" @@ -153,17 +167,16 @@ msgstr "" #. module: l10n_it_central_journal_reportlab #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__group_by_account -msgid "Group by account" +msgid "Group By Account" msgstr "" #. module: l10n_it_central_journal_reportlab -#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal__id -#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range__id #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab__id msgid "ID" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Initial Balance" @@ -181,8 +194,6 @@ msgid "Journals" msgstr "" #. module: l10n_it_central_journal_reportlab -#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_account_journal____last_update -#: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_date_range____last_update #: model:ir.model.fields,field_description:l10n_it_central_journal_reportlab.field_wizard_giornale_reportlab____last_update msgid "Last Modified on" msgstr "" @@ -218,12 +229,14 @@ msgid "Layout" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Name" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format @@ -236,9 +249,10 @@ msgid "PDF" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format -msgid "Page: %s / %s" +msgid "Page: %(year_footer)s / %(page_num)s" msgstr "" #. module: l10n_it_central_journal_reportlab @@ -294,6 +308,7 @@ msgid "Report Giornale Name" msgstr "" #. module: l10n_it_central_journal_reportlab +#. odoo-python #: code:addons/l10n_it_central_journal_reportlab/wizard/print_giornale.py:0 #, python-format msgid "Row" diff --git a/l10n_it_central_journal_reportlab/models/account.py b/l10n_it_central_journal_reportlab/models/account.py index af8befde1c53..aed850fe182b 100644 --- a/l10n_it_central_journal_reportlab/models/account.py +++ b/l10n_it_central_journal_reportlab/models/account.py @@ -15,11 +15,5 @@ class DateRangeInherit(models.Model): date_last_print = fields.Date("Last printed date") progressive_page_number = fields.Integer("Progressive of the page") progressive_line_number = fields.Integer("Progressive line") - progressive_credit = fields.Float( - "Progressive Credit", - digits="Account", - ) - progressive_debit = fields.Float( - "Progressive Debit", - digits="Account", - ) + progressive_credit = fields.Float(digits="Account") + progressive_debit = fields.Float(digits="Account") diff --git a/l10n_it_central_journal_reportlab/static/description/index.html b/l10n_it_central_journal_reportlab/static/description/index.html index 7637731c9492..d6bc5eacd13c 100644 --- a/l10n_it_central_journal_reportlab/static/description/index.html +++ b/l10n_it_central_journal_reportlab/static/description/index.html @@ -1,20 +1,20 @@ - + - + ITA - Libro giornale - Reportlab -
-

ITA - Libro giornale - Reportlab

+
+ + +Odoo Community Association + +
+

ITA - Libro giornale - Reportlab

-

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runboat

Italiano

Modulo per la stampa del libro giornale con reportlab

English

@@ -387,7 +392,7 @@

ITA - Libro giornale - Reportlab

-

Bug Tracker

+

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 to smash it by providing a detailed and welcomed @@ -395,15 +400,15 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Gianmarco Conte - Dinamiche Aziendali srl
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -431,5 +436,6 @@

Maintainers

+
diff --git a/l10n_it_central_journal_reportlab/wizard/print_giornale.py b/l10n_it_central_journal_reportlab/wizard/print_giornale.py index 3116c46bd801..d5170197371c 100644 --- a/l10n_it_central_journal_reportlab/wizard/print_giornale.py +++ b/l10n_it_central_journal_reportlab/wizard/print_giornale.py @@ -67,7 +67,7 @@ def _get_journal(self): ) target_move = fields.Selection( [("all", "All"), ("posted", "Posted"), ("draft", "Draft")], - default="all", + default="posted", ) fiscal_page_base = fields.Integer("Last printed page", required=True) start_row = fields.Integer("Start row", required=True) @@ -163,6 +163,7 @@ def get_grupped_line_reportlab_ids(self): AND aml.journal_id IN %(journal_ids)s AND aml.company_id = %(company_id)s AND (aml.debit + aml.credit) != 0.0 + AND aml.account_id IS NOT NULL GROUP BY aml.account_id, am.date, @@ -214,6 +215,7 @@ def get_line_reportlab_ids(self): AND am.state IN %(target_type)s AND aml.journal_id IN %(journal_ids)s AND aml.company_id = %(company_id)s + AND aml.account_id IS NOT NULL ORDER BY am.date, am.name @@ -400,7 +402,7 @@ def get_grupped_final_tables_report_giornale( row = Paragraph(str(start_row), style_name) date = Paragraph(format_date(self.env, line["date"]), style_name) ref = Paragraph(str(line["ref"]), style_name) - move = Paragraph(line["move_name"], style_name) + move = Paragraph(line["move_name"] or "", style_name) account = Paragraph(account_name, style_name) name = Paragraph(line["name"], style_name) # dato che nel SQL ho la somma dei crediti e debiti potrei avere @@ -476,7 +478,7 @@ def get_final_tables_report_giornale( row = Paragraph(str(start_row), style_name) date = Paragraph(format_date(self.env, line["date"]), style_name) ref = Paragraph(str(line["ref"]), style_name) - move = Paragraph(line["move_name"], style_name) + move = Paragraph(line["move_name"] or "", style_name) move_name = line["move_name"] or "" account = Paragraph(account_name, style_name) From 76b482477016817266ce95f48727e88840975edf Mon Sep 17 00:00:00 2001 From: Marco Colombo Date: Thu, 22 Jan 2026 21:02:40 +0100 Subject: [PATCH 22/25] [FIX] l10n_it_central_journal_reportlab: default company id Company does not need to be copied from date range. --- l10n_it_central_journal_reportlab/README.rst | 2 +- l10n_it_central_journal_reportlab/__manifest__.py | 2 +- .../static/description/index.html | 2 +- .../wizard/print_giornale.py | 9 ++++++--- .../wizard/print_giornale.xml | 4 +--- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/l10n_it_central_journal_reportlab/README.rst b/l10n_it_central_journal_reportlab/README.rst index 87d93f9e35be..71e3f1d71922 100644 --- a/l10n_it_central_journal_reportlab/README.rst +++ b/l10n_it_central_journal_reportlab/README.rst @@ -11,7 +11,7 @@ ITA - Libro giornale - Reportlab !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:28212bb97787ae798a6659ad3c61d8c18308eccde4751c93482dc2dbca470111 + !! source digest: sha256:8abf889bd5d3de88451f307369925ad95acdcb5a0a4deed9e8a94f6e53728a84 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/l10n_it_central_journal_reportlab/__manifest__.py b/l10n_it_central_journal_reportlab/__manifest__.py index f8759b9b9082..e0e9c1a6c43b 100644 --- a/l10n_it_central_journal_reportlab/__manifest__.py +++ b/l10n_it_central_journal_reportlab/__manifest__.py @@ -3,7 +3,7 @@ { "name": "ITA - Libro giornale - Reportlab", - "version": "18.0.1.0.1", + "version": "18.0.1.1.0", "development_status": "Beta", "category": "Localization/Italy", "author": "Gianmarco Conte - Dinamiche Aziendali srl, " diff --git a/l10n_it_central_journal_reportlab/static/description/index.html b/l10n_it_central_journal_reportlab/static/description/index.html index 645251813a6c..2bdfdc1fb86c 100644 --- a/l10n_it_central_journal_reportlab/static/description/index.html +++ b/l10n_it_central_journal_reportlab/static/description/index.html @@ -372,7 +372,7 @@

ITA - Libro giornale - Reportlab

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:28212bb97787ae798a6659ad3c61d8c18308eccde4751c93482dc2dbca470111 +!! source digest: sha256:8abf889bd5d3de88451f307369925ad95acdcb5a0a4deed9e8a94f6e53728a84 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runboat

Italiano

diff --git a/l10n_it_central_journal_reportlab/wizard/print_giornale.py b/l10n_it_central_journal_reportlab/wizard/print_giornale.py index d5170197371c..d2a24f705163 100644 --- a/l10n_it_central_journal_reportlab/wizard/print_giornale.py +++ b/l10n_it_central_journal_reportlab/wizard/print_giornale.py @@ -46,7 +46,10 @@ def _get_journal(self): date_move_line_to = fields.Date("To date", required=True) daterange_id = fields.Many2one("date.range", "Date Range", required=True) company_id = fields.Many2one( - related="daterange_id.company_id", readonly=True, store=True + comodel_name="res.company", + default=lambda self: self.env.company.id, + readonly=True, + store=True, ) progressive_credit = fields.Float() progressive_debit2 = fields.Float("Progressive Debit") @@ -181,7 +184,7 @@ def get_grupped_line_reportlab_ids(self): "date_to": wizard.date_move_line_to, "target_type": tuple(target_type), "journal_ids": tuple(self.journal_ids.ids), - "company_id": self.env.company.id, + "company_id": wizard.company_id.id, } self.env.cr.execute(sql, params) list_grupped_line = self.env.cr.dictfetchall() @@ -225,7 +228,7 @@ def get_line_reportlab_ids(self): "date_to": wizard.date_move_line_to, "target_type": tuple(target_type), "journal_ids": tuple(self.journal_ids.ids), - "company_id": self.env.company.id, + "company_id": wizard.company_id.id, } self.env.cr.execute(sql, params) list_line_not_grouped = self.env.cr.dictfetchall() diff --git a/l10n_it_central_journal_reportlab/wizard/print_giornale.xml b/l10n_it_central_journal_reportlab/wizard/print_giornale.xml index faca0fcf12b4..83d2415ee093 100644 --- a/l10n_it_central_journal_reportlab/wizard/print_giornale.xml +++ b/l10n_it_central_journal_reportlab/wizard/print_giornale.xml @@ -8,9 +8,7 @@
- - - + From ed06d8841f326d88ff3dc98a223600c13edabbcd Mon Sep 17 00:00:00 2001 From: Borruso Date: Thu, 31 Jul 2025 12:26:01 +0200 Subject: [PATCH 23/25] [FIX] l10n_it_central_journal_reportlab: fix error for partner and missing account on move lines --- l10n_it_central_journal_reportlab/README.rst | 2 +- .../__manifest__.py | 2 +- .../static/description/index.html | 2 +- .../wizard/print_giornale.py | 22 +++++++++++-------- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/l10n_it_central_journal_reportlab/README.rst b/l10n_it_central_journal_reportlab/README.rst index 71e3f1d71922..bd07d57b3c24 100644 --- a/l10n_it_central_journal_reportlab/README.rst +++ b/l10n_it_central_journal_reportlab/README.rst @@ -11,7 +11,7 @@ ITA - Libro giornale - Reportlab !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:8abf889bd5d3de88451f307369925ad95acdcb5a0a4deed9e8a94f6e53728a84 + !! source digest: sha256:bd14a78a89961799ba3394d7ff409df15327e8d809335bbe84fa92b7e63ccd80 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/l10n_it_central_journal_reportlab/__manifest__.py b/l10n_it_central_journal_reportlab/__manifest__.py index e0e9c1a6c43b..614c709af9c1 100644 --- a/l10n_it_central_journal_reportlab/__manifest__.py +++ b/l10n_it_central_journal_reportlab/__manifest__.py @@ -3,7 +3,7 @@ { "name": "ITA - Libro giornale - Reportlab", - "version": "18.0.1.1.0", + "version": "18.0.1.2.0", "development_status": "Beta", "category": "Localization/Italy", "author": "Gianmarco Conte - Dinamiche Aziendali srl, " diff --git a/l10n_it_central_journal_reportlab/static/description/index.html b/l10n_it_central_journal_reportlab/static/description/index.html index 2bdfdc1fb86c..ff8c60746349 100644 --- a/l10n_it_central_journal_reportlab/static/description/index.html +++ b/l10n_it_central_journal_reportlab/static/description/index.html @@ -372,7 +372,7 @@

ITA - Libro giornale - Reportlab

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:8abf889bd5d3de88451f307369925ad95acdcb5a0a4deed9e8a94f6e53728a84 +!! source digest: sha256:bd14a78a89961799ba3394d7ff409df15327e8d809335bbe84fa92b7e63ccd80 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runboat

Italiano

diff --git a/l10n_it_central_journal_reportlab/wizard/print_giornale.py b/l10n_it_central_journal_reportlab/wizard/print_giornale.py index d2a24f705163..80ac477b3951 100644 --- a/l10n_it_central_journal_reportlab/wizard/print_giornale.py +++ b/l10n_it_central_journal_reportlab/wizard/print_giornale.py @@ -389,13 +389,13 @@ def get_grupped_final_tables_report_giornale( for line in list_grupped_line: start_row += 1 account_name = ( - account_dict[line["account_id"]] - + " - " - + line["account_name"][user_lang] + account_dict[line["account_id"]] + " - " + line["account_name"] + and line["account_name"][user_lang] + or "" if account_dict and "line_id" in account_dict.keys() and "account_id" in account_dict[line].keys() - else line["account_name"][user_lang] + else line["account_name"] and line["account_name"][user_lang] or "" ) if not account_name: continue @@ -467,13 +467,13 @@ def get_final_tables_report_giornale( for line in list_line_not_grouped: start_row += 1 account_name = ( - account_dict[line["account_id"]] - + " - " - + line["account_name"][user_lang] + account_dict[line["account_id"]] + " - " + line["account_name"] + and line["account_name"][user_lang] + or "" if account_dict and "line_id" in account_dict.keys() and "account_id" in account_dict[line].keys() - else line["account_name"][user_lang] + else line["account_name"] and line["account_name"][user_lang] or "" ) if not account_name: continue @@ -489,7 +489,11 @@ def get_final_tables_report_giornale( # For credit/debit accounts, displays the partner name, # otherwise displays the entry name if line["account_type"] in ["asset_receivable", "liability_payable"]: - name = Paragraph(line["partner_name"], style_name) + name = ( + line["partner_name"] + and Paragraph(line["partner_name"], style_name) + or "" + ) else: name = Paragraph(line["name"], style_name) From cf357540afcd08b658e56528bb1e66cec3e69f20 Mon Sep 17 00:00:00 2001 From: Borruso Date: Fri, 30 Jan 2026 18:54:29 +0100 Subject: [PATCH 24/25] [MIG] l10n_it_central_journal_reportlab: Migration to 19.0 --- l10n_it_central_journal_reportlab/README.rst | 22 ++-- .../__manifest__.py | 2 +- .../static/description/index.html | 6 +- .../tests/test_central_journal_reportlab.py | 56 ++++++++- .../wizard/print_giornale.py | 115 ++++++++++-------- .../wizard/print_giornale.xml | 1 + 6 files changed, 129 insertions(+), 73 deletions(-) diff --git a/l10n_it_central_journal_reportlab/README.rst b/l10n_it_central_journal_reportlab/README.rst index bd07d57b3c24..511c529b52e2 100644 --- a/l10n_it_central_journal_reportlab/README.rst +++ b/l10n_it_central_journal_reportlab/README.rst @@ -21,13 +21,13 @@ ITA - Libro giornale - Reportlab :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github - :target: https://github.com/OCA/l10n-italy/tree/18.0/l10n_it_central_journal_reportlab + :target: https://github.com/OCA/l10n-italy/tree/19.0/l10n_it_central_journal_reportlab :alt: OCA/l10n-italy .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/l10n-italy-18-0/l10n-italy-18-0-l10n_it_central_journal_reportlab + :target: https://translation.odoo-community.org/projects/l10n-italy-19-0/l10n-italy-19-0-l10n_it_central_journal_reportlab :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-italy&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-italy&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -51,7 +51,7 @@ 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 to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -66,13 +66,13 @@ Authors Contributors ------------ -- Gianmarco Conte -- Lara Baggio -- Glauco Prina -- Giuseppe Borruso -- `Aion Tech `__: +- Gianmarco Conte +- Lara Baggio +- Glauco Prina +- Giuseppe Borruso +- `Aion Tech `__: - - Simone Rubino + - Simone Rubino Maintainers ----------- @@ -98,6 +98,6 @@ Current `maintainers `__: |maintainer-MarcoCalcagni| |maintainer-Borruso| -This module is part of the `OCA/l10n-italy `_ project on GitHub. +This module is part of the `OCA/l10n-italy `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_it_central_journal_reportlab/__manifest__.py b/l10n_it_central_journal_reportlab/__manifest__.py index 614c709af9c1..f35bbf0d950c 100644 --- a/l10n_it_central_journal_reportlab/__manifest__.py +++ b/l10n_it_central_journal_reportlab/__manifest__.py @@ -3,7 +3,7 @@ { "name": "ITA - Libro giornale - Reportlab", - "version": "18.0.1.2.0", + "version": "19.0.1.0.0", "development_status": "Beta", "category": "Localization/Italy", "author": "Gianmarco Conte - Dinamiche Aziendali srl, " diff --git a/l10n_it_central_journal_reportlab/static/description/index.html b/l10n_it_central_journal_reportlab/static/description/index.html index ff8c60746349..32acbb376cb9 100644 --- a/l10n_it_central_journal_reportlab/static/description/index.html +++ b/l10n_it_central_journal_reportlab/static/description/index.html @@ -374,7 +374,7 @@

ITA - Libro giornale - Reportlab

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:bd14a78a89961799ba3394d7ff409df15327e8d809335bbe84fa92b7e63ccd80 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/l10n-italy Translate me on Weblate Try me on Runboat

Italiano

Modulo per la stampa del libro giornale con reportlab

English

@@ -396,7 +396,7 @@

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 to smash it by providing a detailed and welcomed -feedback.

+feedback.

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

@@ -431,7 +431,7 @@

Maintainers

promote its widespread use.

Current maintainers:

MarcoCalcagni Borruso

-

This module is part of the OCA/l10n-italy project on GitHub.

+

This module is part of the OCA/l10n-italy project on GitHub.

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

diff --git a/l10n_it_central_journal_reportlab/tests/test_central_journal_reportlab.py b/l10n_it_central_journal_reportlab/tests/test_central_journal_reportlab.py index d0beaeda78d5..f5633d657c30 100644 --- a/l10n_it_central_journal_reportlab/tests/test_central_journal_reportlab.py +++ b/l10n_it_central_journal_reportlab/tests/test_central_journal_reportlab.py @@ -8,17 +8,36 @@ from dateutil.rrule import MONTHLY -from odoo.tests import Form -from odoo.tests.common import TransactionCase +from odoo.tests import Form, tagged from odoo.tools import pdf +from odoo.addons.account.tests.common import AccountTestInvoicingCommon -class TestCentralJournalReportlab(TransactionCase): + +@tagged("post_install", "-at_install") +class TestCentralJournalReportlab(AccountTestInvoicingCommon): def setUp(self): super().setUp() self.today = datetime.now() - self.range_type = self.env["date.range.type"].create({"name": "Fiscal year"}) + self.data_it_company = self.setup_other_company( + name="IT Company2", + vat="IT01234560157", + phone="0266766700", + email="test@test.it", + street="1234 Test Street", + zip="12345", + city="Prova", + ) + self.it_company = self.data_it_company["company"] + self.env.user.company_ids |= self.it_company + self.env.user.company_id = self.it_company + # Now that current user can access the company, + # log the user *only* in this company so that + # searching, reading and other operations behave as expected + self.env.user.company_ids = self.it_company + + self.range_type = self.env["date.range.type"].create({"name": "Fiscal Year"}) self.env["date.range.generator"].create( { "date_start": f"{self.today.year}-01-01", @@ -33,14 +52,39 @@ def setUp(self): [ ("date_start", "<=", self.today.date()), ("date_end", ">=", self.today.date()), - ] + ], + limit=1, ) self.wizard_model = self.env["wizard.giornale.reportlab"] self.report_model = self.env["ir.actions.report"] self.report_name = "central_journal_reportlab.report_giornale_reportlab" self.journals = self.env["account.journal"].search([]) + self.partner = self.env["res.partner"].create( + { + "name": "Wood Corner", + "is_company": True, + "street": "1839 Arbor Way", + "city": "Turlock", + "state_id": self.env.ref("base.state_us_5").id, + "zip": "95380", + "email": "wood.corner26@example.com", + "phone": "(623)-853-7197", + "vat": "US12345672", + } + ) def test_wizard_reportlab(self): + out_invoice = Form( + self.env["account.move"].with_context(default_move_type="out_invoice") + ) + out_invoice.partner_id = self.partner + out_invoice.invoice_date = self.today + with out_invoice.invoice_line_ids.new() as line: + line.name = "Test line" + line.price_unit = 100 + out_invoice = out_invoice.save() + out_invoice.action_post() + wizard_form = Form(self.wizard_model) wizard_form.daterange_id = self.current_period wizard = wizard_form.save() @@ -68,7 +112,7 @@ def test_grouped_move_line_no_account(self): out_invoice = Form( self.env["account.move"].with_context(default_move_type="out_invoice") ) - out_invoice.partner_id = self.env.ref("base.res_partner_1") + out_invoice.partner_id = self.partner out_invoice.invoice_date = self.today with out_invoice.invoice_line_ids.new() as note_line: note_line.display_type = "line_note" diff --git a/l10n_it_central_journal_reportlab/wizard/print_giornale.py b/l10n_it_central_journal_reportlab/wizard/print_giornale.py index 80ac477b3951..3be89522dc42 100644 --- a/l10n_it_central_journal_reportlab/wizard/print_giornale.py +++ b/l10n_it_central_journal_reportlab/wizard/print_giornale.py @@ -15,7 +15,7 @@ from reportlab.platypus import Table from reportlab.platypus.paragraph import Paragraph -from odoo import _, api, fields, models +from odoo import api, fields, models from odoo.exceptions import UserError from odoo.tools.misc import format_date, formatLang @@ -64,7 +64,7 @@ def _get_journal(self): "giornale_reportlab_journals_rel", "journal_id", "giornale_reportlab_id", - default=_get_journal, + default=lambda self: self._get_journal(), string="Journals", required=True, ) @@ -86,11 +86,11 @@ def _get_journal(self): def _compute_report_giornale_name(self): for wizard in self: if wizard.report_giornale and wizard.daterange_id: - wizard.report_giornale_name = ( - _("Account Central Journal - %s.pdf") % wizard.daterange_id.name + wizard.report_giornale_name = self.env._( + "Account Central Journal - %s.pdf", wizard.daterange_id.name ) elif wizard.report_giornale: - wizard.report_giornale_name = _("Account Central Journal.pdf") + wizard.report_giornale_name = self.env._("Account Central Journal.pdf") else: wizard.report_giornale_name = False @@ -145,7 +145,8 @@ def get_grupped_line_reportlab_ids(self): target_type = ["posted", "draft"] else: target_type = [wizard.target_move] - sql = """SELECT + sql = """ + SELECT aml.account_id AS account_id, am.date, am.name AS move_name, @@ -178,7 +179,7 @@ def get_grupped_line_reportlab_ids(self): ORDER BY am.date, am.name - """ + """ params = { "date_from": wizard.date_move_line_from, "date_to": wizard.date_move_line_to, @@ -196,33 +197,34 @@ def get_line_reportlab_ids(self): target_type = ["posted", "draft"] else: target_type = [wizard.target_move] - sql = """SELECT - aml.account_id AS account_id, - am.date, - am.name AS move_name, - COALESCE(aml.ref, '') AS ref, - aa.name AS account_name, - COALESCE(aml.name, '') AS name, - rp.name AS partner_name, - aa.account_type AS account_type, - aml.debit AS debit, - aml.credit AS credit - FROM - account_move_line aml - LEFT JOIN account_move am ON (am.id = aml.move_id) - LEFT JOIN account_account aa ON (aa.id = aml.account_id) - LEFT JOIN res_partner rp ON am.partner_id = rp.id - WHERE - aml.date >= %(date_from)s - AND aml.date <= %(date_to)s - AND am.state IN %(target_type)s - AND aml.journal_id IN %(journal_ids)s - AND aml.company_id = %(company_id)s - AND aml.account_id IS NOT NULL - ORDER BY - am.date, - am.name - """ + sql = """ + SELECT + aml.account_id AS account_id, + am.date, + am.name AS move_name, + COALESCE(aml.ref, '') AS ref, + aa.name AS account_name, + COALESCE(aml.name, '') AS name, + rp.name AS partner_name, + aa.account_type AS account_type, + aml.debit AS debit, + aml.credit AS credit + FROM + account_move_line aml + LEFT JOIN account_move am ON (am.id = aml.move_id) + LEFT JOIN account_account aa ON (aa.id = aml.account_id) + LEFT JOIN res_partner rp ON am.partner_id = rp.id + WHERE + aml.date >= %(date_from)s + AND aml.date <= %(date_to)s + AND am.state IN %(target_type)s + AND aml.journal_id IN %(journal_ids)s + AND aml.company_id = %(company_id)s + AND aml.account_id IS NOT NULL + ORDER BY + am.date, + am.name + """ params = { "date_from": wizard.date_move_line_from, "date_to": wizard.date_move_line_to, @@ -243,7 +245,7 @@ def get_template_header_report_giornale(self, report, height_available): report.drawString( margin_left, height_available, - self.company_id.name + _(" Account Central Journal"), + self.company_id.name + self.env._(" Account Central Journal"), ) report.setFont("Helvetica", 10) text = "" @@ -263,10 +265,11 @@ def get_template_header_report_giornale(self, report, height_available): def get_template_footer_report_giornale(self, report): page_num = report.getPageNumber() + self.fiscal_page_base - page_text = _("Page: %(year_footer)s / %(page_num)s") % { - "year_footer": self.year_footer, - "page_num": page_num, - } + page_text = self.env._( + "Page: %(year_footer)s / %(page_num)s", + year_footer=self.year_footer, + page_num=page_num, + ) report.drawString(margin_left, margin_bottom + 12, page_text) def get_styles_report_giornale_line(self): @@ -326,14 +329,14 @@ def get_data_header_report_giornale(self): data_header = [ [ - Paragraph(_("Row"), style_header), - Paragraph(_("Date"), style_header), - Paragraph(_("Ref"), style_header), - Paragraph(_("Number"), style_header), - Paragraph(_("Account"), style_header), - Paragraph(_("Name"), style_header), - Paragraph(_("Debit"), style_header_number), - Paragraph(_("Credit"), style_header_number), + Paragraph(self.env._("Row"), style_header), + Paragraph(self.env._("Date"), style_header), + Paragraph(self.env._("Ref"), style_header), + Paragraph(self.env._("Number"), style_header), + Paragraph(self.env._("Account"), style_header), + Paragraph(self.env._("Name"), style_header), + Paragraph(self.env._("Debit"), style_header_number), + Paragraph(self.env._("Credit"), style_header_number), ] ] return data_header @@ -349,7 +352,7 @@ def get_initial_balance_data_report_giornale(self): "", "", "", - Paragraph(_("Initial Balance"), style_name), + Paragraph(self.env._("Initial Balance"), style_name), Paragraph(formatLang(self.env, progressive_debit), style_number), Paragraph(formatLang(self.env, progressive_credit), style_number), ] @@ -381,6 +384,8 @@ def get_grupped_final_tables_report_giornale( company = self.env.company user_lang = company.partner_id.lang model_account = self.env["account.account"] + + # pylint: disable=no-search-all all_account = model_account.search([]).filtered( lambda acc: company.id in acc.company_ids.ids ) @@ -459,6 +464,8 @@ def get_final_tables_report_giornale( company = self.env.company user_lang = company.partner_id.lang model_account = self.env["account.account"] + + # pylint: disable=no-search-all all_account = model_account.search([]).filtered( lambda acc: company.id in acc.company_ids.ids ) @@ -517,9 +524,9 @@ def get_balance_data_report_giornale(self, tot_debit, tot_credit, final=False): style_number = self.get_styles_report_giornale_line()["style_number"] if final: - name = Paragraph(_("Final Balance"), style_name) + name = Paragraph(self.env._("Final Balance"), style_name) else: - name = Paragraph(_("Balance"), style_name) + name = Paragraph(self.env._("Balance"), style_name) balance_data = [ [ @@ -562,14 +569,18 @@ def create_report_giornale_reportlab(self): if self.group_by_account: list_grupped_line = self.get_grupped_line_reportlab_ids() if not list_grupped_line: - raise UserError(_("No documents found in the current selection")) + raise UserError( + self.env._("No documents found in the current selection") + ) final_tables, list_balance = self.get_grupped_final_tables_report_giornale( list_grupped_line, tables, start_row, width_available ) else: list_line_not_grouped = self.get_line_reportlab_ids() if not list_line_not_grouped: - raise UserError(_("No documents found in the current selection")) + raise UserError( + self.env._("No documents found in the current selection") + ) final_tables, list_balance = self.get_final_tables_report_giornale( list_line_not_grouped, tables, start_row, width_available ) diff --git a/l10n_it_central_journal_reportlab/wizard/print_giornale.xml b/l10n_it_central_journal_reportlab/wizard/print_giornale.xml index 83d2415ee093..9755ee32661f 100644 --- a/l10n_it_central_journal_reportlab/wizard/print_giornale.xml +++ b/l10n_it_central_journal_reportlab/wizard/print_giornale.xml @@ -66,6 +66,7 @@ General Journal Reportlab + general-journal-reportlab wizard.giornale.reportlab form From 536120476095ee779c7c815ee5142e0a6e45207b Mon Sep 17 00:00:00 2001 From: micheledic Date: Thu, 11 Sep 2025 11:02:29 +0200 Subject: [PATCH 25/25] [FIX] l10n_it_central_journal_reportlab: exclude notes and sections from report This PR fixes exclude the lines of notes and section from the export --- l10n_it_central_journal_reportlab/README.rst | 4 ++++ l10n_it_central_journal_reportlab/readme/CONTRIBUTORS.md | 2 ++ .../static/description/index.html | 4 ++++ l10n_it_central_journal_reportlab/wizard/print_giornale.py | 2 ++ 4 files changed, 12 insertions(+) diff --git a/l10n_it_central_journal_reportlab/README.rst b/l10n_it_central_journal_reportlab/README.rst index 511c529b52e2..5474aa3f52f2 100644 --- a/l10n_it_central_journal_reportlab/README.rst +++ b/l10n_it_central_journal_reportlab/README.rst @@ -74,6 +74,10 @@ Contributors - Simone Rubino +- `Stesi Consulting `__: + + - Michele Di Croce + Maintainers ----------- diff --git a/l10n_it_central_journal_reportlab/readme/CONTRIBUTORS.md b/l10n_it_central_journal_reportlab/readme/CONTRIBUTORS.md index b28d80fd098c..b3dd883d5953 100644 --- a/l10n_it_central_journal_reportlab/readme/CONTRIBUTORS.md +++ b/l10n_it_central_journal_reportlab/readme/CONTRIBUTORS.md @@ -4,3 +4,5 @@ - Giuseppe Borruso \<\> - [Aion Tech](https://aiontech.company/): - Simone Rubino \<\> +- [Stesi Consulting](https://www.stesi.consulting/): + - Michele Di Croce \<\> \ No newline at end of file diff --git a/l10n_it_central_journal_reportlab/static/description/index.html b/l10n_it_central_journal_reportlab/static/description/index.html index 32acbb376cb9..41c420453e28 100644 --- a/l10n_it_central_journal_reportlab/static/description/index.html +++ b/l10n_it_central_journal_reportlab/static/description/index.html @@ -418,6 +418,10 @@

Contributors

  • Simone Rubino <simone.rubino@aion-tech.it>
  • +
  • Stesi Consulting: +
  • diff --git a/l10n_it_central_journal_reportlab/wizard/print_giornale.py b/l10n_it_central_journal_reportlab/wizard/print_giornale.py index 3be89522dc42..c1cc804ebb1c 100644 --- a/l10n_it_central_journal_reportlab/wizard/print_giornale.py +++ b/l10n_it_central_journal_reportlab/wizard/print_giornale.py @@ -1,6 +1,7 @@ # Copyright 2018 Gianmarco Conte (gconte@dinamicheaziendali.it) # Copyright 2022 Giuseppe Borruso (gborruso@dinamicheaziendali.it) # Copyright 2024 Simone Rubino - Aion Tech +# Copyright 2025 Michele Di Croce - Stesi Consulting import base64 import io @@ -221,6 +222,7 @@ def get_line_reportlab_ids(self): AND aml.journal_id IN %(journal_ids)s AND aml.company_id = %(company_id)s AND aml.account_id IS NOT NULL + AND aml.display_type NOT IN ('line_note','line_section') ORDER BY am.date, am.name