From 04f608b9418a72c4536b99306d9dc5f040788902 Mon Sep 17 00:00:00 2001 From: etobella Date: Mon, 26 Jun 2017 16:19:58 +0200 Subject: [PATCH 01/22] [ADD] report_field_length --- report_qweb_parameter/README.rst | 65 ++++++++++++++++++ report_qweb_parameter/__init__.py | 4 ++ report_qweb_parameter/__manifest__.py | 27 ++++++++ .../demo/test_report_field_length.xml | 25 +++++++ report_qweb_parameter/models/__init__.py | 4 ++ report_qweb_parameter/models/ir_qweb.py | 47 +++++++++++++ .../static/description/icon.png | Bin 0 -> 9455 bytes report_qweb_parameter/tests/__init__.py | 4 ++ .../tests/test_report_qweb_parameter.py | 50 ++++++++++++++ 9 files changed, 226 insertions(+) create mode 100644 report_qweb_parameter/README.rst create mode 100644 report_qweb_parameter/__init__.py create mode 100644 report_qweb_parameter/__manifest__.py create mode 100644 report_qweb_parameter/demo/test_report_field_length.xml create mode 100644 report_qweb_parameter/models/__init__.py create mode 100644 report_qweb_parameter/models/ir_qweb.py create mode 100644 report_qweb_parameter/static/description/icon.png create mode 100644 report_qweb_parameter/tests/__init__.py create mode 100644 report_qweb_parameter/tests/test_report_qweb_parameter.py diff --git a/report_qweb_parameter/README.rst b/report_qweb_parameter/README.rst new file mode 100644 index 0000000000..261adc786f --- /dev/null +++ b/report_qweb_parameter/README.rst @@ -0,0 +1,65 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +===================== +Report QWeb Parameter +===================== + +This module allows you to add new parameters on QWeb reports. +Currently, we have defined a field maximum on a report and a validation of +maximal and minimal size. +It is useful on xml reports in order to validate length. +XML are sometimes XSD dependant and we must validate its format. +For example, in spanish facturae (http://www.facturae.gob.es/Paginas/Index.aspx), where +length and format must be validated in several fields in order to send an invoice. + + +Usage +===== + +#. Add a t-length attribute on report templates fields that will truncate the field +#. Add a t-minlength attribute on report template fields that will check the min length +#. Add a t-maxlength attribute on report template fields that will check the max length + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/143/10.0 + + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Enric Tobella + + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/report_qweb_parameter/__init__.py b/report_qweb_parameter/__init__.py new file mode 100644 index 0000000000..ec50cfc0f3 --- /dev/null +++ b/report_qweb_parameter/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py new file mode 100644 index 0000000000..99741eb7fb --- /dev/null +++ b/report_qweb_parameter/__manifest__.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Copyright 2017 Creu Blanca +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +# noinspection PyStatementEffect +{ + "name": "Report QWeb Parameter", + "version": "10.0.1.0.1", + "license": "AGPL-3", + "summary": """ + Add new parameters for qweb templates in order to reduce field length + and check minimal length + """, + "author": "Creu Blanca," + "Odoo Community Association (OCA)", + "website": "https://github.com/oca/reporting-engine", + "category": "Technical Settings", + "depends": [ + "report", + ], + "data": [ + ], + "demo": [ + "demo/test_report_field_length.xml" + ], + "installable": True, +} diff --git a/report_qweb_parameter/demo/test_report_field_length.xml b/report_qweb_parameter/demo/test_report_field_length.xml new file mode 100644 index 0000000000..2b3d92f3de --- /dev/null +++ b/report_qweb_parameter/demo/test_report_field_length.xml @@ -0,0 +1,25 @@ + + + + + + + diff --git a/report_qweb_parameter/models/__init__.py b/report_qweb_parameter/models/__init__.py new file mode 100644 index 0000000000..6b04fd254d --- /dev/null +++ b/report_qweb_parameter/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import ir_qweb diff --git a/report_qweb_parameter/models/ir_qweb.py b/report_qweb_parameter/models/ir_qweb.py new file mode 100644 index 0000000000..7042198cba --- /dev/null +++ b/report_qweb_parameter/models/ir_qweb.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Copyright 2017 Creu Blanca +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models, _ +from odoo.exceptions import ValidationError + + +class IrQWeb(models.AbstractModel): + _inherit = 'ir.qweb' + + @staticmethod + def check_length(value, min_length=False, max_length=False): + if min_length and len(value) < min_length: + raise ValidationError( + _('Length cannot be less than %s') % str(min_length)) + if max_length and len(value) > max_length: + raise ValidationError( + _('Length cannot be more than %s') % str(max_length)) + return value + + def _compile_directive_esc(self, el, options): + min_value = el.attrib.pop('t-minlength', False) + max_value = el.attrib.pop('t-maxlength', False) + if min_value or max_value: + el.attrib['t-esc'] = 'docs.env["ir.qweb"].check_length(' + \ + el.attrib['t-esc'] + ', ' + \ + (min_value or 'False') + ', ' + \ + (max_value or 'False') + ')' + if 't-length' in el.attrib: + length = el.attrib.pop('t-length') + el.attrib['t-esc'] = '(' + el.attrib[ + 't-esc'] + ')[:' + length + ']' + return super(IrQWeb, self)._compile_directive_esc(el, options) + + def _compile_directive_raw(self, el, options): + min_value = el.attrib.pop('t-minlength', False) + max_value = el.attrib.pop('t-maxlength', False) + if min_value or max_value: + el.attrib['t-raw'] = 'docs.env["ir.qweb"].check_length(' + \ + el.attrib['t-raw'] + ', ' + \ + (min_value or 'False') + ', ' + \ + (max_value or 'False') + ')' + if 't-length' in el.attrib: + length = el.attrib.pop('t-length') + el.attrib['t-raw'] = el.attrib['t-raw'] + '[:' + length + ']' + return super(IrQWeb, self)._compile_directive_raw(el, options) diff --git a/report_qweb_parameter/static/description/icon.png b/report_qweb_parameter/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/report_qweb_parameter/tests/__init__.py b/report_qweb_parameter/tests/__init__.py new file mode 100644 index 0000000000..e4695dbf57 --- /dev/null +++ b/report_qweb_parameter/tests/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_report_qweb_parameter diff --git a/report_qweb_parameter/tests/test_report_qweb_parameter.py b/report_qweb_parameter/tests/test_report_qweb_parameter.py new file mode 100644 index 0000000000..70251161e5 --- /dev/null +++ b/report_qweb_parameter/tests/test_report_qweb_parameter.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# Copyright 2017 Creu Blanca +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import xml.etree.ElementTree as ET + +from odoo.addons.base.ir.ir_qweb import QWebException +from odoo.tests import common + + +class TestReportQWebParameter(common.TransactionCase): + def test_qweb_parameter(self): + report_object = self.env['ir.actions.report.xml'] + report_name = 'report_qweb_parameter.test_report_length' + docs = self.env['res.company'].search([], limit=1) + vat = docs.vat + website = docs.website + fax = docs.fax + company_registry = docs.company_registry + docs.update({ + 'fax': '12345678901', + 'vat': '12345678901', + 'website': '1234567890', + 'company_registry': '1234567890' + }) + rep = report_object.render_report(docs.ids, report_name, False) + root = ET.fromstring( + rep[0] + ) + self.assertEqual(root[1][0][0][0].text, "1234567890") + self.assertEqual(root[1][0][0][2].text, "1234567890") + docs.update({'fax': '123456789'}) + with self.assertRaises(QWebException): + report_object.render_report(docs.ids, report_name, False) + docs.update({'fax': '1234567890', 'vat': '123456789'}) + with self.assertRaises(QWebException): + report_object.render_report(docs.ids, report_name, False) + docs.update({'vat': '1234567890', 'website': '12345678901'}) + with self.assertRaises(QWebException): + report_object.render_report(docs.ids, report_name, False) + docs.update( + {'website': '1234567890', 'company_registry': '12345678901'}) + with self.assertRaises(QWebException): + report_object.render_report(docs.ids, report_name, False) + docs.update({ + 'fax': fax, + 'vat': vat, + 'website': website, + 'company_registry': company_registry + }) From 4c5555ac3bbd38f1f164213953cfc2fe21bbb872 Mon Sep 17 00:00:00 2001 From: Enric Tobella Date: Fri, 6 Oct 2017 12:35:06 +0200 Subject: [PATCH 02/22] [MIG] report_qweb_parameter: Migration to 11.0 --- report_qweb_parameter/README.rst | 4 +- report_qweb_parameter/__init__.py | 2 +- report_qweb_parameter/__manifest__.py | 9 ++-- .../demo/test_report_field_length.xml | 8 ++-- report_qweb_parameter/i18n/fr.po | 41 +++++++++++++++++++ .../i18n/report_qweb_parameter.pot | 37 +++++++++++++++++ report_qweb_parameter/models/__init__.py | 2 +- report_qweb_parameter/models/ir_qweb.py | 2 +- report_qweb_parameter/tests/__init__.py | 2 +- .../tests/test_report_qweb_parameter.py | 34 +++++++-------- 10 files changed, 108 insertions(+), 33 deletions(-) create mode 100644 report_qweb_parameter/i18n/fr.po create mode 100644 report_qweb_parameter/i18n/report_qweb_parameter.pot diff --git a/report_qweb_parameter/README.rst b/report_qweb_parameter/README.rst index 261adc786f..e365943353 100644 --- a/report_qweb_parameter/README.rst +++ b/report_qweb_parameter/README.rst @@ -1,5 +1,5 @@ .. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 ===================== @@ -24,7 +24,7 @@ Usage .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/143/10.0 + :target: https://runbot.odoo-community.org/runbot/143/11.0 Bug Tracker diff --git a/report_qweb_parameter/__init__.py b/report_qweb_parameter/__init__.py index ec50cfc0f3..b44d765940 100644 --- a/report_qweb_parameter/__init__.py +++ b/report_qweb_parameter/__init__.py @@ -1,4 +1,4 @@ # -*- coding: utf-8 -*- -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import models diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py index 99741eb7fb..1d8d7060ab 100644 --- a/report_qweb_parameter/__manifest__.py +++ b/report_qweb_parameter/__manifest__.py @@ -1,11 +1,10 @@ # -*- coding: utf-8 -*- # Copyright 2017 Creu Blanca -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -# noinspection PyStatementEffect { "name": "Report QWeb Parameter", - "version": "10.0.1.0.1", + "version": "11.0.1.0.0", "license": "AGPL-3", "summary": """ Add new parameters for qweb templates in order to reduce field length @@ -16,9 +15,7 @@ "website": "https://github.com/oca/reporting-engine", "category": "Technical Settings", "depends": [ - "report", - ], - "data": [ + "web", ], "demo": [ "demo/test_report_field_length.xml" diff --git a/report_qweb_parameter/demo/test_report_field_length.xml b/report_qweb_parameter/demo/test_report_field_length.xml index 2b3d92f3de..2b12743173 100644 --- a/report_qweb_parameter/demo/test_report_field_length.xml +++ b/report_qweb_parameter/demo/test_report_field_length.xml @@ -5,14 +5,14 @@ id="test_report_length_report_id" model="res.company" string="Length Report" - report_type="qweb-pdf" + report_type="qweb-html" name="report_qweb_parameter.test_report_length" /> diff --git a/report_qweb_parameter/i18n/fr.po b/report_qweb_parameter/i18n/fr.po new file mode 100644 index 0000000000..6c5c6bcfc5 --- /dev/null +++ b/report_qweb_parameter/i18n/fr.po @@ -0,0 +1,41 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_parameter +# +# Translators: +# Nicolas JEUDY , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-05 17:53+0000\n" +"PO-Revision-Date: 2018-01-05 17:53+0000\n" +"Last-Translator: Nicolas JEUDY , 2018\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: report_qweb_parameter +#: model:ir.actions.report,name:report_qweb_parameter.test_report_length_report_id +msgid "Length Report" +msgstr "Longueur du rapport " + +#. module: report_qweb_parameter +#: code:addons/report_qweb_parameter/models/ir_qweb.py:16 +#, python-format +msgid "Length cannot be less than %s" +msgstr "La longueur du rapport ne peut pas être inférieure à %s" + +#. module: report_qweb_parameter +#: code:addons/report_qweb_parameter/models/ir_qweb.py:19 +#, python-format +msgid "Length cannot be more than %s" +msgstr "La longueur du rapport ne peut pas être supérieure à %s" + +#. module: report_qweb_parameter +#: model:ir.model,name:report_qweb_parameter.model_ir_qweb +msgid "ir.qweb" +msgstr "ir.qweb" diff --git a/report_qweb_parameter/i18n/report_qweb_parameter.pot b/report_qweb_parameter/i18n/report_qweb_parameter.pot new file mode 100644 index 0000000000..01f6a6b0c7 --- /dev/null +++ b/report_qweb_parameter/i18n/report_qweb_parameter.pot @@ -0,0 +1,37 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_parameter +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.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: report_qweb_parameter +#: model:ir.actions.report,name:report_qweb_parameter.test_report_length_report_id +msgid "Length Report" +msgstr "" + +#. module: report_qweb_parameter +#: code:addons/report_qweb_parameter/models/ir_qweb.py:16 +#, python-format +msgid "Length cannot be less than %s" +msgstr "" + +#. module: report_qweb_parameter +#: code:addons/report_qweb_parameter/models/ir_qweb.py:19 +#, python-format +msgid "Length cannot be more than %s" +msgstr "" + +#. module: report_qweb_parameter +#: model:ir.model,name:report_qweb_parameter.model_ir_qweb +msgid "ir.qweb" +msgstr "" + diff --git a/report_qweb_parameter/models/__init__.py b/report_qweb_parameter/models/__init__.py index 6b04fd254d..dd58c12a55 100644 --- a/report_qweb_parameter/models/__init__.py +++ b/report_qweb_parameter/models/__init__.py @@ -1,4 +1,4 @@ # -*- coding: utf-8 -*- -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import ir_qweb diff --git a/report_qweb_parameter/models/ir_qweb.py b/report_qweb_parameter/models/ir_qweb.py index 7042198cba..67e80044ec 100644 --- a/report_qweb_parameter/models/ir_qweb.py +++ b/report_qweb_parameter/models/ir_qweb.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Copyright 2017 Creu Blanca -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import models, _ from odoo.exceptions import ValidationError diff --git a/report_qweb_parameter/tests/__init__.py b/report_qweb_parameter/tests/__init__.py index e4695dbf57..e6422248c7 100644 --- a/report_qweb_parameter/tests/__init__.py +++ b/report_qweb_parameter/tests/__init__.py @@ -1,4 +1,4 @@ # -*- coding: utf-8 -*- -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import test_report_qweb_parameter diff --git a/report_qweb_parameter/tests/test_report_qweb_parameter.py b/report_qweb_parameter/tests/test_report_qweb_parameter.py index 70251161e5..510770ab3d 100644 --- a/report_qweb_parameter/tests/test_report_qweb_parameter.py +++ b/report_qweb_parameter/tests/test_report_qweb_parameter.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Copyright 2017 Creu Blanca -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). import xml.etree.ElementTree as ET @@ -10,40 +10,40 @@ class TestReportQWebParameter(common.TransactionCase): def test_qweb_parameter(self): - report_object = self.env['ir.actions.report.xml'] report_name = 'report_qweb_parameter.test_report_length' + report_obj = self.env['ir.actions.report'] + report_object = report_obj._get_report_from_name(report_name) + docs = self.env['res.company'].search([], limit=1) vat = docs.vat website = docs.website - fax = docs.fax + street = docs.street company_registry = docs.company_registry docs.update({ - 'fax': '12345678901', + 'street': '12345678901', 'vat': '12345678901', 'website': '1234567890', 'company_registry': '1234567890' }) - rep = report_object.render_report(docs.ids, report_name, False) - root = ET.fromstring( - rep[0] - ) - self.assertEqual(root[1][0][0][0].text, "1234567890") - self.assertEqual(root[1][0][0][2].text, "1234567890") - docs.update({'fax': '123456789'}) + rep = report_object.render(docs.ids, False) + root = ET.fromstring(rep[0]) + self.assertEqual(root[0].text, "1234567890") + self.assertEqual(root[2].text, "1234567890") + docs.update({'street': '123456789'}) with self.assertRaises(QWebException): - report_object.render_report(docs.ids, report_name, False) - docs.update({'fax': '1234567890', 'vat': '123456789'}) + report_object.render(docs.ids, False) + docs.update({'street': '1234567890', 'vat': '123456789'}) with self.assertRaises(QWebException): - report_object.render_report(docs.ids, report_name, False) + report_object.render(docs.ids, False) docs.update({'vat': '1234567890', 'website': '12345678901'}) with self.assertRaises(QWebException): - report_object.render_report(docs.ids, report_name, False) + report_object.render(docs.ids, False) docs.update( {'website': '1234567890', 'company_registry': '12345678901'}) with self.assertRaises(QWebException): - report_object.render_report(docs.ids, report_name, False) + report_object.render(docs.ids, False) docs.update({ - 'fax': fax, + 'street': street, 'vat': vat, 'website': website, 'company_registry': company_registry From 743c65f8c1198be8395b1786fb2cc1cc1dd6a7aa Mon Sep 17 00:00:00 2001 From: Efren Date: Fri, 21 Jun 2019 11:19:27 +0100 Subject: [PATCH 03/22] [MIG] report_qweb_parameter: Migration to 12.0 --- report_qweb_parameter/__manifest__.py | 2 +- report_qweb_parameter/i18n/fr.po | 7 +++- report_qweb_parameter/i18n/pt.po | 39 +++++++++++++++++++ .../i18n/report_qweb_parameter.pot | 4 +- .../tests/test_report_qweb_parameter.py | 2 +- 5 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 report_qweb_parameter/i18n/pt.po diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py index 1d8d7060ab..28904594aa 100644 --- a/report_qweb_parameter/__manifest__.py +++ b/report_qweb_parameter/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Report QWeb Parameter", - "version": "11.0.1.0.0", + "version": "12.0.1.0.0", "license": "AGPL-3", "summary": """ Add new parameters for qweb templates in order to reduce field length diff --git a/report_qweb_parameter/i18n/fr.po b/report_qweb_parameter/i18n/fr.po index 6c5c6bcfc5..45bad87577 100644 --- a/report_qweb_parameter/i18n/fr.po +++ b/report_qweb_parameter/i18n/fr.po @@ -37,5 +37,8 @@ msgstr "La longueur du rapport ne peut pas être supérieure à %s" #. module: report_qweb_parameter #: model:ir.model,name:report_qweb_parameter.model_ir_qweb -msgid "ir.qweb" -msgstr "ir.qweb" +msgid "Qweb" +msgstr "" + +#~ msgid "ir.qweb" +#~ msgstr "ir.qweb" diff --git a/report_qweb_parameter/i18n/pt.po b/report_qweb_parameter/i18n/pt.po new file mode 100644 index 0000000000..b7e6a113e9 --- /dev/null +++ b/report_qweb_parameter/i18n/pt.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_parameter +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-08-14 13:44+0000\n" +"Last-Translator: Pedro Castro Silva \n" +"Language-Team: none\n" +"Language: pt\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 3.7.1\n" + +#. module: report_qweb_parameter +#: model:ir.actions.report,name:report_qweb_parameter.test_report_length_report_id +msgid "Length Report" +msgstr "Relatório de Comprimento" + +#. module: report_qweb_parameter +#: code:addons/report_qweb_parameter/models/ir_qweb.py:16 +#, python-format +msgid "Length cannot be less than %s" +msgstr "Comprimento não pode ser superior a %s" + +#. module: report_qweb_parameter +#: code:addons/report_qweb_parameter/models/ir_qweb.py:19 +#, python-format +msgid "Length cannot be more than %s" +msgstr "Comprimento não pode ser inferior a %s" + +#. module: report_qweb_parameter +#: model:ir.model,name:report_qweb_parameter.model_ir_qweb +msgid "Qweb" +msgstr "" diff --git a/report_qweb_parameter/i18n/report_qweb_parameter.pot b/report_qweb_parameter/i18n/report_qweb_parameter.pot index 01f6a6b0c7..e886e30cb2 100644 --- a/report_qweb_parameter/i18n/report_qweb_parameter.pot +++ b/report_qweb_parameter/i18n/report_qweb_parameter.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -32,6 +32,6 @@ msgstr "" #. module: report_qweb_parameter #: model:ir.model,name:report_qweb_parameter.model_ir_qweb -msgid "ir.qweb" +msgid "Qweb" msgstr "" diff --git a/report_qweb_parameter/tests/test_report_qweb_parameter.py b/report_qweb_parameter/tests/test_report_qweb_parameter.py index 510770ab3d..df61faceb5 100644 --- a/report_qweb_parameter/tests/test_report_qweb_parameter.py +++ b/report_qweb_parameter/tests/test_report_qweb_parameter.py @@ -4,7 +4,7 @@ import xml.etree.ElementTree as ET -from odoo.addons.base.ir.ir_qweb import QWebException +from odoo.addons.base.models.qweb import QWebException from odoo.tests import common From 49604ed75e2eee26d654175af45cbcf2fd54212b Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Mon, 13 Apr 2020 19:02:39 +0200 Subject: [PATCH 04/22] [IMP] report_qweb_parameter: Avoid error on integration tests If reusing existing records, there's the risk of conflicting tests, like modifying the VAT for the existing company and that company having a country with VAT check. We avoid it creating a new company instead. --- .../tests/test_report_qweb_parameter.py | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/report_qweb_parameter/tests/test_report_qweb_parameter.py b/report_qweb_parameter/tests/test_report_qweb_parameter.py index df61faceb5..77e2b7548f 100644 --- a/report_qweb_parameter/tests/test_report_qweb_parameter.py +++ b/report_qweb_parameter/tests/test_report_qweb_parameter.py @@ -13,18 +13,13 @@ def test_qweb_parameter(self): report_name = 'report_qweb_parameter.test_report_length' report_obj = self.env['ir.actions.report'] report_object = report_obj._get_report_from_name(report_name) - - docs = self.env['res.company'].search([], limit=1) - vat = docs.vat - website = docs.website - street = docs.street - company_registry = docs.company_registry - docs.update({ + docs = self.env['res.company'].create({ + 'name': 'Test company', 'street': '12345678901', 'vat': '12345678901', - 'website': '1234567890', 'company_registry': '1234567890' }) + docs.website = '1234567890' # for avoding that Odoo adds http:// rep = report_object.render(docs.ids, False) root = ET.fromstring(rep[0]) self.assertEqual(root[0].text, "1234567890") @@ -42,9 +37,3 @@ def test_qweb_parameter(self): {'website': '1234567890', 'company_registry': '12345678901'}) with self.assertRaises(QWebException): report_object.render(docs.ids, False) - docs.update({ - 'street': street, - 'vat': vat, - 'website': website, - 'company_registry': company_registry - }) From eed58fbc57db7735381c5ea3480f3e58189d802d Mon Sep 17 00:00:00 2001 From: Carlos Roca Date: Wed, 28 Oct 2020 09:24:25 +0100 Subject: [PATCH 05/22] [IMP] report_qweb_parameter: black, isort, prettier --- report_qweb_parameter/__init__.py | 1 - report_qweb_parameter/__manifest__.py | 12 +--- .../demo/test_report_field_length.xml | 47 ++++++++++----- report_qweb_parameter/models/__init__.py | 1 - report_qweb_parameter/models/ir_qweb.py | 58 ++++++++++--------- report_qweb_parameter/tests/__init__.py | 1 - .../tests/test_report_qweb_parameter.py | 33 ++++++----- 7 files changed, 83 insertions(+), 70 deletions(-) diff --git a/report_qweb_parameter/__init__.py b/report_qweb_parameter/__init__.py index b44d765940..31660d6a96 100644 --- a/report_qweb_parameter/__init__.py +++ b/report_qweb_parameter/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import models diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py index 28904594aa..ec86cd9246 100644 --- a/report_qweb_parameter/__manifest__.py +++ b/report_qweb_parameter/__manifest__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2017 Creu Blanca # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). @@ -10,15 +9,10 @@ Add new parameters for qweb templates in order to reduce field length and check minimal length """, - "author": "Creu Blanca," - "Odoo Community Association (OCA)", + "author": "Creu Blanca," "Odoo Community Association (OCA)", "website": "https://github.com/oca/reporting-engine", "category": "Technical Settings", - "depends": [ - "web", - ], - "demo": [ - "demo/test_report_field_length.xml" - ], + "depends": ["web"], + "demo": ["demo/test_report_field_length.xml"], "installable": True, } diff --git a/report_qweb_parameter/demo/test_report_field_length.xml b/report_qweb_parameter/demo/test_report_field_length.xml index 2b12743173..f529361629 100644 --- a/report_qweb_parameter/demo/test_report_field_length.xml +++ b/report_qweb_parameter/demo/test_report_field_length.xml @@ -1,25 +1,40 @@ - + - - diff --git a/report_qweb_parameter/models/__init__.py b/report_qweb_parameter/models/__init__.py index dd58c12a55..3abf9999a5 100644 --- a/report_qweb_parameter/models/__init__.py +++ b/report_qweb_parameter/models/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import ir_qweb diff --git a/report_qweb_parameter/models/ir_qweb.py b/report_qweb_parameter/models/ir_qweb.py index 67e80044ec..5d110acfb0 100644 --- a/report_qweb_parameter/models/ir_qweb.py +++ b/report_qweb_parameter/models/ir_qweb.py @@ -1,47 +1,53 @@ -# -*- coding: utf-8 -*- # Copyright 2017 Creu Blanca # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo import models, _ +from odoo import _, models from odoo.exceptions import ValidationError class IrQWeb(models.AbstractModel): - _inherit = 'ir.qweb' + _inherit = "ir.qweb" @staticmethod def check_length(value, min_length=False, max_length=False): if min_length and len(value) < min_length: - raise ValidationError( - _('Length cannot be less than %s') % str(min_length)) + raise ValidationError(_("Length cannot be less than %s") % str(min_length)) if max_length and len(value) > max_length: - raise ValidationError( - _('Length cannot be more than %s') % str(max_length)) + raise ValidationError(_("Length cannot be more than %s") % str(max_length)) return value def _compile_directive_esc(self, el, options): - min_value = el.attrib.pop('t-minlength', False) - max_value = el.attrib.pop('t-maxlength', False) + min_value = el.attrib.pop("t-minlength", False) + max_value = el.attrib.pop("t-maxlength", False) if min_value or max_value: - el.attrib['t-esc'] = 'docs.env["ir.qweb"].check_length(' + \ - el.attrib['t-esc'] + ', ' + \ - (min_value or 'False') + ', ' + \ - (max_value or 'False') + ')' - if 't-length' in el.attrib: - length = el.attrib.pop('t-length') - el.attrib['t-esc'] = '(' + el.attrib[ - 't-esc'] + ')[:' + length + ']' + el.attrib["t-esc"] = ( + 'docs.env["ir.qweb"].check_length(' + + el.attrib["t-esc"] + + ", " + + (min_value or "False") + + ", " + + (max_value or "False") + + ")" + ) + if "t-length" in el.attrib: + length = el.attrib.pop("t-length") + el.attrib["t-esc"] = "(" + el.attrib["t-esc"] + ")[:" + length + "]" return super(IrQWeb, self)._compile_directive_esc(el, options) def _compile_directive_raw(self, el, options): - min_value = el.attrib.pop('t-minlength', False) - max_value = el.attrib.pop('t-maxlength', False) + min_value = el.attrib.pop("t-minlength", False) + max_value = el.attrib.pop("t-maxlength", False) if min_value or max_value: - el.attrib['t-raw'] = 'docs.env["ir.qweb"].check_length(' + \ - el.attrib['t-raw'] + ', ' + \ - (min_value or 'False') + ', ' + \ - (max_value or 'False') + ')' - if 't-length' in el.attrib: - length = el.attrib.pop('t-length') - el.attrib['t-raw'] = el.attrib['t-raw'] + '[:' + length + ']' + el.attrib["t-raw"] = ( + 'docs.env["ir.qweb"].check_length(' + + el.attrib["t-raw"] + + ", " + + (min_value or "False") + + ", " + + (max_value or "False") + + ")" + ) + if "t-length" in el.attrib: + length = el.attrib.pop("t-length") + el.attrib["t-raw"] = el.attrib["t-raw"] + "[:" + length + "]" return super(IrQWeb, self)._compile_directive_raw(el, options) diff --git a/report_qweb_parameter/tests/__init__.py b/report_qweb_parameter/tests/__init__.py index e6422248c7..62db47d0f9 100644 --- a/report_qweb_parameter/tests/__init__.py +++ b/report_qweb_parameter/tests/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import test_report_qweb_parameter diff --git a/report_qweb_parameter/tests/test_report_qweb_parameter.py b/report_qweb_parameter/tests/test_report_qweb_parameter.py index 77e2b7548f..82ae745855 100644 --- a/report_qweb_parameter/tests/test_report_qweb_parameter.py +++ b/report_qweb_parameter/tests/test_report_qweb_parameter.py @@ -1,39 +1,40 @@ -# -*- coding: utf-8 -*- # Copyright 2017 Creu Blanca # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). import xml.etree.ElementTree as ET -from odoo.addons.base.models.qweb import QWebException from odoo.tests import common +from odoo.addons.base.models.qweb import QWebException + class TestReportQWebParameter(common.TransactionCase): def test_qweb_parameter(self): - report_name = 'report_qweb_parameter.test_report_length' - report_obj = self.env['ir.actions.report'] + report_name = "report_qweb_parameter.test_report_length" + report_obj = self.env["ir.actions.report"] report_object = report_obj._get_report_from_name(report_name) - docs = self.env['res.company'].create({ - 'name': 'Test company', - 'street': '12345678901', - 'vat': '12345678901', - 'company_registry': '1234567890' - }) - docs.website = '1234567890' # for avoding that Odoo adds http:// + docs = self.env["res.company"].create( + { + "name": "Test company", + "street": "12345678901", + "vat": "12345678901", + "company_registry": "1234567890", + } + ) + docs.website = "1234567890" # for avoding that Odoo adds http:// rep = report_object.render(docs.ids, False) root = ET.fromstring(rep[0]) self.assertEqual(root[0].text, "1234567890") self.assertEqual(root[2].text, "1234567890") - docs.update({'street': '123456789'}) + docs.update({"street": "123456789"}) with self.assertRaises(QWebException): report_object.render(docs.ids, False) - docs.update({'street': '1234567890', 'vat': '123456789'}) + docs.update({"street": "1234567890", "vat": "123456789"}) with self.assertRaises(QWebException): report_object.render(docs.ids, False) - docs.update({'vat': '1234567890', 'website': '12345678901'}) + docs.update({"vat": "1234567890", "website": "12345678901"}) with self.assertRaises(QWebException): report_object.render(docs.ids, False) - docs.update( - {'website': '1234567890', 'company_registry': '12345678901'}) + docs.update({"website": "1234567890", "company_registry": "12345678901"}) with self.assertRaises(QWebException): report_object.render(docs.ids, False) From 113fb41a03eb07456a3a5d2e64834e40442f1f8c Mon Sep 17 00:00:00 2001 From: Carlos Roca Date: Wed, 28 Oct 2020 10:23:07 +0100 Subject: [PATCH 06/22] [MIG] report_qweb_parameter: Migration to v13 --- report_qweb_parameter/README.rst | 69 ++- report_qweb_parameter/__manifest__.py | 4 +- report_qweb_parameter/i18n/es.po | 40 ++ report_qweb_parameter/i18n/fr.po | 4 +- report_qweb_parameter/i18n/it.po | 39 ++ report_qweb_parameter/i18n/pt.po | 6 +- .../i18n/report_qweb_parameter.pot | 11 +- report_qweb_parameter/models/ir_qweb.py | 12 +- report_qweb_parameter/readme/CONTRIBUTORS.rst | 5 + report_qweb_parameter/readme/DESCRIPTION.rst | 7 + report_qweb_parameter/readme/USAGE.rst | 3 + .../static/description/index.html | 442 ++++++++++++++++++ 12 files changed, 601 insertions(+), 41 deletions(-) create mode 100644 report_qweb_parameter/i18n/es.po create mode 100644 report_qweb_parameter/i18n/it.po create mode 100644 report_qweb_parameter/readme/CONTRIBUTORS.rst create mode 100644 report_qweb_parameter/readme/DESCRIPTION.rst create mode 100644 report_qweb_parameter/readme/USAGE.rst create mode 100644 report_qweb_parameter/static/description/index.html diff --git a/report_qweb_parameter/README.rst b/report_qweb_parameter/README.rst index e365943353..47807da325 100644 --- a/report_qweb_parameter/README.rst +++ b/report_qweb_parameter/README.rst @@ -1,11 +1,30 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 - ===================== Report QWeb Parameter ===================== +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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%2Freporting--engine-lightgray.png?logo=github + :target: https://github.com/OCA/reporting-engine/tree/13.0/report_qweb_parameter + :alt: OCA/reporting-engine +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/reporting-engine-13-0/reporting-engine-13-0-report_qweb_parameter + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/143/13.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + This module allows you to add new parameters on QWeb reports. Currently, we have defined a field maximum on a report and a validation of maximal and minimal size. @@ -14,6 +33,10 @@ XML are sometimes XSD dependant and we must validate its format. For example, in spanish facturae (http://www.facturae.gob.es/Paginas/Index.aspx), where length and format must be validated in several fields in order to send an invoice. +**Table of contents** + +.. contents:: + :local: Usage ===== @@ -22,44 +45,46 @@ Usage #. Add a t-minlength attribute on report template fields that will check the min length #. Add a t-maxlength attribute on report template fields that will check the max length -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/143/11.0 - - Bug Tracker =========== -Bugs are tracked on `GitHub Issues -`_. In case of trouble, please -check there if your issue has already been reported. If you spotted it first, -help us smashing it by providing a detailed and welcomed feedback. +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 ======= -Images ------- +Authors +~~~~~~~ -* Odoo Community Association: `Icon `_. +* Creu Blanca Contributors ------------- +~~~~~~~~~~~~ * Enric Tobella +* `Tecnativa `_: -Maintainer ----------- + * Carlos Roca + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org -This module is maintained by the OCA. - OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -To contribute to this module, please visit https://odoo-community.org. +This module is part of the `OCA/reporting-engine `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py index ec86cd9246..d8e5dc6c6e 100644 --- a/report_qweb_parameter/__manifest__.py +++ b/report_qweb_parameter/__manifest__.py @@ -3,13 +3,13 @@ { "name": "Report QWeb Parameter", - "version": "12.0.1.0.0", + "version": "13.0.1.0.0", "license": "AGPL-3", "summary": """ Add new parameters for qweb templates in order to reduce field length and check minimal length """, - "author": "Creu Blanca," "Odoo Community Association (OCA)", + "author": "Creu Blanca, Odoo Community Association (OCA)", "website": "https://github.com/oca/reporting-engine", "category": "Technical Settings", "depends": ["web"], diff --git a/report_qweb_parameter/i18n/es.po b/report_qweb_parameter/i18n/es.po new file mode 100644 index 0000000000..7cc1952b8f --- /dev/null +++ b/report_qweb_parameter/i18n/es.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_parameter +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: Carlos \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.6\n" + +#. module: report_qweb_parameter +#: model:ir.actions.report,name:report_qweb_parameter.test_report_length_report_id +msgid "Length Report" +msgstr "Longitud del informe" + +#. module: report_qweb_parameter +#: code:addons/report_qweb_parameter/models/ir_qweb.py:0 +#, python-format +msgid "Length cannot be less than %s" +msgstr "La longitud no puede ser menor a %s" + +#. module: report_qweb_parameter +#: code:addons/report_qweb_parameter/models/ir_qweb.py:0 +#, python-format +msgid "Length cannot be more than %s" +msgstr "La longitud no puede ser mayor a %s" + +#. module: report_qweb_parameter +#: model:ir.model,name:report_qweb_parameter.model_ir_qweb +msgid "Qweb" +msgstr "Qweb" diff --git a/report_qweb_parameter/i18n/fr.po b/report_qweb_parameter/i18n/fr.po index 45bad87577..5cc9108307 100644 --- a/report_qweb_parameter/i18n/fr.po +++ b/report_qweb_parameter/i18n/fr.po @@ -24,13 +24,13 @@ msgid "Length Report" msgstr "Longueur du rapport " #. module: report_qweb_parameter -#: code:addons/report_qweb_parameter/models/ir_qweb.py:16 +#: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be less than %s" msgstr "La longueur du rapport ne peut pas être inférieure à %s" #. module: report_qweb_parameter -#: code:addons/report_qweb_parameter/models/ir_qweb.py:19 +#: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be more than %s" msgstr "La longueur du rapport ne peut pas être supérieure à %s" diff --git a/report_qweb_parameter/i18n/it.po b/report_qweb_parameter/i18n/it.po new file mode 100644 index 0000000000..868bc8c17f --- /dev/null +++ b/report_qweb_parameter/i18n/it.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_parameter +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-11-20 23:36+0000\n" +"Last-Translator: Alessandro Fiorino \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 3.10\n" + +#. module: report_qweb_parameter +#: model:ir.actions.report,name:report_qweb_parameter.test_report_length_report_id +msgid "Length Report" +msgstr "Lunghezza Report" + +#. module: report_qweb_parameter +#: code:addons/report_qweb_parameter/models/ir_qweb.py:0 +#, python-format +msgid "Length cannot be less than %s" +msgstr "La lunghezza non può essere meno di %s" + +#. module: report_qweb_parameter +#: code:addons/report_qweb_parameter/models/ir_qweb.py:0 +#, python-format +msgid "Length cannot be more than %s" +msgstr "La lunghezza non può essere più di %s" + +#. module: report_qweb_parameter +#: model:ir.model,name:report_qweb_parameter.model_ir_qweb +msgid "Qweb" +msgstr "Qweb" diff --git a/report_qweb_parameter/i18n/pt.po b/report_qweb_parameter/i18n/pt.po index b7e6a113e9..0be7522a28 100644 --- a/report_qweb_parameter/i18n/pt.po +++ b/report_qweb_parameter/i18n/pt.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * report_qweb_parameter +# * report_qweb_parameter # msgid "" msgstr "" @@ -22,13 +22,13 @@ msgid "Length Report" msgstr "Relatório de Comprimento" #. module: report_qweb_parameter -#: code:addons/report_qweb_parameter/models/ir_qweb.py:16 +#: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be less than %s" msgstr "Comprimento não pode ser superior a %s" #. module: report_qweb_parameter -#: code:addons/report_qweb_parameter/models/ir_qweb.py:19 +#: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be more than %s" msgstr "Comprimento não pode ser inferior a %s" diff --git a/report_qweb_parameter/i18n/report_qweb_parameter.pot b/report_qweb_parameter/i18n/report_qweb_parameter.pot index e886e30cb2..4df2be043a 100644 --- a/report_qweb_parameter/i18n/report_qweb_parameter.pot +++ b/report_qweb_parameter/i18n/report_qweb_parameter.pot @@ -1,12 +1,12 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * report_qweb_parameter +# * report_qweb_parameter # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 12.0\n" +"Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: <>\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,13 +19,13 @@ msgid "Length Report" msgstr "" #. module: report_qweb_parameter -#: code:addons/report_qweb_parameter/models/ir_qweb.py:16 +#: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be less than %s" msgstr "" #. module: report_qweb_parameter -#: code:addons/report_qweb_parameter/models/ir_qweb.py:19 +#: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be more than %s" msgstr "" @@ -34,4 +34,3 @@ msgstr "" #: model:ir.model,name:report_qweb_parameter.model_ir_qweb msgid "Qweb" msgstr "" - diff --git a/report_qweb_parameter/models/ir_qweb.py b/report_qweb_parameter/models/ir_qweb.py index 5d110acfb0..51e9dfc368 100644 --- a/report_qweb_parameter/models/ir_qweb.py +++ b/report_qweb_parameter/models/ir_qweb.py @@ -30,9 +30,9 @@ def _compile_directive_esc(self, el, options): + ")" ) if "t-length" in el.attrib: - length = el.attrib.pop("t-length") - el.attrib["t-esc"] = "(" + el.attrib["t-esc"] + ")[:" + length + "]" - return super(IrQWeb, self)._compile_directive_esc(el, options) + tlength = el.attrib.pop("t-length") + el.attrib["t-esc"] = "(" + el.attrib["t-esc"] + ")[:" + tlength + "]" + return super()._compile_directive_esc(el, options) def _compile_directive_raw(self, el, options): min_value = el.attrib.pop("t-minlength", False) @@ -48,6 +48,6 @@ def _compile_directive_raw(self, el, options): + ")" ) if "t-length" in el.attrib: - length = el.attrib.pop("t-length") - el.attrib["t-raw"] = el.attrib["t-raw"] + "[:" + length + "]" - return super(IrQWeb, self)._compile_directive_raw(el, options) + tlength = el.attrib.pop("t-length") + el.attrib["t-raw"] = el.attrib["t-raw"] + "[:" + tlength + "]" + return super()._compile_directive_raw(el, options) diff --git a/report_qweb_parameter/readme/CONTRIBUTORS.rst b/report_qweb_parameter/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..f2b5eb2e7f --- /dev/null +++ b/report_qweb_parameter/readme/CONTRIBUTORS.rst @@ -0,0 +1,5 @@ +* Enric Tobella + +* `Tecnativa `_: + + * Carlos Roca diff --git a/report_qweb_parameter/readme/DESCRIPTION.rst b/report_qweb_parameter/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..a738afa66a --- /dev/null +++ b/report_qweb_parameter/readme/DESCRIPTION.rst @@ -0,0 +1,7 @@ +This module allows you to add new parameters on QWeb reports. +Currently, we have defined a field maximum on a report and a validation of +maximal and minimal size. +It is useful on xml reports in order to validate length. +XML are sometimes XSD dependant and we must validate its format. +For example, in spanish facturae (http://www.facturae.gob.es/Paginas/Index.aspx), where +length and format must be validated in several fields in order to send an invoice. diff --git a/report_qweb_parameter/readme/USAGE.rst b/report_qweb_parameter/readme/USAGE.rst new file mode 100644 index 0000000000..80469d005e --- /dev/null +++ b/report_qweb_parameter/readme/USAGE.rst @@ -0,0 +1,3 @@ +#. Add a t-length attribute on report templates fields that will truncate the field +#. Add a t-minlength attribute on report template fields that will check the min length +#. Add a t-maxlength attribute on report template fields that will check the max length diff --git a/report_qweb_parameter/static/description/index.html b/report_qweb_parameter/static/description/index.html new file mode 100644 index 0000000000..aac51e791a --- /dev/null +++ b/report_qweb_parameter/static/description/index.html @@ -0,0 +1,442 @@ + + + + + + +Report QWeb Parameter + + + +
+

Report QWeb Parameter

+ + +

Beta License: AGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runbot

+

This module allows you to add new parameters on QWeb reports. +Currently, we have defined a field maximum on a report and a validation of +maximal and minimal size. +It is useful on xml reports in order to validate length. +XML are sometimes XSD dependant and we must validate its format. +For example, in spanish facturae (http://www.facturae.gob.es/Paginas/Index.aspx), where +length and format must be validated in several fields in order to send an invoice.

+

Table of contents

+ +
+

Usage

+
    +
  1. Add a t-length attribute on report templates fields that will truncate the field
  2. +
  3. Add a t-minlength attribute on report template fields that will check the min length
  4. +
  5. Add a t-maxlength attribute on report template fields that will check the max length
  6. +
+
+
+

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

+
    +
  • Creu Blanca
  • +
+
+
+

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/reporting-engine project on GitHub.

+

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

+
+
+
+ + From 4d9861b4b5ec3a7b9a45811c7340bf3e1a80abd9 Mon Sep 17 00:00:00 2001 From: Francisco Ivan Anton Prieto Date: Tue, 26 Jan 2021 18:33:21 +0100 Subject: [PATCH 07/22] [IMP] report_qweb_parameter: black, isort, prettier --- report_qweb_parameter/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py index d8e5dc6c6e..404438e14f 100644 --- a/report_qweb_parameter/__manifest__.py +++ b/report_qweb_parameter/__manifest__.py @@ -10,7 +10,7 @@ and check minimal length """, "author": "Creu Blanca, Odoo Community Association (OCA)", - "website": "https://github.com/oca/reporting-engine", + "website": "https://github.com/OCA/reporting-engine", "category": "Technical Settings", "depends": ["web"], "demo": ["demo/test_report_field_length.xml"], From d6927597e29566bf82d6a7a22c08dc72518abb9d Mon Sep 17 00:00:00 2001 From: Francisco Ivan Anton Prieto Date: Tue, 26 Jan 2021 18:50:03 +0100 Subject: [PATCH 08/22] [MIG] report_qweb_parameter: Migration to 14.0 --- report_qweb_parameter/README.rst | 12 +++++++----- report_qweb_parameter/__manifest__.py | 2 +- .../demo/test_report_field_length.xml | 13 ++++++------- .../i18n/report_qweb_parameter.pot | 17 ++++++++++++++++- report_qweb_parameter/readme/CONTRIBUTORS.rst | 2 ++ .../static/description/index.html | 8 +++++--- .../tests/test_report_qweb_parameter.py | 10 +++++----- 7 files changed, 42 insertions(+), 22 deletions(-) diff --git a/report_qweb_parameter/README.rst b/report_qweb_parameter/README.rst index 47807da325..d428be6d7e 100644 --- a/report_qweb_parameter/README.rst +++ b/report_qweb_parameter/README.rst @@ -14,13 +14,13 @@ Report QWeb Parameter :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github - :target: https://github.com/OCA/reporting-engine/tree/13.0/report_qweb_parameter + :target: https://github.com/OCA/reporting-engine/tree/14.0/report_qweb_parameter :alt: OCA/reporting-engine .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/reporting-engine-13-0/reporting-engine-13-0-report_qweb_parameter + :target: https://translation.odoo-community.org/projects/reporting-engine-14-0/reporting-engine-14-0-report_qweb_parameter :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/143/13.0 + :target: https://runbot.odoo-community.org/runbot/143/14.0 :alt: Try me on Runbot |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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -72,6 +72,8 @@ Contributors * Carlos Roca +* Iván Antón + Maintainers ~~~~~~~~~~~ @@ -85,6 +87,6 @@ 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/reporting-engine `_ project on GitHub. +This module is part of the `OCA/reporting-engine `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py index 404438e14f..365b595143 100644 --- a/report_qweb_parameter/__manifest__.py +++ b/report_qweb_parameter/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Report QWeb Parameter", - "version": "13.0.1.0.0", + "version": "14.0.1.0.0", "license": "AGPL-3", "summary": """ Add new parameters for qweb templates in order to reduce field length diff --git a/report_qweb_parameter/demo/test_report_field_length.xml b/report_qweb_parameter/demo/test_report_field_length.xml index f529361629..f76b10ae94 100644 --- a/report_qweb_parameter/demo/test_report_field_length.xml +++ b/report_qweb_parameter/demo/test_report_field_length.xml @@ -1,12 +1,11 @@ - + + Length Report + res.company + qweb-html + report_qweb_parameter.test_report_length + diff --git a/report_qweb_parameter/i18n/ca.po b/report_qweb_parameter/i18n/ca.po index f549b17fea..a116902932 100644 --- a/report_qweb_parameter/i18n/ca.po +++ b/report_qweb_parameter/i18n/ca.po @@ -22,12 +22,14 @@ msgid "Length Report" msgstr "Longitud de l'informe" #. module: report_qweb_parameter +#. odoo-python #: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be less than %s" msgstr "La longitut no pot ser menor que %s" #. module: report_qweb_parameter +#. odoo-python #: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be more than %s" diff --git a/report_qweb_parameter/i18n/es.po b/report_qweb_parameter/i18n/es.po index 7cc1952b8f..060c57c729 100644 --- a/report_qweb_parameter/i18n/es.po +++ b/report_qweb_parameter/i18n/es.po @@ -23,12 +23,14 @@ msgid "Length Report" msgstr "Longitud del informe" #. module: report_qweb_parameter +#. odoo-python #: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be less than %s" msgstr "La longitud no puede ser menor a %s" #. module: report_qweb_parameter +#. odoo-python #: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be more than %s" diff --git a/report_qweb_parameter/i18n/fr.po b/report_qweb_parameter/i18n/fr.po index 5cc9108307..3ae4e02222 100644 --- a/report_qweb_parameter/i18n/fr.po +++ b/report_qweb_parameter/i18n/fr.po @@ -24,12 +24,14 @@ msgid "Length Report" msgstr "Longueur du rapport " #. module: report_qweb_parameter +#. odoo-python #: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be less than %s" msgstr "La longueur du rapport ne peut pas être inférieure à %s" #. module: report_qweb_parameter +#. odoo-python #: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be more than %s" diff --git a/report_qweb_parameter/i18n/it.po b/report_qweb_parameter/i18n/it.po index 868bc8c17f..451cb2d322 100644 --- a/report_qweb_parameter/i18n/it.po +++ b/report_qweb_parameter/i18n/it.po @@ -22,12 +22,14 @@ msgid "Length Report" msgstr "Lunghezza Report" #. module: report_qweb_parameter +#. odoo-python #: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be less than %s" msgstr "La lunghezza non può essere meno di %s" #. module: report_qweb_parameter +#. odoo-python #: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be more than %s" diff --git a/report_qweb_parameter/i18n/pt.po b/report_qweb_parameter/i18n/pt.po index 0be7522a28..8456f83da7 100644 --- a/report_qweb_parameter/i18n/pt.po +++ b/report_qweb_parameter/i18n/pt.po @@ -22,12 +22,14 @@ msgid "Length Report" msgstr "Relatório de Comprimento" #. module: report_qweb_parameter +#. odoo-python #: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be less than %s" msgstr "Comprimento não pode ser superior a %s" #. module: report_qweb_parameter +#. odoo-python #: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be more than %s" diff --git a/report_qweb_parameter/i18n/report_qweb_parameter.pot b/report_qweb_parameter/i18n/report_qweb_parameter.pot index bc9d5c911e..171f1623d3 100644 --- a/report_qweb_parameter/i18n/report_qweb_parameter.pot +++ b/report_qweb_parameter/i18n/report_qweb_parameter.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 15.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -19,12 +19,14 @@ msgid "Length Report" msgstr "" #. module: report_qweb_parameter +#. odoo-python #: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be less than %s" msgstr "" #. module: report_qweb_parameter +#. odoo-python #: code:addons/report_qweb_parameter/models/ir_qweb.py:0 #, python-format msgid "Length cannot be more than %s" diff --git a/report_qweb_parameter/models/ir_qweb.py b/report_qweb_parameter/models/ir_qweb.py index 348ac97b2f..b763d3183d 100644 --- a/report_qweb_parameter/models/ir_qweb.py +++ b/report_qweb_parameter/models/ir_qweb.py @@ -16,7 +16,7 @@ def check_length(value, min_length=False, max_length=False): raise ValidationError(_("Length cannot be more than %s") % str(max_length)) return value - def _compile_directive_esc(self, el, options, indent): + def _compile_directive_esc(self, el, compile_context, level): min_value = el.attrib.pop("t-minlength", False) max_value = el.attrib.pop("t-maxlength", False) if min_value or max_value: @@ -32,9 +32,28 @@ def _compile_directive_esc(self, el, options, indent): if "t-length" in el.attrib: tlength = el.attrib.pop("t-length") el.attrib["t-esc"] = "(" + el.attrib["t-esc"] + ")[:" + tlength + "]" - return super()._compile_directive_esc(el, options, indent) + return super()._compile_directive_esc(el, compile_context, level) - def _compile_directive_raw(self, el, options, indent): + def _compile_directive_out(self, el, compile_context, level): + min_value = el.attrib.pop("t-minlength", False) + max_value = el.attrib.pop("t-maxlength", False) + if min_value or max_value: + el.attrib["t-out"] = ( + 'docs.env["ir.qweb"].check_length(' + + el.attrib["t-out"] + + ", " + + (min_value or "False") + + ", " + + (max_value or "False") + + ")" + ) + if "t-length" in el.attrib: + tlength = el.attrib.pop("t-length") + el.attrib["t-out"] = el.attrib["t-out"] + "[:" + tlength + "]" + return super()._compile_directive_out(el, compile_context, level) + + def _compile_directive_raw(self, el, compile_context, level): + # TODO: t-raw is deprecated, can it be removed? min_value = el.attrib.pop("t-minlength", False) max_value = el.attrib.pop("t-maxlength", False) if min_value or max_value: @@ -50,4 +69,4 @@ def _compile_directive_raw(self, el, options, indent): if "t-length" in el.attrib: tlength = el.attrib.pop("t-length") el.attrib["t-raw"] = el.attrib["t-raw"] + "[:" + tlength + "]" - return super()._compile_directive_raw(el, options, indent) + return super()._compile_directive_raw(el, compile_context, level) diff --git a/report_qweb_parameter/static/description/index.html b/report_qweb_parameter/static/description/index.html index 1cc8d45e82..c5c8f37cee 100644 --- a/report_qweb_parameter/static/description/index.html +++ b/report_qweb_parameter/static/description/index.html @@ -1,20 +1,20 @@ - + - + Report QWeb Parameter -
-

Report QWeb Parameter

+
+ + +Odoo Community Association + +
+

Report QWeb Parameter

-

Beta License: AGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runboat

This module allows you to add new parameters on QWeb reports. Currently, we have defined a field maximum on a report and a validation of maximal and minimal size. It is useful on xml reports in order to validate @@ -390,7 +396,7 @@

Report QWeb Parameter

-

Usage

+

Usage

  1. Add a t-length attribute on report templates fields that will truncate the field
  2. @@ -401,7 +407,7 @@

    Usage

-

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 @@ -409,15 +415,15 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Creu Blanca
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +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.

@@ -451,5 +459,6 @@

Maintainers

+
From 53004c60a14e09ba1a92d25f686eaf8c62702f6b Mon Sep 17 00:00:00 2001 From: AlexGarS73 Date: Wed, 4 Mar 2026 10:18:15 +0100 Subject: [PATCH 20/22] [MIG] report_qweb_parameter: Migration to 19.0 --- report_qweb_parameter/README.rst | 14 ++- report_qweb_parameter/__manifest__.py | 3 +- .../demo/test_report_field_length.xml | 67 ----------- report_qweb_parameter/readme/CONTRIBUTORS.md | 4 + .../static/description/index.html | 13 ++- .../tests/test_report_qweb_parameter.py | 104 +++++++++++++++--- 6 files changed, 112 insertions(+), 93 deletions(-) delete mode 100644 report_qweb_parameter/demo/test_report_field_length.xml diff --git a/report_qweb_parameter/README.rst b/report_qweb_parameter/README.rst index 42f12aa271..d3a4b66474 100644 --- a/report_qweb_parameter/README.rst +++ b/report_qweb_parameter/README.rst @@ -21,13 +21,13 @@ Report QWeb Parameter :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github - :target: https://github.com/OCA/reporting-engine/tree/18.0/report_qweb_parameter + :target: https://github.com/OCA/reporting-engine/tree/19.0/report_qweb_parameter :alt: OCA/reporting-engine .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/reporting-engine-18-0/reporting-engine-18-0-report_qweb_parameter + :target: https://translation.odoo-community.org/projects/reporting-engine-19-0/reporting-engine-19-0-report_qweb_parameter :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/reporting-engine&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -61,7 +61,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. @@ -88,6 +88,10 @@ Contributors - Valentin Vinagre +- `Studio73 `__: + + - Alex Garcia + Maintainers ----------- @@ -101,6 +105,6 @@ 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/reporting-engine `_ project on GitHub. +This module is part of the `OCA/reporting-engine `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py index c2e0741860..71e1c82025 100644 --- a/report_qweb_parameter/__manifest__.py +++ b/report_qweb_parameter/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Report QWeb Parameter", - "version": "18.0.1.0.0", + "version": "19.0.1.0.0", "license": "AGPL-3", "summary": """ Add new parameters for qweb templates in order to reduce field length @@ -13,6 +13,5 @@ "website": "https://github.com/OCA/reporting-engine", "category": "Technical Settings", "depends": ["web"], - "demo": ["demo/test_report_field_length.xml"], "installable": True, } diff --git a/report_qweb_parameter/demo/test_report_field_length.xml b/report_qweb_parameter/demo/test_report_field_length.xml deleted file mode 100644 index ba0cfe4ed4..0000000000 --- a/report_qweb_parameter/demo/test_report_field_length.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - Length Report - res.company - qweb-html - report_qweb_parameter.test_report_length - - - diff --git a/report_qweb_parameter/readme/CONTRIBUTORS.md b/report_qweb_parameter/readme/CONTRIBUTORS.md index 1d7b025dd6..8193eaf75c 100644 --- a/report_qweb_parameter/readme/CONTRIBUTORS.md +++ b/report_qweb_parameter/readme/CONTRIBUTORS.md @@ -9,3 +9,7 @@ - [Sygel Technology](https://www.sygel.es): > - Valentin Vinagre + +- [Studio73](https://www.studio73.es): + + > - Alex Garcia diff --git a/report_qweb_parameter/static/description/index.html b/report_qweb_parameter/static/description/index.html index 630be4a141..458e94cba0 100644 --- a/report_qweb_parameter/static/description/index.html +++ b/report_qweb_parameter/static/description/index.html @@ -374,7 +374,7 @@

Report QWeb Parameter

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:ed0bcdb6b645a340d55224826deb94367c4596a1f5fed4011149c6ea0d925ef9 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runboat

This module allows you to add new parameters on QWeb reports. Currently, we have defined a field maximum on a report and a validation of maximal and minimal size. It is useful on xml reports in order to validate @@ -411,7 +411,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.

@@ -443,6 +443,13 @@

Contributors

+
  • Studio73:

    +
    +
      +
    • Alex Garcia
    • +
    +
    +
  • @@ -454,7 +461,7 @@

    Maintainers

    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/reporting-engine project on GitHub.

    +

    This module is part of the OCA/reporting-engine project on GitHub.

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

    diff --git a/report_qweb_parameter/tests/test_report_qweb_parameter.py b/report_qweb_parameter/tests/test_report_qweb_parameter.py index 7468252006..9dfae5eae4 100644 --- a/report_qweb_parameter/tests/test_report_qweb_parameter.py +++ b/report_qweb_parameter/tests/test_report_qweb_parameter.py @@ -3,16 +3,88 @@ import xml.etree.ElementTree as ET +from odoo.exceptions import ValidationError from odoo.tests import common -from odoo.addons.base.models.ir_qweb import QWebException - class TestReportQWebParameter(common.TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.report_name = "test_report_length" + cls.full_report_name = f"report_qweb_parameter.{cls.report_name}" + cls.view = cls.env["ir.ui.view"].create( + { + "name": cls.report_name, + "type": "qweb", + "arch": """ + +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • + + """, + } + ) + cls.report = cls.env["ir.actions.report"].create( + { + "name": "Length Report", + "model": "res.company", + "report_type": "qweb-html", + "report_name": cls.full_report_name, + } + ) + cls.env["ir.model.data"].create( + [ + { + "module": "report_qweb_parameter", + "name": cls.report_name, + "model": "ir.ui.view", + "res_id": cls.view.id, + }, + { + "module": "report_qweb_parameter", + "name": "test_report_length_report", + "model": "ir.actions.report", + "res_id": cls.report.id, + }, + ] + ) + def test_qweb_parameter(self): - report_name = "report_qweb_parameter.test_report_length" - report_obj = self.env["ir.actions.report"] - report_object = report_obj docs = self.env["res.company"].create( { "name": "Test company", @@ -21,8 +93,8 @@ def test_qweb_parameter(self): "company_registry": "1234567890", } ) - docs.website = "1234567890" # for avoding that Odoo adds http:// - rep = report_object._render(report_name, docs.ids, False) + docs.website = "1234567890" + rep = self.report._render(self.full_report_name, docs.ids, False) root = ET.fromstring(rep[0]) # test length @@ -30,21 +102,21 @@ def test_qweb_parameter(self): self.assertEqual(root[3].text, "1234567890") self.assertEqual(root[6].text, "1234567890") - # test condicional length + # test conditional length self.assertEqual(root[1].text, "Tes") self.assertEqual(root[4].text, "Test") self.assertEqual(root[7].text, "Test ") # test maxlength docs.update({"street": "123456789"}) - with self.assertRaises(QWebException): - report_object._render(report_name, docs.ids, False) + with self.assertRaises(ValidationError): + self.report._render(self.full_report_name, docs.ids, False) docs.update({"street": "1234567890", "vat": "123456789"}) - with self.assertRaises(QWebException): - report_object._render(report_name, docs.ids, False) + with self.assertRaises(ValidationError): + self.report._render(self.full_report_name, docs.ids, False) docs.update({"vat": "1234567890", "website": "12345678901"}) - with self.assertRaises(QWebException): - report_object._render(report_name, docs.ids, False) + with self.assertRaises(ValidationError): + self.report._render(self.full_report_name, docs.ids, False) docs.update({"website": "1234567890", "company_registry": "12345678901"}) - with self.assertRaises(QWebException): - report_object._render(report_name, docs.ids, False) + with self.assertRaises(ValidationError): + self.report._render(self.full_report_name, docs.ids, False) From 6db9caf8aaef06ec74160d19d5863bcfed47c984 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 10 Mar 2026 07:12:30 +0000 Subject: [PATCH 21/22] [UPD] Update report_qweb_parameter.pot --- report_qweb_parameter/i18n/report_qweb_parameter.pot | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/report_qweb_parameter/i18n/report_qweb_parameter.pot b/report_qweb_parameter/i18n/report_qweb_parameter.pot index 4cdaf62335..2dce6c0a01 100644 --- a/report_qweb_parameter/i18n/report_qweb_parameter.pot +++ b/report_qweb_parameter/i18n/report_qweb_parameter.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 18.0\n" +"Project-Id-Version: Odoo Server 19.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -14,8 +14,13 @@ msgstr "" "Plural-Forms: \n" #. module: report_qweb_parameter -#: model:ir.actions.report,name:report_qweb_parameter.test_report_length_report_id -msgid "Length Report" +#: model:ir.model.fields,field_description:report_qweb_parameter.field_ir_qweb__display_name +msgid "Display Name" +msgstr "" + +#. module: report_qweb_parameter +#: model:ir.model.fields,field_description:report_qweb_parameter.field_ir_qweb__id +msgid "ID" msgstr "" #. module: report_qweb_parameter From da43a7706b7c6ccfc88b5f8c4ac2936c94df803b Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 10 Mar 2026 07:14:28 +0000 Subject: [PATCH 22/22] [BOT] post-merge updates --- README.md | 1 + report_qweb_parameter/README.rst | 2 +- report_qweb_parameter/static/description/index.html | 2 +- setup/_metapackage/pyproject.toml | 3 ++- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b40947d601..ec7a258a4c 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ addon | version | maintainers | summary [bi_sql_editor](bi_sql_editor/) | 19.0.1.0.1 | legalsylvain | BI Views builder, based on Materialized or Normal SQL Views [report_csv](report_csv/) | 19.0.1.0.0 | | Base module to create csv report [report_qweb_element_page_visibility](report_qweb_element_page_visibility/) | 19.0.1.0.0 | | Report Qweb Element Page Visibility +[report_qweb_parameter](report_qweb_parameter/) | 19.0.1.0.0 | | Add new parameters for qweb templates in order to reduce field length and check minimal length [report_xlsx](report_xlsx/) | 19.0.1.0.2 | | Base module to create xlsx report [report_xlsx_helper](report_xlsx_helper/) | 19.0.1.0.0 | | Report xlsx helpers [report_xml](report_xml/) | 19.0.1.0.0 | | Allow to generate XML reports diff --git a/report_qweb_parameter/README.rst b/report_qweb_parameter/README.rst index d3a4b66474..3c4acc33b5 100644 --- a/report_qweb_parameter/README.rst +++ b/report_qweb_parameter/README.rst @@ -11,7 +11,7 @@ Report QWeb Parameter !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:ed0bcdb6b645a340d55224826deb94367c4596a1f5fed4011149c6ea0d925ef9 + !! source digest: sha256:4812e6abcc51899cc56548ab26a64b3f151c6a847a99f732c5f4deddeff326f7 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/report_qweb_parameter/static/description/index.html b/report_qweb_parameter/static/description/index.html index 458e94cba0..e0a97a4bdc 100644 --- a/report_qweb_parameter/static/description/index.html +++ b/report_qweb_parameter/static/description/index.html @@ -372,7 +372,7 @@

    Report QWeb Parameter

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:ed0bcdb6b645a340d55224826deb94367c4596a1f5fed4011149c6ea0d925ef9 +!! source digest: sha256:4812e6abcc51899cc56548ab26a64b3f151c6a847a99f732c5f4deddeff326f7 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Beta License: AGPL-3 OCA/reporting-engine Translate me on Weblate Try me on Runboat

    This module allows you to add new parameters on QWeb reports. Currently, diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index 4ac09e74b5..37ecc88bda 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -1,10 +1,11 @@ [project] name = "odoo-addons-oca-reporting-engine" -version = "19.0.20260304.0" +version = "19.0.20260310.0" dependencies = [ "odoo-addon-bi_sql_editor==19.0.*", "odoo-addon-report_csv==19.0.*", "odoo-addon-report_qweb_element_page_visibility==19.0.*", + "odoo-addon-report_qweb_parameter==19.0.*", "odoo-addon-report_xlsx==19.0.*", "odoo-addon-report_xlsx_helper==19.0.*", "odoo-addon-report_xml==19.0.*",