From 8dbe86c3b881c97ad8e8743c5d9dba4373e758e7 Mon Sep 17 00:00:00 2001
From: etobella
Date: Mon, 26 Jun 2017 16:19:58 +0200
Subject: [PATCH 01/25] [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 000000000..261adc786
--- /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 000000000..ec50cfc0f
--- /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 000000000..99741eb7f
--- /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 000000000..2b3d92f3d
--- /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 000000000..6b04fd254
--- /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 000000000..7042198cb
--- /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 000000000..e4695dbf5
--- /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 000000000..70251161e
--- /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 b19b05638cb3814cc95d6c2761c61d9984bf388a Mon Sep 17 00:00:00 2001
From: Enric Tobella
Date: Fri, 6 Oct 2017 12:35:06 +0200
Subject: [PATCH 02/25] [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 261adc786..e36594335 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 ec50cfc0f..b44d76594 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 99741eb7f..1d8d7060a 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 2b3d92f3d..2b1274317 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 000000000..6c5c6bcfc
--- /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 000000000..01f6a6b0c
--- /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 6b04fd254..dd58c12a5 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 7042198cb..67e80044e 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 e4695dbf5..e6422248c 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 70251161e..510770ab3 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 @@ 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'
+ 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 f0c37ddc73ebcbb9dcb32100fd8d882a2cdbb7c1 Mon Sep 17 00:00:00 2001
From: Efren
Date: Fri, 21 Jun 2019 11:19:27 +0100
Subject: [PATCH 03/25] [MIG] report_qweb_parameter: Migration to 12.0
---
report_qweb_parameter/tests/test_report_qweb_parameter.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/report_qweb_parameter/tests/test_report_qweb_parameter.py b/report_qweb_parameter/tests/test_report_qweb_parameter.py
index 510770ab3..df61faceb 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 a0b2063ec8a24602e01f516400133c753ec30f30 Mon Sep 17 00:00:00 2001
From: InfinityLoop
Date: Tue, 25 Jun 2019 11:02:08 +0100
Subject: [PATCH 04/25] Version in manifest changed
---
report_qweb_parameter/__manifest__.py | 2 +-
report_qweb_parameter/i18n/fr.po | 7 +++++--
report_qweb_parameter/i18n/report_qweb_parameter.pot | 4 ++--
3 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py
index 1d8d7060a..28904594a 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 6c5c6bcfc..45bad8757 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/report_qweb_parameter.pot b/report_qweb_parameter/i18n/report_qweb_parameter.pot
index 01f6a6b0c..e886e30cb 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 ""
From 04a0777edbd634859696fc2ea7e6b1f615f8b13d Mon Sep 17 00:00:00 2001
From: Pedro Castro Silva
Date: Wed, 14 Aug 2019 10:48:46 +0000
Subject: [PATCH 05/25] Added translation using Weblate (Portuguese)
---
report_qweb_parameter/i18n/pt.po | 37 ++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
create mode 100644 report_qweb_parameter/i18n/pt.po
diff --git a/report_qweb_parameter/i18n/pt.po b/report_qweb_parameter/i18n/pt.po
new file mode 100644
index 000000000..c80563703
--- /dev/null
+++ b/report_qweb_parameter/i18n/pt.po
@@ -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 12.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\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"
+
+#. 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 "Qweb"
+msgstr ""
From 2f8d82e581f786ea1ba23dca82fc96a29673ab55 Mon Sep 17 00:00:00 2001
From: Pedro Castro Silva
Date: Wed, 14 Aug 2019 10:49:19 +0000
Subject: [PATCH 06/25] Translated using Weblate (Portuguese)
Currently translated at 75.0% (3 of 4 strings)
Translation: reporting-engine-12.0/reporting-engine-12.0-report_qweb_parameter
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-12-0/reporting-engine-12-0-report_qweb_parameter/pt/
---
report_qweb_parameter/i18n/pt.po | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/report_qweb_parameter/i18n/pt.po b/report_qweb_parameter/i18n/pt.po
index c80563703..b7e6a113e 100644
--- a/report_qweb_parameter/i18n/pt.po
+++ b/report_qweb_parameter/i18n/pt.po
@@ -6,30 +6,32 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
-"Last-Translator: Automatically generated\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 ""
+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 ""
+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 ""
+msgstr "Comprimento não pode ser inferior a %s"
#. module: report_qweb_parameter
#: model:ir.model,name:report_qweb_parameter.model_ir_qweb
From f3d51eade4c59b3132464748aa4edcb00abf05e2 Mon Sep 17 00:00:00 2001
From: "Pedro M. Baeza"
Date: Mon, 13 Apr 2020 19:02:39 +0200
Subject: [PATCH 07/25] [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 df61faceb..77e2b7548 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 @@ class TestReportQWebParameter(common.TransactionCase):
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 @@ class TestReportQWebParameter(common.TransactionCase):
{'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 d8c78be7e00b6cc9b0db6208cbdc4cbea9b77d3c Mon Sep 17 00:00:00 2001
From: Carlos Roca
Date: Wed, 28 Oct 2020 09:24:25 +0100
Subject: [PATCH 08/25] [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 b44d76594..31660d6a9 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 28904594a..ec86cd924 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 2b1274317..f52936162 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 dd58c12a5..3abf9999a 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 67e80044e..5d110acfb 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 e6422248c..62db47d0f 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 77e2b7548..82ae74585 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 35aa0b314d6581bc4bd0680a910b9af543ed41c5 Mon Sep 17 00:00:00 2001
From: Carlos Roca
Date: Wed, 28 Oct 2020 10:23:07 +0100
Subject: [PATCH 09/25] [MIG] report_qweb_parameter: Migration to v13
---
report_qweb_parameter/README.rst | 70 ++-
report_qweb_parameter/__manifest__.py | 4 +-
report_qweb_parameter/i18n/es.po | 40 ++
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 | 443 ++++++++++++++++++
8 files changed, 554 insertions(+), 30 deletions(-)
create mode 100644 report_qweb_parameter/i18n/es.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 e36594335..de4169f3f 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,47 @@ 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
+* Tecnativa
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 ec86cd924..d8e5dc6c6 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 000000000..62e1dbd70
--- /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"
+"Language-Team: \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"
+"POT-Creation-Date: \n"
+"PO-Revision-Date: \n"
+"X-Generator: Poedit 2.0.6\n"
+"Last-Translator: Carlos \n"
+"Language: es\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:16
+#, 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:19
+#, 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/models/ir_qweb.py b/report_qweb_parameter/models/ir_qweb.py
index 5d110acfb..51e9dfc36 100644
--- a/report_qweb_parameter/models/ir_qweb.py
+++ b/report_qweb_parameter/models/ir_qweb.py
@@ -30,9 +30,9 @@ class IrQWeb(models.AbstractModel):
+ ")"
)
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 @@ class IrQWeb(models.AbstractModel):
+ ")"
)
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 000000000..f2b5eb2e7
--- /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 000000000..a738afa66
--- /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 000000000..80469d005
--- /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 000000000..31e2fa652
--- /dev/null
+++ b/report_qweb_parameter/static/description/index.html
@@ -0,0 +1,443 @@
+
+
+
+
+
+
+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.
+
+
+
+
+
+
+- Creu Blanca
+- Tecnativa
+
+
+
+
+
+
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 96c4ebea2e6b27167cd58cec4bea1ba4a69a715a Mon Sep 17 00:00:00 2001
From: oca-travis
Date: Wed, 18 Nov 2020 08:16:15 +0000
Subject: [PATCH 10/25] [UPD] Update report_qweb_parameter.pot
---
report_qweb_parameter/i18n/report_qweb_parameter.pot | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/report_qweb_parameter/i18n/report_qweb_parameter.pot b/report_qweb_parameter/i18n/report_qweb_parameter.pot
index e886e30cb..4df2be043 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 ""
-
From 03b8caaa40a49145b71f96b492052489233db1b0 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Wed, 18 Nov 2020 08:23:58 +0000
Subject: [PATCH 11/25] [UPD] README.rst
---
report_qweb_parameter/README.rst | 1 -
report_qweb_parameter/static/description/index.html | 1 -
2 files changed, 2 deletions(-)
diff --git a/report_qweb_parameter/README.rst b/report_qweb_parameter/README.rst
index de4169f3f..47807da32 100644
--- a/report_qweb_parameter/README.rst
+++ b/report_qweb_parameter/README.rst
@@ -62,7 +62,6 @@ Authors
~~~~~~~
* Creu Blanca
-* Tecnativa
Contributors
~~~~~~~~~~~~
diff --git a/report_qweb_parameter/static/description/index.html b/report_qweb_parameter/static/description/index.html
index 31e2fa652..aac51e791 100644
--- a/report_qweb_parameter/static/description/index.html
+++ b/report_qweb_parameter/static/description/index.html
@@ -410,7 +410,6 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
From fcbdb7fc72d981b6772bae8d6802a8f017f5c81d Mon Sep 17 00:00:00 2001
From: Alessandro Fiorino
Date: Fri, 20 Nov 2020 21:14:26 +0000
Subject: [PATCH 12/25] Added translation using Weblate (Italian)
---
report_qweb_parameter/i18n/it.po | 37 ++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
create mode 100644 report_qweb_parameter/i18n/it.po
diff --git a/report_qweb_parameter/i18n/it.po b/report_qweb_parameter/i18n/it.po
new file mode 100644
index 000000000..01be812d3
--- /dev/null
+++ b/report_qweb_parameter/i18n/it.po
@@ -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 13.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#. module: 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:0
+#, python-format
+msgid "Length cannot be less than %s"
+msgstr ""
+
+#. module: report_qweb_parameter
+#: code:addons/report_qweb_parameter/models/ir_qweb.py:0
+#, 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 "Qweb"
+msgstr ""
From d7860fb1018e0923fc6cbaf41f1faff1939d3c49 Mon Sep 17 00:00:00 2001
From: Alessandro Fiorino
Date: Fri, 20 Nov 2020 21:14:42 +0000
Subject: [PATCH 13/25] Translated using Weblate (Italian)
Currently translated at 100.0% (4 of 4 strings)
Translation: reporting-engine-13.0/reporting-engine-13.0-report_qweb_parameter
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-13-0/reporting-engine-13-0-report_qweb_parameter/it/
---
report_qweb_parameter/i18n/it.po | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/report_qweb_parameter/i18n/it.po b/report_qweb_parameter/i18n/it.po
index 01be812d3..868bc8c17 100644
--- a/report_qweb_parameter/i18n/it.po
+++ b/report_qweb_parameter/i18n/it.po
@@ -6,32 +6,34 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
-"Last-Translator: Automatically generated\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 ""
+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 ""
+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 ""
+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 ""
+msgstr "Qweb"
From ccce9cda4d1e6c10741124f227492cb101d9ff75 Mon Sep 17 00:00:00 2001
From: OCA Transbot
Date: Sat, 28 Nov 2020 11:04:11 +0000
Subject: [PATCH 14/25] Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: reporting-engine-13.0/reporting-engine-13.0-report_qweb_parameter
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-13-0/reporting-engine-13-0-report_qweb_parameter/
---
report_qweb_parameter/i18n/es.po | 12 ++++++------
report_qweb_parameter/i18n/fr.po | 4 ++--
report_qweb_parameter/i18n/pt.po | 6 +++---
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/report_qweb_parameter/i18n/es.po b/report_qweb_parameter/i18n/es.po
index 62e1dbd70..7cc1952b8 100644
--- a/report_qweb_parameter/i18n/es.po
+++ b/report_qweb_parameter/i18n/es.po
@@ -6,16 +6,16 @@ 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"
-"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
"X-Generator: Poedit 2.0.6\n"
-"Last-Translator: Carlos \n"
-"Language: es\n"
#. module: report_qweb_parameter
#: model:ir.actions.report,name:report_qweb_parameter.test_report_length_report_id
@@ -23,13 +23,13 @@ msgid "Length Report"
msgstr "Longitud del informe"
#. 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 longitud no puede ser menor 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 "La longitud no puede ser mayor a %s"
diff --git a/report_qweb_parameter/i18n/fr.po b/report_qweb_parameter/i18n/fr.po
index 45bad8757..5cc910830 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/pt.po b/report_qweb_parameter/i18n/pt.po
index b7e6a113e..0be7522a2 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"
From 6e5c2d17dff55e591b6082806c18d0c8d459c366 Mon Sep 17 00:00:00 2001
From: Francisco Ivan Anton Prieto
Date: Tue, 26 Jan 2021 18:33:21 +0100
Subject: [PATCH 15/25] [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 d8e5dc6c6..404438e14 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 110884f9b2a464a9fd68d3dc784155368dab6fb9 Mon Sep 17 00:00:00 2001
From: Francisco Ivan Anton Prieto
Date: Tue, 26 Jan 2021 18:50:03 +0100
Subject: [PATCH 16/25] [MIG] report_qweb_parameter: Migration to 14.0
---
report_qweb_parameter/README.rst | 2 ++
report_qweb_parameter/__manifest__.py | 2 +-
.../demo/test_report_field_length.xml | 13 ++++++-------
report_qweb_parameter/readme/CONTRIBUTORS.rst | 2 ++
.../tests/test_report_qweb_parameter.py | 10 +++++-----
5 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/report_qweb_parameter/README.rst b/report_qweb_parameter/README.rst
index 47807da32..6b350489f 100644
--- a/report_qweb_parameter/README.rst
+++ b/report_qweb_parameter/README.rst
@@ -72,6 +72,8 @@ Contributors
* Carlos Roca
+* Iván Antón
+
Maintainers
~~~~~~~~~~~
diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py
index 404438e14..365b59514 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 f52936162..f76b10ae9 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/tests/test_report_qweb_parameter.py b/report_qweb_parameter/tests/test_report_qweb_parameter.py
index 82ae74585..6455a9742 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 @@ class TestReportQWebParameter(common.TransactionCase):
}
)
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 e47f10b601c2e0d032d7046badb1af00b5df9478 Mon Sep 17 00:00:00 2001
From: oca-travis
Date: Wed, 26 May 2021 10:05:22 +0000
Subject: [PATCH 17/25] [UPD] Update report_qweb_parameter.pot
---
.../i18n/report_qweb_parameter.pot | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/report_qweb_parameter/i18n/report_qweb_parameter.pot b/report_qweb_parameter/i18n/report_qweb_parameter.pot
index 4df2be043..cb6e012e1 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 13.0\n"
+"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -13,6 +13,21 @@ 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"
From 9e08606d099f762560b8422712bb747b1b04518d Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Wed, 26 May 2021 10:28:36 +0000
Subject: [PATCH 18/25] [UPD] README.rst
---
report_qweb_parameter/README.rst | 10 +++++-----
report_qweb_parameter/static/description/index.html | 8 +++++---
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/report_qweb_parameter/README.rst b/report_qweb_parameter/README.rst
index 6b350489f..d428be6d7 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.
@@ -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/static/description/index.html b/report_qweb_parameter/static/description/index.html
index aac51e791..45331445f 100644
--- a/report_qweb_parameter/static/description/index.html
+++ b/report_qweb_parameter/static/description/index.html
@@ -367,7 +367,7 @@ ul.auto-toc {
!! 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 @@ length and format must be validated in several fields in order to send an invoic
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.
@@ -424,6 +424,8 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
+
Iván Antón <ozono@ozonomultimedia.com>
+
@@ -433,7 +435,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
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 8d26eafc6c629da065fd4d9c0f6cedae3cafbaad 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 19/25] [MIG] report_qweb_parameter: Migration to 15.0
---
report_qweb_parameter/__manifest__.py | 2 +-
report_qweb_parameter/models/ir_qweb.py | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py
index 365b59514..0b57c29d8 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/models/ir_qweb.py b/report_qweb_parameter/models/ir_qweb.py
index 51e9dfc36..348ac97b2 100644
--- a/report_qweb_parameter/models/ir_qweb.py
+++ b/report_qweb_parameter/models/ir_qweb.py
@@ -16,7 +16,7 @@ class IrQWeb(models.AbstractModel):
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 @@ class IrQWeb(models.AbstractModel):
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 @@ class IrQWeb(models.AbstractModel):
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)
From 2f9d2d0f54b016fe75216bc86ef71c6b4b2988f9 Mon Sep 17 00:00:00 2001
From: oca-ci
Date: Fri, 4 Mar 2022 07:31:39 +0000
Subject: [PATCH 20/25] [UPD] Update report_qweb_parameter.pot
---
.../i18n/report_qweb_parameter.pot | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)
diff --git a/report_qweb_parameter/i18n/report_qweb_parameter.pot b/report_qweb_parameter/i18n/report_qweb_parameter.pot
index cb6e012e1..bc9d5c911 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"
From 2ea76a9556e08d105a4a7ee14d30a1ff78e0a130 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Fri, 4 Mar 2022 07:33:50 +0000
Subject: [PATCH 21/25] [UPD] README.rst
---
report_qweb_parameter/README.rst | 10 +++++-----
report_qweb_parameter/static/description/index.html | 6 +++---
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/report_qweb_parameter/README.rst b/report_qweb_parameter/README.rst
index d428be6d7..561eb8664 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/static/description/index.html b/report_qweb_parameter/static/description/index.html
index 45331445f..1cc8d45e8 100644
--- a/report_qweb_parameter/static/description/index.html
+++ b/report_qweb_parameter/static/description/index.html
@@ -367,7 +367,7 @@ ul.auto-toc {
!! 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 @@ length and format must be validated in several fields in order to send an invoic
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 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
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 84d67f24a9a677e4c42c94a43ebda63959d63f8f Mon Sep 17 00:00:00 2001
From: jabelchi
Date: Wed, 15 Jun 2022 15:18:52 +0000
Subject: [PATCH 22/25] Added translation using Weblate (Catalan)
---
report_qweb_parameter/i18n/ca.po | 37 ++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
create mode 100644 report_qweb_parameter/i18n/ca.po
diff --git a/report_qweb_parameter/i18n/ca.po b/report_qweb_parameter/i18n/ca.po
new file mode 100644
index 000000000..178099207
--- /dev/null
+++ b/report_qweb_parameter/i18n/ca.po
@@ -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 15.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\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"
+
+#. 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:0
+#, python-format
+msgid "Length cannot be less than %s"
+msgstr ""
+
+#. module: report_qweb_parameter
+#: code:addons/report_qweb_parameter/models/ir_qweb.py:0
+#, 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 "Qweb"
+msgstr ""
From 21cdd4e6832e6d6d39ea611d1ee76029be50ab03 Mon Sep 17 00:00:00 2001
From: jabelchi
Date: Wed, 15 Jun 2022 15:20:30 +0000
Subject: [PATCH 23/25] Translated using Weblate (Catalan)
Currently translated at 100.0% (4 of 4 strings)
Translation: reporting-engine-15.0/reporting-engine-15.0-report_qweb_parameter
Translate-URL: https://translation.odoo-community.org/projects/reporting-engine-15-0/reporting-engine-15-0-report_qweb_parameter/ca/
---
report_qweb_parameter/i18n/ca.po | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/report_qweb_parameter/i18n/ca.po b/report_qweb_parameter/i18n/ca.po
index 178099207..f549b17fe 100644
--- a/report_qweb_parameter/i18n/ca.po
+++ b/report_qweb_parameter/i18n/ca.po
@@ -6,32 +6,34 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
-"Last-Translator: Automatically generated\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 ""
+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 ""
+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 ""
+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 ""
+msgstr "Qweb"
From 2a81bda49c75f9e47c4ae9af23e8f6145029390b Mon Sep 17 00:00:00 2001
From: David Ramia
Date: Mon, 2 Jan 2023 12:11:49 +0100
Subject: [PATCH 24/25] [IMP] report_qweb_parameter: pre-commit stuff
---
.../report_qweb_parameter/odoo/addons/report_qweb_parameter | 1 +
setup/report_qweb_parameter/setup.py | 6 ++++++
2 files changed, 7 insertions(+)
create mode 120000 setup/report_qweb_parameter/odoo/addons/report_qweb_parameter
create mode 100644 setup/report_qweb_parameter/setup.py
diff --git a/setup/report_qweb_parameter/odoo/addons/report_qweb_parameter b/setup/report_qweb_parameter/odoo/addons/report_qweb_parameter
new file mode 120000
index 000000000..42c9fd265
--- /dev/null
+++ b/setup/report_qweb_parameter/odoo/addons/report_qweb_parameter
@@ -0,0 +1 @@
+../../../../report_qweb_parameter
\ No newline at end of file
diff --git a/setup/report_qweb_parameter/setup.py b/setup/report_qweb_parameter/setup.py
new file mode 100644
index 000000000..e7b43cf42
--- /dev/null
+++ b/setup/report_qweb_parameter/setup.py
@@ -0,0 +1,6 @@
+import setuptools
+
+setuptools.setup(
+ setup_requires=['setuptools-odoo'],
+ odoo_addon=True,
+)
From f9b7ae5afab8084c204878cefeb744624ce9b725 Mon Sep 17 00:00:00 2001
From: David Ramia
Date: Wed, 26 Oct 2022 21:53:47 +0200
Subject: [PATCH 25/25] [MIG] report_qweb_parameter: Migration to 16.0
---
report_qweb_parameter/__manifest__.py | 2 +-
.../demo/test_report_field_length.xml | 13 +++++++++
report_qweb_parameter/models/ir_qweb.py | 27 ++++++++++++++++---
.../tests/test_report_qweb_parameter.py | 15 ++++++-----
4 files changed, 45 insertions(+), 12 deletions(-)
diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py
index 0b57c29d8..f12365bf7 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 f76b10ae9..d786acce7 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/models/ir_qweb.py b/report_qweb_parameter/models/ir_qweb.py
index 348ac97b2..b763d3183 100644
--- a/report_qweb_parameter/models/ir_qweb.py
+++ b/report_qweb_parameter/models/ir_qweb.py
@@ -16,7 +16,7 @@ class IrQWeb(models.AbstractModel):
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 @@ class IrQWeb(models.AbstractModel):
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 @@ class IrQWeb(models.AbstractModel):
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/tests/test_report_qweb_parameter.py b/report_qweb_parameter/tests/test_report_qweb_parameter.py
index 6455a9742..19dd76c8a 100644
--- a/report_qweb_parameter/tests/test_report_qweb_parameter.py
+++ b/report_qweb_parameter/tests/test_report_qweb_parameter.py
@@ -5,14 +5,14 @@ import xml.etree.ElementTree as ET
from odoo.tests import common
-from odoo.addons.base.models.qweb import QWebException
+from odoo.addons.base.models.ir_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_object = report_obj._get_report_from_name(report_name)
+ report_object = report_obj
docs = self.env["res.company"].create(
{
"name": "Test company",
@@ -22,19 +22,20 @@ class TestReportQWebParameter(common.TransactionCase):
}
)
docs.website = "1234567890" # for avoding that Odoo adds http://
- rep = report_object._render(docs.ids, False)
+ rep = report_object._render(report_name, docs.ids, False)
root = ET.fromstring(rep[0])
self.assertEqual(root[0].text, "1234567890")
self.assertEqual(root[2].text, "1234567890")
+ self.assertEqual(root[4].text, "1234567890")
docs.update({"street": "123456789"})
with self.assertRaises(QWebException):
- report_object._render(docs.ids, False)
+ report_object._render(report_name, docs.ids, False)
docs.update({"street": "1234567890", "vat": "123456789"})
with self.assertRaises(QWebException):
- report_object._render(docs.ids, False)
+ report_object._render(report_name, docs.ids, False)
docs.update({"vat": "1234567890", "website": "12345678901"})
with self.assertRaises(QWebException):
- report_object._render(docs.ids, False)
+ report_object._render(report_name, docs.ids, False)
docs.update({"website": "1234567890", "company_registry": "12345678901"})
with self.assertRaises(QWebException):
- report_object._render(docs.ids, False)
+ report_object._render(report_name, docs.ids, False)