update all kept modules to OCA 19.0 versions

bi_sql_editor 19.0.1.0.1, report_csv 19.0.1.0.0,
report_qweb_element_page_visibility 19.0.1.0.0,
report_xlsx_helper 19.0.1.0.0, report_xml 19.0.1.0.0,
sql_request_abstract 19.0.1.0.0

🤖 assisted by claude
This commit is contained in:
Ernad Husremovic 2026-03-09 22:24:48 +01:00
parent 05df50b41d
commit c18e7fd4c7
258 changed files with 8677 additions and 6341 deletions

View file

@ -1,3 +1,7 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association
===========
XML Reports
===========
@ -7,94 +11,106 @@ XML Reports
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:e491947bf3954fb138e5655b09ea354d544b745eb63f3cec1d51df4a900595c6
!! source digest: sha256:cdce2748ae7d4f6290504b3091f7dec2136dd8e984cb7f77cd1cc655d87033be
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
.. |badge2| image:: https://img.shields.io/badge/license-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/16.0/report_xml
:target: https://github.com/OCA/reporting-engine/tree/19.0/report_xml
: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-16-0/reporting-engine-16-0-report_xml
:target: https://translation.odoo-community.org/projects/reporting-engine-19-0/reporting-engine-19-0-report_xml
: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=16.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|
This module was written to extend the functionality of the reporting engine to
support XML reports and allow modules to generate them by code or by QWeb
templates.
This module was written to extend the functionality of the reporting
engine to support XML reports and allow modules to generate them by code
or by QWeb templates.
**Table of contents**
.. contents::
:local:
Use Cases / Context
===================
We create this module to allow the system to generate and download XMLs
as reports.
Otherwise, the system can generate XMLs, but will be downloaded as HTML
or PDF.
Installation
============
To install this module, you need to:
* Install lxml_ in Odoo's ``$PYTHONPATH``.
* Install the repository `reporting-engine`_.
- Install `lxml <http://lxml.de/>`__ in Odoo's ``$PYTHONPATH``.
- Install the repository
`reporting-engine <https://github.com/OCA/reporting-engine>`__.
But this module does nothing for the end user by itself, so if you have it
installed it's probably because there is another module that depends on it.
.. _reporting-engine: https://github.com/OCA/reporting-engine
.. _lxml: http://lxml.de/
But this module does nothing for the end user by itself, so if you have
it installed it's probably because there is another module that depends
on it.
Usage
=====
This module is intended as a base engine for other modules to use it, so no direct result if you are a user.
This module is intended as a base engine for other modules to use it, so
no direct result if you are a user.
If you are a developer
~~~~~~~~~~~~~~~~~~~~~~
----------------------
To learn from an example, just check the `demo report`_ on GitHub for
the model ``res.company`` or check it in interface from companies views.
To learn from an example, just check the `demo
report <https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/demo_report.xml>`__
on GitHub for the model ``res.company`` or check it in interface from
companies views.
To develop with this module, you need to:
* Create a module.
* Make it depend on this one.
* Follow `instructions to create reports`_ having in mind that the
``report_type`` field in your ``ir.actions.report`` record must be
``qweb-xml``.
- Create a module.
- Make it depend on this one.
- Follow `instructions to create
reports <https://www.odoo.com/documentation/13.0/reference/reports.html>`__
having in mind that the ``report_type`` field in your
``ir.actions.report`` record must be ``qweb-xml``.
In case you want to create a `custom report`_, the instructions remain the same
as for HTML reports, and the method that you must override is also called
``_get_report_values``, even when this time you are creating a XML report.
In case you want to create a `custom
report <https://www.odoo.com/documentation/13.0/reference/reports.html#custom-reports>`__,
the instructions remain the same as for HTML reports, and the method
that you must override is also called ``_get_report_values``, even when
this time you are creating a XML report.
You can make your custom report inherit ``report.report_xml.abstract``, name
it in such way ``report.<module.report_name>``. Also you can add a XSD file for
report validation into ``xsd_schema`` field of your report (check
`report definition`_) and have XSD automatic checking for
free.
You can make your custom report inherit ``report.report_xml.abstract``,
name it in such way ``report.<module.report_name>``. Also you can add a
XSD file for report validation into ``xsd_schema`` field of your report
(check `report
definition <https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/report.xml>`__)
and have XSD automatic checking for free.
You can customize rendering process and validation way via changing logic of
``generate_report`` and ``validate_report`` methods in your report class.
You can customize rendering process and validation way via changing
logic of ``generate_report`` and ``validate_report`` methods in your
report class.
You can visit ``http://<server-address>/report/xml/<module.report_name>/<ids>``
to see your XML report online as a web page.
You can visit
``http://<server-address>/report/xml/<module.report_name>/<ids>`` to see
your XML report online as a web page.
For further information, please visit:
* https://www.odoo.com/forum/help-1
* https://github.com/OCA/reporting-engine
.. _custom report: https://www.odoo.com/documentation/13.0/reference/reports.html#custom-reports
.. _instructions to create reports: https://www.odoo.com/documentation/13.0/reference/reports.html
.. _demo report: https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/demo_report.xml
.. _report definition: https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/report.xml
- https://www.odoo.com/forum/help-1
- https://github.com/OCA/reporting-engine
Bug Tracker
===========
@ -102,7 +118,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/reporting-engine/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 <https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_xml%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_xml%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
@ -110,28 +126,35 @@ Credits
=======
Authors
~~~~~~~
-------
* Tecnativa
* Avoin.Systems
Contributors
~~~~~~~~~~~~
------------
* Enric Tobella <etobella@creublanca.es>
* `Tecnativa <https://www.tecnativa.com>`_:
* Jairo Llopis
* `Avoin.Systems <https://avoin.systems/>`_:
* Tatiana Deribina
* Iván Antón <ozono@ozonomultimedia.com>
- `Dixmit <https://www.dixmit.com>`__
- Enric Tobella
- `Tecnativa <https://www.tecnativa.com>`__:
- Jairo Llopis
- `Avoin.Systems <https://avoin.systems/>`__:
- Tatiana Deribina
- Iván Antón <ozono@ozonomultimedia.com>
Other credits
~~~~~~~~~~~~~
-------------
* Icon taken from http://commons.wikimedia.org/wiki/File:Text-xml.svg
- Icon taken from http://commons.wikimedia.org/wiki/File:Text-xml.svg
Maintainers
~~~~~~~~~~~
-----------
This module is maintained by the OCA.
@ -143,6 +166,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 <https://github.com/OCA/reporting-engine/tree/16.0/report_xml>`_ project on GitHub.
This module is part of the `OCA/reporting-engine <https://github.com/OCA/reporting-engine/tree/19.0/report_xml>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

@ -2,7 +2,7 @@
# License AGPL-3.0 or later (https://www.gnuorg/licenses/agpl.html).
{
"name": "XML Reports",
"version": "16.0.1.1.2",
"version": "19.0.1.0.0",
"category": "Reporting",
"website": "https://github.com/OCA/reporting-engine",
"development_status": "Production/Stable",

View file

@ -48,12 +48,14 @@ class ReportController(report.ReportController):
return request.make_response(xml, headers=xmlhttpheaders)
@route()
def report_download(self, data, context=None, token=None):
def report_download(self, data, context=None, token=None, readonly=True):
requestcontent = json.loads(data)
url, report_type = requestcontent[0], requestcontent[1]
reportname = "???"
if report_type != "qweb-xml":
return super().report_download(data, context=context, token=token)
return super().report_download(
data, context, token=token, readonly=readonly
)
try:
reportname = url.split("/report/xml/")[1].split("?")[0]
docids = None

View file

@ -1,11 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="demo_xml_report" model="ir.actions.report">
<record id="demo_xml_report" model="ir.actions.report">
<field name="name">Demo xml report</field>
<field name="model">res.company</field>
<field name="report_type">qweb-xml</field>
<field name="report_name">report_xml.demo_report_xml_view</field>
<field name="report_file">res_company</field>
<field name="binding_model_id" ref="base.model_res_company" />
<field name="binding_type">report</field>
<!--
In case of demo data next definition will not work. So it just example
how it should look. If report is a part of demo data you will need

View file

@ -2,10 +2,8 @@
import os
from odoo import SUPERUSER_ID, api
def post_init_hook(cr, registry):
def post_init_hook(env):
"""
Loaded after installing this module, and before the next module starts
installing.
@ -18,11 +16,8 @@ def post_init_hook(cr, registry):
to `xsd_schema` field for demo record only via hook.
Args:
* cr(odoo.sql_db.Cursor) - database cursor.
* registry(odoo.modules.registry.RegistryManager) - a mapping between
model names and model classes.
* env(odoo.api.Environment) - provides access to the models
"""
env = api.Environment(cr, SUPERUSER_ID, {})
report_domain = [
("report_name", "=", "report_xml.demo_report_xml_view") # report tech name
]
@ -32,7 +27,7 @@ def post_init_hook(cr, registry):
xsd_file_relative_path = "demo/demo_report.xsd"
xsd_file_full_path = os.path.join(dir_path, xsd_file_relative_path)
with open(xsd_file_full_path, "r") as xsd:
with open(xsd_file_full_path) as xsd:
# `xsd_schema` is binary fields with an attribute
# `attachment=True` so XSD Schema will be added as attachment
attach_vals = {

View file

@ -1,22 +1,28 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * report_xml
# * report_xml
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: reporting-engine (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"POT-Creation-Date: 2016-09-18 04:34+0000\n"
"PO-Revision-Date: 2016-03-11 15:46+0000\n"
"Last-Translator: <>\n"
"Language-Team: Bosnian (http://www.transifex.com/oca/OCA-reporting-"
"engine-8-0/language/bs/)\n"
"Language: bs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: report_xml
#: model:ir.model,name:report_xml.model_report_report_xml_abstract
msgid "Abstract XML Report"
msgstr "Apstraktni XML izvještaj"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_declaration
@ -28,19 +34,18 @@ msgstr ""
#. module: report_xml
#: model:ir.actions.report,name:report_xml.demo_xml_report
msgid "Demo xml report"
msgstr "Demo XML izvještaj"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_encoding
msgid ""
"Encoding for XML reports. If nothing is selected, then UTF-8 will be "
"applied."
"Encoding for XML reports. If nothing is selected, then UTF-8 will be applied."
msgstr ""
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_extension
msgid "Extension for XML Reports, by default is `xml`"
msgstr "Ekstenzija za XML izvještaje, zadano je `xml`"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xsd_schema
@ -52,12 +57,12 @@ msgstr ""
#. module: report_xml
#: model:ir.model,name:report_xml.model_ir_actions_report
msgid "Report Action"
msgstr "Akcija izvještaja"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__report_type
msgid "Report Type"
msgstr "Tip izvještaja"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__report_type
@ -71,34 +76,43 @@ msgstr ""
#. module: report_xml
#: model:ir.model.fields.selection,name:report_xml.selection__ir_actions_report__xml_encoding__utf-8
msgid "UTF-8"
msgstr "UTF-8"
msgstr ""
#. module: report_xml
#: model:ir.model.fields.selection,name:report_xml.selection__ir_actions_report__report_type__qweb-xml
msgid "XML"
msgstr "XML"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_declaration
msgid "XML Declaration"
msgstr "XML deklaracija"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_encoding
msgid "XML Encoding"
msgstr "XML kodiranje"
msgstr ""
#. module: report_xml
#: model_terms:ir.ui.view,arch_db:report_xml.ir_actions_report_view_form_report_xml
msgid "XML Rreport Settings"
msgstr "Postavke XML izvještaja"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xsd_schema
msgid "XSD Validation Schema"
msgstr "XSD shema za validaciju"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_extension
msgid "Xml Extension"
msgstr "XML ekstenzija"
msgstr ""
#~ msgid "Display Name"
#~ msgstr "Prikaži naziv"
#~ msgid "ID"
#~ msgstr "ID"
#~ msgid "Last Modified on"
#~ msgstr "Zadnje mijenjano"

View file

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-13 02:43+0000\n"
"PO-Revision-Date: 2022-06-15 18:05+0000\n"
"PO-Revision-Date: 2025-10-29 18:42+0000\n"
"Last-Translator: jabelchi <jabelchi@gmail.com>\n"
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n"
"Language: ca\n"
@ -17,7 +17,7 @@ msgstr ""
"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"
"X-Generator: Weblate 5.10.4\n"
#. module: report_xml
#: model:ir.model,name:report_xml.model_report_report_xml_abstract
@ -49,7 +49,7 @@ msgstr ""
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_extension
msgid "Extension for XML Reports, by default is `xml`"
msgstr ""
msgstr "Extensió per a informes XML, per defecte és 'xml'"
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xsd_schema
@ -116,7 +116,7 @@ msgstr "Esquema de validació XSD"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_extension
msgid "Xml Extension"
msgstr ""
msgstr "Extensió XML"
#~ msgid "'Demo xml report'"
#~ msgstr "'Informe XML de demo'"

View file

@ -10,19 +10,20 @@ msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-13 02:43+0000\n"
"PO-Revision-Date: 2017-07-13 02:43+0000\n"
"Last-Translator: Pedro M. Baeza <pedro.baeza@gmail.com>, 2017\n"
"PO-Revision-Date: 2024-02-11 18:35+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"Language: es\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"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: report_xml
#: model:ir.model,name:report_xml.model_report_report_xml_abstract
msgid "Abstract XML Report"
msgstr ""
msgstr "Informe XML Abstracto"
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_declaration
@ -30,22 +31,26 @@ msgid ""
"Add `<?xml encoding=\"...\" version=\"...\"?>` at the start of final report "
"file."
msgstr ""
"Añada `<?xml encoding=\"...\" version=\"...\"?>` al principio del archivo de "
"informe final."
#. module: report_xml
#: model:ir.actions.report,name:report_xml.demo_xml_report
msgid "Demo xml report"
msgstr ""
msgstr "Informe XML de demostración"
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_encoding
msgid ""
"Encoding for XML reports. If nothing is selected, then UTF-8 will be applied."
msgstr ""
"Codificación de los informes XML. Si no se selecciona nada, se aplicará "
"UTF-8."
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_extension
msgid "Extension for XML Reports, by default is `xml`"
msgstr ""
msgstr "Extensión para informes XML, por defecto es `xml`"
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xsd_schema
@ -53,18 +58,18 @@ msgid ""
"File with XSD Schema for checking content of result report. Can be empty if "
"validation is not required."
msgstr ""
"Archivo con el esquema XSD para comprobar el contenido del informe de "
"resultados. Puede estar vacío si no se requiere validación."
#. module: report_xml
#: model:ir.model,name:report_xml.model_ir_actions_report
#, fuzzy
msgid "Report Action"
msgstr "Informe"
msgstr "Informar Acción"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__report_type
#, fuzzy
msgid "Report Type"
msgstr "Informe"
msgstr "Tipo de Informe"
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__report_type
@ -74,42 +79,45 @@ msgid ""
"browser PDF means the report will be rendered using Wkhtmltopdf and "
"downloaded by the user."
msgstr ""
"El tipo de informe que se generará, cada uno con su propio método de "
"generación. HTML significa que el informe se abrirá directamente en el "
"navegador PDF quiere decir que el informe se renderizará utilizando "
"Wkhtmltopdf y será descargado por el usuario."
#. module: report_xml
#: model:ir.model.fields.selection,name:report_xml.selection__ir_actions_report__xml_encoding__utf-8
msgid "UTF-8"
msgstr ""
msgstr "UTF-8"
#. module: report_xml
#: model:ir.model.fields.selection,name:report_xml.selection__ir_actions_report__report_type__qweb-xml
msgid "XML"
msgstr ""
msgstr "XML"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_declaration
msgid "XML Declaration"
msgstr ""
msgstr "Declaración XML"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_encoding
msgid "XML Encoding"
msgstr ""
msgstr "Codificación XML"
#. module: report_xml
#: model_terms:ir.ui.view,arch_db:report_xml.ir_actions_report_view_form_report_xml
#, fuzzy
msgid "XML Rreport Settings"
msgstr "Informe"
msgstr "Configuración de Informes XML"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xsd_schema
msgid "XSD Validation Schema"
msgstr ""
msgstr "Esquema de Validación XSD"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_extension
msgid "Xml Extension"
msgstr ""
msgstr "Extensión Xml"
#, fuzzy
#~ msgid "ir.actions.report"

