-
-
Notifications
You must be signed in to change notification settings - Fork 774
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
23 changed files
with
1,630 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
.. 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 Py3o | ||
=========== | ||
|
||
The py3o reporting engine is a reporting engine for Odoo based on `Libreoffice <http://www.libreoffice.org/>`_: | ||
|
||
* the report is created with Libreoffice (ODT or ODS), | ||
* the report is stored on the server in OpenDocument format (.odt or .ods file) | ||
* the report is sent to the user in OpenDocument format or in any output format supported by Libreoffice (PDF, HTML, DOC, DOCX, Docbook, XLS, etc.) | ||
|
||
The key advantages of a Libreoffice-based reporting engine are: | ||
|
||
* no need to be a developper to create or modify a report: the report is created and modified with Libreoffice. So this reporting engine has a fully WYSIWYG report developpment tool! | ||
|
||
* For a PDF report in A4/Letter format, it's easier to develop it with a tool such as Libreoffice that is designed to create A4/Letter documents than to develop it in HTML/CSS. | ||
|
||
* If you want your users to be able to modify the document after its generation by Odoo, just configure the document with ODT output (or DOC or DOCX) and the user will be able to modify the document with Libreoffice (or Word) after its generation by Odoo. | ||
|
||
* Easy development of spreadsheet reports in ODS format (XLS output possible). | ||
|
||
This reporting engine is an alternative to `Aeroo <https://github.com/aeroo/aeroo_reports>`_: these 2 reporting engines have similar features but their codes are completely different. | ||
|
||
Installation | ||
============ | ||
|
||
You must install 2 additionnal python libs: | ||
|
||
.. code:: | ||
pip install py3o.template | ||
pip install py3o.formats | ||
If you want to convert the ODT or ODS report in another format, you need several additionnal components and Python libs: | ||
|
||
* `Py3o Fusion server <https://bitbucket.org/faide/py3o.fusion>`_ | ||
* `Py3o render server <https://bitbucket.org/faide/py3o.renderserver>`_ | ||
* Libreoffice started in the background in headless mode. | ||
|
||
TODO : continue | ||
|
||
Configuration | ||
============= | ||
|
||
If you want to convert the report in another format, go to the menu *Configuration > Technical > Reports > Py3o > Py3o Servers* and create a new Py3o server with its URL (for example: http://localhost:8765/form). | ||
|
||
TODO: continue | ||
|
||
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/9.0 | ||
|
||
Known issues / Roadmap | ||
====================== | ||
|
||
* generate barcode ? | ||
|
||
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 smashing it by providing a detailed and welcomed feedback. | ||
|
||
Credits | ||
======= | ||
|
||
Contributors | ||
------------ | ||
|
||
* Florent Aide (`XCG Consulting <http://odoo.consulting/>`_) | ||
* Laurent Mignon (Acsone) | ||
|
||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import models |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# -*- coding: utf-8 -*- | ||
# Copyright 2013 XCG Consulting (http://odoo.consulting) | ||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). | ||
{ | ||
'name': 'Py3o Report Engine', | ||
'summary': 'Reporting engine based on Libreoffice (ODT -> ODT, ' | ||
'ODT -> PDF, ODT -> DOC, ODT -> DOCX, ODS -> ODS, etc.)', | ||
'version': '9.0.1.0.0', | ||
'category': 'Reporting', | ||
'license': 'AGPL-3', | ||
'author': 'XCG Consulting,Odoo Community Association (OCA)', | ||
'website': 'http://odoo.consulting/', | ||
'depends': ['report'], | ||
'external_dependencies': { | ||
'python': ['py3o.template', | ||
'py3o.formats'] | ||
}, | ||
'data': [ | ||
'security/ir.model.access.csv', | ||
'views/menu.xml', | ||
'views/py3o_template.xml', | ||
'views/py3o_server.xml', | ||
'views/ir_report.xml', | ||
'demo/report_py3o.xml', | ||
], | ||
'installable': True, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<!-- Copyright 2016 ACSONE SA/NV | ||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> | ||
|
||
<odoo> | ||
|
||
<record id="res_users_report_py3o" model="ir.actions.report.xml"> | ||
<field name="name">Py3o Demo Report</field> | ||
<field name="type">ir.actions.report.xml</field> | ||
<field name="model">res.users</field> | ||
<field name="report_name">py3o_user_info</field> | ||
<field name="report_type">py3o</field> | ||
<field name="py3o_filetype">odt</field> | ||
<field name="py3o_is_local_fusion" eval="1"/> | ||
<field name="py3o_filetype">odt</field> | ||
<field name="module">report_py3o</field> | ||
<field name="py3o_template_fallback">demo/res_user.odt</field> | ||
</record> | ||
|
||
<record id="res_users_report_py3o_print_action" model="ir.values"> | ||
<field eval="'action'" name="key" /> | ||
<field eval="'client_print_multi'" name="key2" /> | ||
<field name="model">res.users</field> | ||
<field name="name">Py3o Demo Report</field> | ||
<field eval="'ir.actions.report.xml,'+str(res_users_report_py3o)" name="value" /> | ||
</record> | ||
|
||
</odoo> |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,163 @@ | ||
# Translation of Odoo Server. | ||
# This file contains the translation of the following modules: | ||
# * report_py3o | ||
# | ||
msgid "" | ||
msgstr "" | ||
"Project-Id-Version: Odoo Server 8.0\n" | ||
"Report-Msgid-Bugs-To: \n" | ||
"POT-Creation-Date: 2015-11-16 11:15+0000\n" | ||
"PO-Revision-Date: 2015-11-27 14:56+0100\n" | ||
"Last-Translator: <>\n" | ||
"Language-Team: \n" | ||
"MIME-Version: 1.0\n" | ||
"Content-Type: text/plain; charset=UTF-8\n" | ||
"Content-Transfer-Encoding: 8bit\n" | ||
"Plural-Forms: \n" | ||
"Language: fr\n" | ||
"X-Generator: Poedit 1.8.6\n" | ||
|
||
#. module: report_py3o | ||
#: code:addons/report_py3o/py3o_parser.py:169 | ||
#, python-format | ||
msgid "Configuration Error" | ||
msgstr "Erreur de configuration " | ||
|
||
#. module: report_py3o | ||
#: field:py3o.fusion.filetype,create_uid:0 field:py3o.server,create_uid:0 | ||
#: field:py3o.template,create_uid:0 | ||
msgid "Created by" | ||
msgstr "Créé par " | ||
|
||
#. module: report_py3o | ||
#: field:py3o.fusion.filetype,create_date:0 field:py3o.server,create_date:0 | ||
#: field:py3o.template,create_date:0 | ||
msgid "Created on" | ||
msgstr "Créé le " | ||
|
||
#. module: report_py3o | ||
#: field:ir.actions.report.xml,py3o_template_fallback:0 | ||
msgid "Fallback" | ||
msgstr "Procédure de recours" | ||
|
||
#. module: report_py3o | ||
#: field:py3o.fusion.filetype,fusion_ext:0 | ||
msgid "Fusion Extension" | ||
msgstr "Fusion Extension" | ||
|
||
#. module: report_py3o | ||
#: code:addons/report_py3o/py3o_parser.py:190 | ||
#, python-format | ||
msgid "Fusion Server Says Error" | ||
msgstr "Serveur Fusion affiche Erreur" | ||
|
||
#. module: report_py3o | ||
#: field:py3o.fusion.filetype,human_ext:0 | ||
msgid "Human readble extension" | ||
msgstr "Extension facilement lisible" | ||
|
||
#. module: report_py3o | ||
#: field:py3o.fusion.filetype,id:0 field:py3o.server,id:0 | ||
#: field:py3o.template,id:0 | ||
msgid "ID" | ||
msgstr "ID" | ||
|
||
#. module: report_py3o | ||
#: help:ir.actions.report.xml,py3o_template_fallback:0 | ||
msgid "If the user does not provide a template this will be used it should be a relative path to root of YOUR module" | ||
msgstr "If the user does not provide a template this will be used it should be a relative path to root of YOUR module" | ||
|
||
#. module: report_py3o | ||
#: field:py3o.fusion.filetype,write_uid:0 field:py3o.server,write_uid:0 | ||
#: field:py3o.template,write_uid:0 | ||
msgid "Last Updated by" | ||
msgstr "Dernière mise à jour par " | ||
|
||
#. module: report_py3o | ||
#: field:py3o.fusion.filetype,write_date:0 field:py3o.server,write_date:0 | ||
#: field:py3o.template,write_date:0 | ||
msgid "Last Updated on" | ||
msgstr "Dernière mise à jour le " | ||
|
||
#. module: report_py3o | ||
#: view:ir.actions.report.xml:report_py3o.py3o_report_view | ||
#: field:py3o.template,py3o_template_data:0 | ||
msgid "LibreOffice template" | ||
msgstr "LibreOffice template" | ||
|
||
#. module: report_py3o | ||
#: field:ir.actions.report.xml,module:0 | ||
msgid "Module" | ||
msgstr "Module" | ||
|
||
#. module: report_py3o | ||
#: field:py3o.template,name:0 | ||
msgid "Name" | ||
msgstr "Nom" | ||
|
||
#. module: report_py3o | ||
#: code:addons/report_py3o/py3o_parser.py:170 | ||
#, python-format | ||
msgid "No Py3o server configuration found" | ||
msgstr "Pas de configuration trouvée du serveur Py3o" | ||
|
||
#. module: report_py3o | ||
#: field:ir.actions.report.xml,py3o_filetype:0 | ||
msgid "Output Format" | ||
msgstr "Format de sortie" | ||
|
||
#. module: report_py3o | ||
#: model:ir.ui.menu,name:report_py3o.py3o_config_menu | ||
msgid "Py3o" | ||
msgstr "Py3o" | ||
|
||
#. module: report_py3o | ||
#: model:ir.ui.menu,name:report_py3o.py3o_server_configuration_menu | ||
#: view:py3o.server:report_py3o.py3o_server_configuration_form_view | ||
#: view:py3o.server:report_py3o.py3o_server_configuration_tree_view | ||
msgid "Py3o Server Configuration" | ||
msgstr "Configuration du serveur Py3o" | ||
|
||
#. module: report_py3o | ||
#: model:ir.ui.menu,name:report_py3o.py3o_template_configuration_menu | ||
msgid "Py3o Templates" | ||
msgstr "Py3o Templates" | ||
|
||
#. module: report_py3o | ||
#: model:ir.actions.act_window,name:report_py3o.py3o_template_configuration_action | ||
#: view:py3o.template:report_py3o.py3o_template_configuration_form_view | ||
#: view:py3o.template:report_py3o.py3o_template_configuration_tree_view | ||
msgid "Py3o Templates Configuration" | ||
msgstr "Py3o Templates Configuration" | ||
|
||
#. module: report_py3o | ||
#: code:addons/report_py3o/py3o_parser.py:130 | ||
#, python-format | ||
msgid "Report definition %s not found" | ||
msgstr "Report definition %s not found" | ||
|
||
#. module: report_py3o | ||
#: field:ir.actions.report.xml,py3o_template_id:0 | ||
msgid "Template" | ||
msgstr "Template" | ||
|
||
#. module: report_py3o | ||
#: code:addons/report_py3o/py3o_parser.py:105 | ||
#, python-format | ||
msgid "Template Not Found" | ||
msgstr "Template non trouvé" | ||
|
||
#. module: report_py3o | ||
#: help:ir.actions.report.xml,module:0 | ||
msgid "The implementer module that provides this report" | ||
msgstr "The implementer module that provides this report" | ||
|
||
#. module: report_py3o | ||
#: field:py3o.server,url:0 | ||
msgid "URL" | ||
msgstr "URL" | ||
|
||
#. module: report_py3o | ||
#: model:ir.actions.act_window,name:report_py3o.py3o_server_configuration_action | ||
msgid "py3o.server.configuration.action" | ||
msgstr "py3o.server.configuration.action" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
from . import ir_actions_report_xml | ||
from . import py3o_template | ||
from . import py3o_server |
Oops, something went wrong.