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"
/>
-
+
+ t-esc="docs[0].street" t-if="docs[0].street"/>
-
+
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 @@
-
+
-
-
-
-
-
-
+
+
+
+ t-if="docs[0].company_registry"
+ />
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
+
+
+

+
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
+
+
+
+
+- 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
+
+
+
+
+
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.
+
+
+
+
+
+
+
+
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.
+
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
+
`_:
* Carlos Roca
+
+* Iván Antón
diff --git a/report_qweb_parameter/static/description/index.html b/report_qweb_parameter/static/description/index.html
index aac51e791a..45331445f6 100644
--- a/report_qweb_parameter/static/description/index.html
+++ b/report_qweb_parameter/static/description/index.html
@@ -367,7 +367,7 @@ Report QWeb Parameter
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

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.
@@ -401,7 +401,7 @@
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.
@@ -433,7 +435,7 @@
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 82ae745855..6455a97421 100644
--- a/report_qweb_parameter/tests/test_report_qweb_parameter.py
+++ b/report_qweb_parameter/tests/test_report_qweb_parameter.py
@@ -22,19 +22,19 @@ def test_qweb_parameter(self):
}
)
docs.website = "1234567890" # for avoding that Odoo adds http://
- rep = report_object.render(docs.ids, False)
+ 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(docs.ids, False)
+ report_object._render(docs.ids, False)
docs.update({"street": "1234567890", "vat": "123456789"})
with self.assertRaises(QWebException):
- report_object.render(docs.ids, False)
+ report_object._render(docs.ids, False)
docs.update({"vat": "1234567890", "website": "12345678901"})
with self.assertRaises(QWebException):
- report_object.render(docs.ids, False)
+ report_object._render(docs.ids, False)
docs.update({"website": "1234567890", "company_registry": "12345678901"})
with self.assertRaises(QWebException):
- report_object.render(docs.ids, False)
+ report_object._render(docs.ids, False)
From 0276ae7b6960f5bd6cbd0299e1386fb5f14dfa08 Mon Sep 17 00:00:00 2001
From: AlexanderAcysos <100213934+alexanderacysos@users.noreply.github.com>
Date: Tue, 22 Feb 2022 17:15:00 +0100
Subject: [PATCH 09/22] [MIG] report_qweb_parameter: Migration to 15.0
---
report_qweb_parameter/README.rst | 10 ++---
report_qweb_parameter/__manifest__.py | 2 +-
report_qweb_parameter/i18n/ca.po | 39 +++++++++++++++++++
.../i18n/report_qweb_parameter.pot | 17 +-------
report_qweb_parameter/models/ir_qweb.py | 8 ++--
.../static/description/index.html | 6 +--
6 files changed, 53 insertions(+), 29 deletions(-)
create mode 100644 report_qweb_parameter/i18n/ca.po
diff --git a/report_qweb_parameter/README.rst b/report_qweb_parameter/README.rst
index d428be6d7e..561eb86646 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/14.0/report_qweb_parameter
+ :target: https://github.com/OCA/reporting-engine/tree/15.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-14-0/reporting-engine-14-0-report_qweb_parameter
+ :target: https://translation.odoo-community.org/projects/reporting-engine-15-0/reporting-engine-15-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/14.0
+ :target: https://runbot.odoo-community.org/runbot/143/15.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.
@@ -87,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 365b595143..0b57c29d8a 100644
--- a/report_qweb_parameter/__manifest__.py
+++ b/report_qweb_parameter/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Report QWeb Parameter",
- "version": "14.0.1.0.0",
+ "version": "15.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/ca.po b/report_qweb_parameter/i18n/ca.po
new file mode 100644
index 0000000000..f549b17fea
--- /dev/null
+++ b/report_qweb_parameter/i18n/ca.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 15.0\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2022-06-15 18:05+0000\n"
+"Last-Translator: jabelchi \n"
+"Language-Team: none\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.3.2\n"
+
+#. module: report_qweb_parameter
+#: model:ir.actions.report,name:report_qweb_parameter.test_report_length_report_id
+msgid "Length Report"
+msgstr "Longitud de l'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 longitut no pot ser menor que %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 llargada no pot ser més gran que %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/report_qweb_parameter.pot b/report_qweb_parameter/i18n/report_qweb_parameter.pot
index cb6e012e19..bc9d5c911e 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 14.0\n"
+"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -13,21 +13,6 @@ msgstr ""
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
-#. module: report_qweb_parameter
-#: 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
-#: model:ir.model.fields,field_description:report_qweb_parameter.field_ir_qweb____last_update
-msgid "Last Modified on"
-msgstr ""
-
#. module: report_qweb_parameter
#: model:ir.actions.report,name:report_qweb_parameter.test_report_length_report_id
msgid "Length Report"
diff --git a/report_qweb_parameter/models/ir_qweb.py b/report_qweb_parameter/models/ir_qweb.py
index 51e9dfc368..348ac97b2f 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):
+ def _compile_directive_esc(self, el, options, indent):
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,9 @@ def _compile_directive_esc(self, el, options):
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)
+ return super()._compile_directive_esc(el, options, indent)
- def _compile_directive_raw(self, el, options):
+ def _compile_directive_raw(self, el, options, indent):
min_value = el.attrib.pop("t-minlength", False)
max_value = el.attrib.pop("t-maxlength", False)
if min_value or max_value:
@@ -50,4 +50,4 @@ def _compile_directive_raw(self, el, options):
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)
+ return super()._compile_directive_raw(el, options, indent)
diff --git a/report_qweb_parameter/static/description/index.html b/report_qweb_parameter/static/description/index.html
index 45331445f6..1cc8d45e82 100644
--- a/report_qweb_parameter/static/description/index.html
+++ b/report_qweb_parameter/static/description/index.html
@@ -367,7 +367,7 @@ Report QWeb Parameter
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

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.
@@ -401,7 +401,7 @@
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.
@@ -435,7 +435,7 @@
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.
From 6117298b805fc9ad77cb8ab56e726f24f46cf8be Mon Sep 17 00:00:00 2001
From: David Ramia
Date: Wed, 26 Oct 2022 21:53:47 +0200
Subject: [PATCH 10/22] [MIG] report_qweb_parameter: Migration to 16.0
---
report_qweb_parameter/README.rst | 23 +++++-----
report_qweb_parameter/__manifest__.py | 2 +-
.../demo/test_report_field_length.xml | 13 ++++++
report_qweb_parameter/i18n/ca.po | 2 +
report_qweb_parameter/i18n/es.po | 2 +
report_qweb_parameter/i18n/fr.po | 2 +
report_qweb_parameter/i18n/it.po | 2 +
report_qweb_parameter/i18n/pt.po | 2 +
.../i18n/report_qweb_parameter.pot | 4 +-
report_qweb_parameter/models/ir_qweb.py | 27 ++++++++++--
.../static/description/index.html | 42 ++++++++++---------
.../tests/test_report_qweb_parameter.py | 15 +++----
12 files changed, 93 insertions(+), 43 deletions(-)
diff --git a/report_qweb_parameter/README.rst b/report_qweb_parameter/README.rst
index 561eb86646..899c56f9e4 100644
--- a/report_qweb_parameter/README.rst
+++ b/report_qweb_parameter/README.rst
@@ -2,10 +2,13 @@
Report QWeb Parameter
=====================
-.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+..
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! source digest: sha256:6e50557d8d49cab3485b6aa968d1dbc2a8d55f1fd8cdc34b3b269db65edf9693
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
@@ -14,16 +17,16 @@ 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/15.0/report_qweb_parameter
+ :target: https://github.com/OCA/reporting-engine/tree/16.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-15-0/reporting-engine-15-0-report_qweb_parameter
+ :target: https://translation.odoo-community.org/projects/reporting-engine-16-0/reporting-engine-16-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/15.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/reporting-engine&target_branch=16.0
+ :alt: Try me on Runboat
-|badge1| |badge2| |badge3| |badge4| |badge5|
+|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
@@ -50,8 +53,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.
@@ -87,6 +90,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 0b57c29d8a..f12365bf78 100644
--- a/report_qweb_parameter/__manifest__.py
+++ b/report_qweb_parameter/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Report QWeb Parameter",
- "version": "15.0.1.0.0",
+ "version": "16.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 f76b10ae94..d786acce7f 100644
--- a/report_qweb_parameter/demo/test_report_field_length.xml
+++ b/report_qweb_parameter/demo/test_report_field_length.xml
@@ -34,6 +34,19 @@
t-raw="docs[0].company_registry"
t-if="docs[0].company_registry"
/>
+
+
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
+
+
+
+
+
+
-
+
- Add a t-length attribute on report templates fields that will
truncate the field
@@ -401,7 +407,7 @@
-
+
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 @@
Do not contact contributors directly about support or help with technical issues.
-
+
-
+
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.
@@ -451,5 +459,6 @@
+
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
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-

+

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 @@
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.
@@ -454,7 +461,7 @@
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 |
| 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
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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.*",