View file

@ -9,22 +9,20 @@ msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-13 02:43+0000\n"
"PO-Revision-Date: 2024-07-05 19:47+0000\n"
"Last-Translator: rodrigosottomaiormacedo "
"<sottomaiormacedotec@sottomaiormacedo.tech>\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/"
"23907/pt_BR/)\n"
"PO-Revision-Date: 2017-07-13 02:43+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
"teams/23907/pt_BR/)\n"
"Language: pt_BR\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.17\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: report_xml
#: model:ir.model,name:report_xml.model_report_report_xml_abstract
msgid "Abstract XML Report"
msgstr "Relatório XML abstrato"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_declaration
@ -32,26 +30,22 @@ msgid ""
"Add `<?xml encoding=\"...\" version=\"...\"?>` at the start of final report "
"file."
msgstr ""
"Adicione `<?xml encoding=\"...\" version=\"...\"?>` no início do arquivo de "
"relatório final."
#. module: report_xml
#: model:ir.actions.report,name:report_xml.demo_xml_report
msgid "Demo xml report"
msgstr "Relatório xml de demonstração"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_encoding
msgid ""
"Encoding for XML reports. If nothing is selected, then UTF-8 will be applied."
msgstr ""
"Codificação para relatórios XML. Se nada for selecionado, o UTF-8 será "
"aplicado."
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_extension
msgid "Extension for XML Reports, by default is `xml`"
msgstr "Extensão para relatórios XML, por padrão é `xml`"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xsd_schema
@ -59,18 +53,18 @@ msgid ""
"File with XSD Schema for checking content of result report. Can be empty if "
"validation is not required."
msgstr ""
"Arquivo com esquema XSD para verificação do conteúdo do relatório de "
"resultados. Pode estar vazio se a validação não for necessária."
#. module: report_xml
#: model:ir.model,name:report_xml.model_ir_actions_report
#, fuzzy
msgid "Report Action"
msgstr "Ação do Relatório"
msgstr "Relatório"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__report_type
#, fuzzy
msgid "Report Type"
msgstr "Tipo de Relatório"
msgstr "Relatório"
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__report_type
@ -80,42 +74,39 @@ msgid ""
"browser PDF means the report will be rendered using Wkhtmltopdf and "
"downloaded by the user."
msgstr ""
"O tipo de relatório que será renderizado, cada um com seu método de "
"renderização. HTML significa que o relatório será aberto diretamente no seu "
"navegador. PDF significa que o relatório será renderizado usando Wkhtmltopdf "
"e baixado pelo usuário."
#. module: report_xml
#: model:ir.model.fields.selection,name:report_xml.selection__ir_actions_report__xml_encoding__utf-8
msgid "UTF-8"
msgstr "UTF-8"
msgstr ""
#. module: report_xml
#: model:ir.model.fields.selection,name:report_xml.selection__ir_actions_report__report_type__qweb-xml
msgid "XML"
msgstr "XML"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_declaration
msgid "XML Declaration"
msgstr "Declaração XML"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_encoding
msgid "XML Encoding"
msgstr "Codificação XML"
msgstr ""
#. module: report_xml
#: model_terms:ir.ui.view,arch_db:report_xml.ir_actions_report_view_form_report_xml
#, fuzzy
msgid "XML Rreport Settings"
msgstr "Configurações de relatório XML"
msgstr "Relatório"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xsd_schema
msgid "XSD Validation Schema"
msgstr "Esquema de validação XSD"
msgstr ""
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_extension
msgid "Xml Extension"
msgstr "Extensão Xml"
msgstr ""

View file

@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Project-Id-Version: Odoo Server 19.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@ -26,8 +26,9 @@ msgid ""
msgstr ""
#. module: report_xml
#: model:ir.actions.report,name:report_xml.demo_xml_report
msgid "Demo xml report"
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__display_name
#: model:ir.model.fields,field_description:report_xml.field_report_report_xml_abstract__display_name
msgid "Display Name"
msgstr ""
#. module: report_xml
@ -49,6 +50,12 @@ msgid ""
"validation is not required."
msgstr ""
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__id
#: model:ir.model.fields,field_description:report_xml.field_report_report_xml_abstract__id
msgid "ID"
msgstr ""
#. module: report_xml
#: model:ir.model,name:report_xml.model_ir_actions_report
msgid "Report Action"

View file

@ -8,20 +8,21 @@ msgstr ""
"Project-Id-Version: reporting-engine (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-09-18 04:34+0000\n"
"PO-Revision-Date: 2016-03-11 15:46+0000\n"
"Last-Translator: <>\n"
"Language-Team: Swedish (http://www.transifex.com/oca/OCA-reporting-"
"engine-8-0/language/sv/)\n"
"PO-Revision-Date: 2024-06-12 08:56+0000\n"
"Last-Translator: jakobkrabbe <jakob@syscare.se>\n"
"Language-Team: Swedish (http://www.transifex.com/oca/"
"OCA-reporting-engine-8-0/language/sv/)\n"
"Language: sv\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"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: report_xml
#: model:ir.model,name:report_xml.model_report_report_xml_abstract
msgid "Abstract XML Report"
msgstr ""
msgstr "Sammanfattning XML-rapport"
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_declaration
@ -29,22 +30,24 @@ msgid ""
"Add `<?xml encoding=\"...\" version=\"...\"?>` at the start of final report "
"file."
msgstr ""
"Lägg till `<?xml encoding=\"...\" version=\"...\"?>` i början av filen med "
"slutrapporten."
#. module: report_xml
#: model:ir.actions.report,name:report_xml.demo_xml_report
msgid "Demo xml report"
msgstr ""
msgstr "Demo xml-rapport"
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_encoding
msgid ""
"Encoding for XML reports. If nothing is selected, then UTF-8 will be applied."
msgstr ""
msgstr "Kodning för XML-rapporter. Om inget väljs kommer UTF-8 att användas."
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_extension
msgid "Extension for XML Reports, by default is `xml`"
msgstr ""
msgstr "Tillägg för XML-rapporter, standard är `xml`"
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xsd_schema
@ -52,16 +55,18 @@ msgid ""
"File with XSD Schema for checking content of result report. Can be empty if "
"validation is not required."
msgstr ""
"Fil med XSD-schema för kontroll av innehållet i resultatrapporten. Kan vara "
"tom om validering inte krävs."
#. module: report_xml
#: model:ir.model,name:report_xml.model_ir_actions_report
msgid "Report Action"
msgstr ""
msgstr "Rapportera åtgärd"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__report_type
msgid "Report Type"
msgstr ""
msgstr "Rapporttyp"
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__report_type
@ -71,41 +76,45 @@ msgid ""
"browser PDF means the report will be rendered using Wkhtmltopdf and "
"downloaded by the user."
msgstr ""
"Den typ av rapport som kommer att återges, var och en har sin egen "
"återgivningsmetod. HTML innebär att rapporten öppnas direkt i din webbläsare "
"PDF innebär att rapporten renderas med Wkhtmltopdf och laddas ner av "
"användaren."
#. module: report_xml
#: model:ir.model.fields.selection,name:report_xml.selection__ir_actions_report__xml_encoding__utf-8
msgid "UTF-8"
msgstr ""
msgstr "UTF-8"
#. module: report_xml
#: model:ir.model.fields.selection,name:report_xml.selection__ir_actions_report__report_type__qweb-xml
msgid "XML"
msgstr ""
msgstr "XML"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_declaration
msgid "XML Declaration"
msgstr ""
msgstr "XML-deklaration"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_encoding
msgid "XML Encoding"
msgstr ""
msgstr "XML-kodning"
#. module: report_xml
#: model_terms:ir.ui.view,arch_db:report_xml.ir_actions_report_view_form_report_xml
msgid "XML Rreport Settings"
msgstr ""
msgstr "Inställningar för XML-rapport"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xsd_schema
msgid "XSD Validation Schema"
msgstr ""
msgstr "Schema för XSD-validering"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_extension
msgid "Xml Extension"
msgstr ""
msgstr "Xml-tillägg"
#~ msgid "Display Name"
#~ msgstr "Visa namn"

View file

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-13 02:43+0000\n"
"PO-Revision-Date: 2025-07-07 13:25+0000\n"
"Last-Translator: Betül Öğmen <betulo@eska.biz>\n"
"PO-Revision-Date: 2025-09-11 12:42+0000\n"
"Last-Translator: Tamer Sezgin <tamer.sezgin@gmail.com>\n"
"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
@ -22,7 +22,7 @@ msgstr ""
#. module: report_xml
#: model:ir.model,name:report_xml.model_report_report_xml_abstract
msgid "Abstract XML Report"
msgstr "Kuramsal XML Raporu"
msgstr "Soyut XML Raporu"
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__xml_declaration
@ -61,12 +61,12 @@ msgstr ""
#. module: report_xml
#: model:ir.model,name:report_xml.model_ir_actions_report
msgid "Report Action"
msgstr "Rapor İşlemi"
msgstr "Rapor Eylemi"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__report_type
msgid "Report Type"
msgstr "Çıktı Türü"
msgstr "Rapor Tipi"
#. module: report_xml
#: model:ir.model.fields,help:report_xml.field_ir_actions_report__report_type
@ -89,7 +89,7 @@ msgstr "UTF-8"
#. module: report_xml
#: model:ir.model.fields.selection,name:report_xml.selection__ir_actions_report__report_type__qweb-xml
msgid "XML"
msgstr ""
msgstr "XML"
#. module: report_xml
#: model:ir.model.fields,field_description:report_xml.field_ir_actions_report__xml_declaration

View file

@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"

View file

@ -0,0 +1,3 @@
We create this module to allow the system to generate and download XMLs as reports.
Otherwise, the system can generate XMLs, but will be downloaded as HTML or PDF.

View file

@ -0,0 +1,10 @@
- [Dixmit](https://www.dixmit.com)
- Enric Tobella
- [Tecnativa](https://www.tecnativa.com):
- Jairo Llopis
- [Avoin.Systems](https://avoin.systems/):
- Tatiana Deribina
- Iván Antón \<<ozono@ozonomultimedia.com>\>

View file

@ -1,6 +0,0 @@
* Enric Tobella <etobella@creublanca.es>
* `Tecnativa <https://www.tecnativa.com>`_:
* Jairo Llopis
* `Avoin.Systems <https://avoin.systems/>`_:
* Tatiana Deribina
* Iván Antón <ozono@ozonomultimedia.com>

View file

@ -0,0 +1,2 @@
- Icon taken from
<http://commons.wikimedia.org/wiki/File:Text-xml.svg>

View file

@ -1 +0,0 @@
* Icon taken from http://commons.wikimedia.org/wiki/File:Text-xml.svg

View file

@ -0,0 +1,3 @@
This module was written to extend the functionality of the reporting
engine to support XML reports and allow modules to generate them by code
or by QWeb templates.

View file

@ -1,3 +0,0 @@
This module was written to extend the functionality of the reporting engine to
support XML reports and allow modules to generate them by code or by QWeb
templates.

View file

@ -0,0 +1,9 @@
To install this module, you need to:
- Install [lxml](http://lxml.de/) in Odoo's `$PYTHONPATH`.
- Install the repository
[reporting-engine](https://github.com/OCA/reporting-engine).
But this module does nothing for the end user by itself, so if you have
it installed it's probably because there is another module that depends
on it.

View file

@ -1,10 +0,0 @@
To install this module, you need to:
* Install lxml_ in Odoo's ``$PYTHONPATH``.
* Install the repository `reporting-engine`_.
But this module does nothing for the end user by itself, so if you have it
installed it's probably because there is another module that depends on it.
.. _reporting-engine: https://github.com/OCA/reporting-engine
.. _lxml: http://lxml.de/

View file

@ -0,0 +1,44 @@
This module is intended as a base engine for other modules to use it, so
no direct result if you are a user.
## If you are a developer
To learn from an example, just check the [demo
report](https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/demo_report.xml)
on GitHub for the model `res.company` or check it in interface from
companies views.
To develop with this module, you need to:
- Create a module.
- Make it depend on this one.
- Follow [instructions to create
reports](https://www.odoo.com/documentation/13.0/reference/reports.html)
having in mind that the `report_type` field in your
`ir.actions.report` record must be `qweb-xml`.
In case you want to create a [custom
report](https://www.odoo.com/documentation/13.0/reference/reports.html#custom-reports),
the instructions remain the same as for HTML reports, and the method
that you must override is also called `_get_report_values`, even when
this time you are creating a XML report.
You can make your custom report inherit `report.report_xml.abstract`,
name it in such way `report.<module.report_name>`. Also you can add a
XSD file for report validation into `xsd_schema` field of your report
(check [report
definition](https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/report.xml))
and have XSD automatic checking for free.
You can customize rendering process and validation way via changing
logic of `generate_report` and `validate_report` methods in your report
class.
You can visit
`http://<server-address>/report/xml/<module.report_name>/<ids>` to see
your XML report online as a web page.
For further information, please visit:
- <https://www.odoo.com/forum/help-1>
- <https://github.com/OCA/reporting-engine>

View file

@ -1,41 +0,0 @@
This module is intended as a base engine for other modules to use it, so no direct result if you are a user.
If you are a developer
~~~~~~~~~~~~~~~~~~~~~~
To learn from an example, just check the `demo report`_ on GitHub for
the model ``res.company`` or check it in interface from companies views.
To develop with this module, you need to:
* Create a module.
* Make it depend on this one.
* Follow `instructions to create reports`_ having in mind that the
``report_type`` field in your ``ir.actions.report`` record must be
``qweb-xml``.
In case you want to create a `custom report`_, the instructions remain the same
as for HTML reports, and the method that you must override is also called
``_get_report_values``, even when this time you are creating a XML report.
You can make your custom report inherit ``report.report_xml.abstract``, name
it in such way ``report.<module.report_name>``. Also you can add a XSD file for
report validation into ``xsd_schema`` field of your report (check
`report definition`_) and have XSD automatic checking for
free.
You can customize rendering process and validation way via changing logic of
``generate_report`` and ``validate_report`` methods in your report class.
You can visit ``http://<server-address>/report/xml/<module.report_name>/<ids>``
to see your XML report online as a web page.
For further information, please visit:
* https://www.odoo.com/forum/help-1
* https://github.com/OCA/reporting-engine
.. _custom report: https://www.odoo.com/documentation/13.0/reference/reports.html#custom-reports
.. _instructions to create reports: https://www.odoo.com/documentation/13.0/reference/reports.html
.. _demo report: https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/demo_report.xml
.. _report definition: https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/report.xml

View file

@ -3,15 +3,16 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>XML Reports</title>
<title>README.rst</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
@ -274,7 +275,7 @@ pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
@ -300,7 +301,7 @@ span.option {
span.pre {
white-space: pre }
span.problematic {
span.problematic, pre.problematic {
color: red }
span.section-subtitle {
@ -359,74 +360,98 @@ ul.auto-toc {
</style>
</head>
<body>
<div class="document" id="xml-reports">
<h1 class="title">XML Reports</h1>
<div class="document">
<a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
<img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
</a>
<div class="section" id="xml-reports">
<h1>XML Reports</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:e491947bf3954fb138e5655b09ea354d544b745eb63f3cec1d51df4a900595c6
!! source digest: sha256:cdce2748ae7d4f6290504b3091f7dec2136dd8e984cb7f77cd1cc655d87033be
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/reporting-engine/tree/16.0/report_xml"><img alt="OCA/reporting-engine" src="https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/reporting-engine-16-0/reporting-engine-16-0-report_xml"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module was written to extend the functionality of the reporting engine to
support XML reports and allow modules to generate them by code or by QWeb
templates.</p>
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/reporting-engine/tree/19.0/report_xml"><img alt="OCA/reporting-engine" src="https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/reporting-engine-19-0/reporting-engine-19-0-report_xml"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&amp;target_branch=19.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module was written to extend the functionality of the reporting
engine to support XML reports and allow modules to generate them by code
or by QWeb templates.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#installation" id="toc-entry-1">Installation</a></li>
<li><a class="reference internal" href="#usage" id="toc-entry-2">Usage</a><ul>
<li><a class="reference internal" href="#if-you-are-a-developer" id="toc-entry-3">If you are a developer</a></li>
<li><a class="reference internal" href="#use-cases-context" id="toc-entry-1">Use Cases / Context</a></li>
<li><a class="reference internal" href="#installation" id="toc-entry-2">Installation</a></li>
<li><a class="reference internal" href="#usage" id="toc-entry-3">Usage</a><ul>
<li><a class="reference internal" href="#if-you-are-a-developer" id="toc-entry-4">If you are a developer</a></li>
</ul>
</li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-4">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-5">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-6">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-7">Contributors</a></li>
<li><a class="reference internal" href="#other-credits" id="toc-entry-8">Other credits</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-9">Maintainers</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-5">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-6">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-7">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-8">Contributors</a></li>
<li><a class="reference internal" href="#other-credits" id="toc-entry-9">Other credits</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-10">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="use-cases-context">
<h2><a class="toc-backref" href="#toc-entry-1">Use Cases / Context</a></h2>
<p>We create this module to allow the system to generate and download XMLs
as reports.</p>
<p>Otherwise, the system can generate XMLs, but will be downloaded as HTML
or PDF.</p>
</div>
<div class="section" id="installation">
<h1><a class="toc-backref" href="#toc-entry-1">Installation</a></h1>
<h2><a class="toc-backref" href="#toc-entry-2">Installation</a></h2>
<p>To install this module, you need to:</p>
<ul class="simple">
<li>Install <a class="reference external" href="http://lxml.de/">lxml</a> in Odoos <tt class="docutils literal">$PYTHONPATH</tt>.</li>
<li>Install the repository <a class="reference external" href="https://github.com/OCA/reporting-engine">reporting-engine</a>.</li>
<li>Install the repository
<a class="reference external" href="https://github.com/OCA/reporting-engine">reporting-engine</a>.</li>
</ul>
<p>But this module does nothing for the end user by itself, so if you have it
installed its probably because there is another module that depends on it.</p>
<p>But this module does nothing for the end user by itself, so if you have
it installed its probably because there is another module that depends
on it.</p>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#toc-entry-2">Usage</a></h1>
<p>This module is intended as a base engine for other modules to use it, so no direct result if you are a user.</p>
<h2><a class="toc-backref" href="#toc-entry-3">Usage</a></h2>
<p>This module is intended as a base engine for other modules to use it, so
no direct result if you are a user.</p>
<div class="section" id="if-you-are-a-developer">
<h2><a class="toc-backref" href="#toc-entry-3">If you are a developer</a></h2>
<p>To learn from an example, just check the <a class="reference external" href="https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/demo_report.xml">demo report</a> on GitHub for
the model <tt class="docutils literal">res.company</tt> or check it in interface from companies views.</p>
<h3><a class="toc-backref" href="#toc-entry-4">If you are a developer</a></h3>
<p>To learn from an example, just check the <a class="reference external" href="https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/demo_report.xml">demo
report</a>
on GitHub for the model <tt class="docutils literal">res.company</tt> or check it in interface from
companies views.</p>
<p>To develop with this module, you need to:</p>
<ul class="simple">
<li>Create a module.</li>
<li>Make it depend on this one.</li>
<li>Follow <a class="reference external" href="https://www.odoo.com/documentation/13.0/reference/reports.html">instructions to create reports</a> having in mind that the
<tt class="docutils literal">report_type</tt> field in your <tt class="docutils literal">ir.actions.report</tt> record must be
<tt class="docutils literal"><span class="pre">qweb-xml</span></tt>.</li>
<li>Follow <a class="reference external" href="https://www.odoo.com/documentation/13.0/reference/reports.html">instructions to create
reports</a>
having in mind that the <tt class="docutils literal">report_type</tt> field in your
<tt class="docutils literal">ir.actions.report</tt> record must be <tt class="docutils literal"><span class="pre">qweb-xml</span></tt>.</li>
</ul>
<p>In case you want to create a <a class="reference external" href="https://www.odoo.com/documentation/13.0/reference/reports.html#custom-reports">custom report</a>, the instructions remain the same
as for HTML reports, and the method that you must override is also called
<tt class="docutils literal">_get_report_values</tt>, even when this time you are creating a XML report.</p>
<p>You can make your custom report inherit <tt class="docutils literal">report.report_xml.abstract</tt>, name
it in such way <tt class="docutils literal"><span class="pre">report.&lt;module.report_name&gt;</span></tt>. Also you can add a XSD file for
report validation into <tt class="docutils literal">xsd_schema</tt> field of your report (check
<a class="reference external" href="https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/report.xml">report definition</a>) and have XSD automatic checking for
free.</p>
<p>You can customize rendering process and validation way via changing logic of
<tt class="docutils literal">generate_report</tt> and <tt class="docutils literal">validate_report</tt> methods in your report class.</p>
<p>You can visit <tt class="docutils literal"><span class="pre">http://&lt;server-address&gt;/report/xml/&lt;module.report_name&gt;/&lt;ids&gt;</span></tt>
to see your XML report online as a web page.</p>
<p>In case you want to create a <a class="reference external" href="https://www.odoo.com/documentation/13.0/reference/reports.html#custom-reports">custom
report</a>,
the instructions remain the same as for HTML reports, and the method
that you must override is also called <tt class="docutils literal">_get_report_values</tt>, even when
this time you are creating a XML report.</p>
<p>You can make your custom report inherit <tt class="docutils literal">report.report_xml.abstract</tt>,
name it in such way <tt class="docutils literal"><span class="pre">report.&lt;module.report_name&gt;</span></tt>. Also you can add a
XSD file for report validation into <tt class="docutils literal">xsd_schema</tt> field of your report
(check <a class="reference external" href="https://github.com/OCA/reporting-engine/blob/13.0/report_xml/demo/report.xml">report
definition</a>)
and have XSD automatic checking for free.</p>
<p>You can customize rendering process and validation way via changing
logic of <tt class="docutils literal">generate_report</tt> and <tt class="docutils literal">validate_report</tt> methods in your
report class.</p>
<p>You can visit
<tt class="docutils literal"><span class="pre">http://&lt;server-address&gt;/report/xml/&lt;module.report_name&gt;/&lt;ids&gt;</span></tt> to see
your XML report online as a web page.</p>
<p>For further information, please visit:</p>
<ul class="simple">
<li><a class="reference external" href="https://www.odoo.com/forum/help-1">https://www.odoo.com/forum/help-1</a></li>
@ -435,62 +460,60 @@ to see your XML report online as a web page.</p>
</div>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-4">Bug Tracker</a></h1>
<h2><a class="toc-backref" href="#toc-entry-5">Bug Tracker</a></h2>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/reporting-engine/issues">GitHub Issues</a>.
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
<a class="reference external" href="https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_xml%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_xml%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-5">Credits</a></h1>
<h2><a class="toc-backref" href="#toc-entry-6">Credits</a></h2>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-6">Authors</a></h2>
<h3><a class="toc-backref" href="#toc-entry-7">Authors</a></h3>
<ul class="simple">
<li>Tecnativa</li>
<li>Avoin.Systems</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-7">Contributors</a></h2>
<h3><a class="toc-backref" href="#toc-entry-8">Contributors</a></h3>
<ul class="simple">
<li>Enric Tobella &lt;<a class="reference external" href="mailto:etobella&#64;creublanca.es">etobella&#64;creublanca.es</a>&gt;</li>
<li><dl class="first docutils">
<dt><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:</dt>
<dd><ul class="first last">
<li><a class="reference external" href="https://www.dixmit.com">Dixmit</a><ul>
<li>Enric Tobella</li>
</ul>
</li>
<li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
<li>Jairo Llopis</li>
</ul>
</dd>
</dl>
</li>
<li><dl class="first docutils">
<dt><a class="reference external" href="https://avoin.systems/">Avoin.Systems</a>:</dt>
<dd><ul class="first last">
<li><a class="reference external" href="https://avoin.systems/">Avoin.Systems</a>:<ul>
<li>Tatiana Deribina</li>
</ul>
</dd>
</dl>
</li>
<li>Iván Antón &lt;<a class="reference external" href="mailto:ozono&#64;ozonomultimedia.com">ozono&#64;ozonomultimedia.com</a>&gt;</li>
</ul>
</div>
<div class="section" id="other-credits">
<h2><a class="toc-backref" href="#toc-entry-8">Other credits</a></h2>
<h3><a class="toc-backref" href="#toc-entry-9">Other credits</a></h3>
<ul class="simple">
<li>Icon taken from <a class="reference external" href="http://commons.wikimedia.org/wiki/File:Text-xml.svg">http://commons.wikimedia.org/wiki/File:Text-xml.svg</a></li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-9">Maintainers</a></h2>
<h3><a class="toc-backref" href="#toc-entry-10">Maintainers</a></h3>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/16.0/report_xml">OCA/reporting-engine</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/19.0/report_xml">OCA/reporting-engine</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,9 +1,8 @@
/** @odoo-module **/
import {download} from "@web/core/network/download";
import {registry} from "@web/core/registry";
import {user} from "@web/core/user";
function getReportUrl({report_name, context, data}, env) {
function getReportUrl({report_name, context, data}) {
// Rough copy of action_service.js _getReportUrl method.
let url = `/report/xml/${report_name}`;
const actionContext = context || {};
@ -15,14 +14,14 @@ function getReportUrl({report_name, context, data}, env) {
if (actionContext.active_ids) {
url += `/${actionContext.active_ids.join(",")}`;
}
const userContext = encodeURIComponent(JSON.stringify(env.services.user.context));
const userContext = encodeURIComponent(JSON.stringify(user.context));
return `${url}?context=${userContext}`;
}
async function triggerDownload(action, {onClose}, env) {
// Rough copy of action_service.js _triggerDownload method.
env.services.ui.block();
const data = JSON.stringify([getReportUrl(action, env), action.report_type]);
const context = JSON.stringify(env.services.user.context);
const data = JSON.stringify([getReportUrl(action), action.report_type]);
const context = JSON.stringify(user.context);
try {
await download({url: "/report/download", data: {data, context}});
} finally {

View file

@ -7,9 +7,31 @@ from lxml import etree
from odoo import http
from odoo.tests import common
from odoo.tools import convert_file
class TestXmlReport(common.HttpCase):
@classmethod
def setUpClass(cls):
result = super().setUpClass()
convert_file(
cls.env,
module="report_xml",
filename="demo/report.xml",
idref={},
mode="init",
noupdate=True,
)
convert_file(
cls.env,
module="report_xml",
filename="demo/demo_report.xml",
idref={},
mode="init",
noupdate=True,
)
return result
def test_xml(self):
report_object = self.env["ir.actions.report"]
report_name = "report_xml.demo_report_xml_view"

View file

@ -6,21 +6,15 @@
<field name="inherit_id" ref="base.act_report_xml_view" />
<field name="arch" type="xml">
<button name="associated_view" position="attributes">
<attribute name="attrs">{
'invisible': [
('report_type', 'not in', ('qweb-pdf', 'qweb-html', 'qweb-text', 'qweb-xml')),
],
}</attribute>
<attribute name="invisible">
report_type not in ['qweb-pdf', 'qweb-html', 'qweb-text', 'qweb-xml']
</attribute>
</button>
<xpath expr="//page[@name='advanced']/group" position="after">
<group
name="xml_reports"
string="XML Rreport Settings"
attrs="{
'invisible': [
('report_type', '!=', 'qweb-xml')
],
}"
invisible="report_type != 'qweb-xml'"
>
<field name="xsd_schema" />
<field name="xml_encoding" />