Skip to content

Commit

Permalink
Take into accounts most remarks of @lasley
Browse files Browse the repository at this point in the history
Remove <data> in views
Protect import of py3o libs
Remove dep on base module
Other small changes
  • Loading branch information
alexis-via committed Oct 5, 2016
1 parent 83f88aa commit 2fbbdc9
Show file tree
Hide file tree
Showing 8 changed files with 132 additions and 124 deletions.
4 changes: 0 additions & 4 deletions report_py3o/NEWS

This file was deleted.

7 changes: 2 additions & 5 deletions report_py3o/__openerp__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,15 @@
# Copyright 2013 XCG Consulting (http://odoo.consulting)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
'name': 'LibreOffice Report Engine',
'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': [
'base',
'report',
],
'depends': ['report'],
'external_dependencies': {
'python': ['py3o.template',
'py3o.formats']
Expand Down
21 changes: 14 additions & 7 deletions report_py3o/models/ir_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,22 @@
# Copyright 2013 XCG Consulting (http://odoo.consulting)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import os
from py3o.formats import Formats
from openerp import api, fields, models, _
from openerp.report.interface import report_int
from openerp.exceptions import ValidationError
from openerp import addons
from ..py3o_parser import Py3oParser
import logging

logger = logging.getLogger(__name__)

class ReportXml(models.Model):
try:
from py3o.formats import Formats
except ImportError:
logger.debug('Cannot import py3o.formats')


class IrActionsReportXml(models.Model):
""" Inherit from ir.actions.report.xml to allow customizing the template
file. The user cam chose a template from a list.
The list is configurable in the configuration tab, see py3o_template.py
Expand All @@ -22,8 +29,8 @@ class ReportXml(models.Model):
@api.constrains("py3o_filetype", "report_type")
def _check_py3o_filetype(self):
if self.report_type == "py3o" and not self.py3o_filetype:
raise ValidationError(
"Field 'Output Format' is required for Py3O report")
raise ValidationError(_(
"Field 'Output Format' is required for Py3O report"))

@api.one
@api.constrains("py3o_is_local_fusion", "py3o_server_id",
Expand All @@ -32,9 +39,9 @@ def _check_py3o_server_id(self):
is_native = Formats().get_format(self.py3o_filetype)
if ((not is_native or not self.py3o_is_local_fusion) and
not self.py3o_server_id):
raise ValidationError(
raise ValidationError(_(
"Can not use not native format in local fusion. "
"Please specify a Fusion Server")
"Please specify a Fusion Server"))

@api.model
def _get_py3o_filetypes(self):
Expand Down Expand Up @@ -116,4 +123,4 @@ def _lookup_report(self, cr, name):
if new_report:
return new_report
else:
return super(ReportXml, self)._lookup_report(cr, name)
return super(IrActionsReportXml, self)._lookup_report(cr, name)
17 changes: 13 additions & 4 deletions report_py3o/py3o_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,23 @@
from base64 import b64decode
import requests
from tempfile import NamedTemporaryFile
from py3o.template.helpers import Py3oConvertor
from py3o.template import Template
from py3o.formats import Formats

from openerp import _
from openerp import exceptions
from openerp.report.report_sxw import report_sxw
from openerp import registry
import logging

logger = logging.getLogger(__name__)

try:
from py3o.template.helpers import Py3oConvertor
from py3o.template import Template
except ImportError:
logger.debug('Cannot import py3o.template')
try:
from py3o.formats import Formats
except ImportError:
logger.debug('Cannot import py3o.formats')


_extender_functions = {}
Expand Down
45 changes: 22 additions & 23 deletions report_py3o/views/ir_report.xml
Original file line number Diff line number Diff line change
@@ -1,32 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>

<!-- Inherit from base.act_report_xml_view to add py3o-related settings. -->
<!-- Inherit from base.act_report_xml_view to add py3o-related settings. -->

<record id="py3o_report_view" model="ir.ui.view">
<field name="name">py3o_report_view</field>
<field name="model">ir.actions.report.xml</field>
<field name="inherit_id" ref="base.act_report_xml_view" />
<field name="arch" type="xml">
<record id="py3o_report_view" model="ir.ui.view">
<field name="name">py3o_report_view</field>
<field name="model">ir.actions.report.xml</field>
<field name="inherit_id" ref="base.act_report_xml_view" />
<field name="arch" type="xml">

<xpath expr="//page[@name='security']" position="before">
<page string="LibreOffice Template"
attrs="{'invisible': [('report_type', '!=', 'py3o')]}">
<xpath expr="//page[@name='security']" position="before">
<page string="LibreOffice Template" name="py3o_tab"
attrs="{'invisible': [('report_type', '!=', 'py3o')]}">

<group>
<field name="py3o_filetype" />
<field name="py3o_is_local_fusion"/>
<field name="py3o_server_id" />
<field name="py3o_template_id" />
<field name="module" />
<field name="py3o_template_fallback" />
</group>
<group name="py3o_params">
<field name="py3o_filetype" />
<field name="py3o_is_local_fusion"/>
<field name="py3o_server_id" />
<field name="py3o_template_id" />
<field name="module" />
<field name="py3o_template_fallback" />
</group>

</page>
</xpath>
</page>
</xpath>

</field>
</record>

</field>
</record>
</data>
</odoo>
10 changes: 5 additions & 5 deletions report_py3o/views/menu.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<menuitem id="py3o_config_menu"
name="Py3o"
parent="report.reporting_menuitem" />
</data>

<menuitem id="py3o_config_menu"
name="Py3o"
parent="report.reporting_menuitem" />

</odoo>
62 changes: 31 additions & 31 deletions report_py3o/views/py3o_server.xml
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="py3o_server_configuration_form_view" model="ir.ui.view">
<field name="name">py3o.server.configuration.form.view</field>
<field name="model">py3o.server</field>
<field name="arch" type="xml">
<form string="Py3o Server Configuration">
<group>
<field name="url" widget="url"/>
<field name="is_active" />
</group>
</form>
</field>
</record>

<record id="py3o_server_configuration_tree_view" model="ir.ui.view">
<field name="name">py3o.server.configuration.tree.view</field>
<field name="model">py3o.server</field>
<field name="arch" type="xml">
<tree string="Py3o Servers Configuration">
<field name="url" />
<record id="py3o_server_configuration_form_view" model="ir.ui.view">
<field name="name">py3o.server.configuration.form.view</field>
<field name="model">py3o.server</field>
<field name="arch" type="xml">
<form string="Py3o Server Configuration">
<group name="main">
<field name="url" widget="url"/>
<field name="is_active" />
</tree>
</field>
</record>
</group>
</form>
</field>
</record>

<record id="py3o_server_configuration_action" model="ir.actions.act_window">
<field name="name">Py3o Servers</field>
<field name="res_model">py3o.server</field>
<field name="view_mode">tree,form</field>
</record>
<record id="py3o_server_configuration_tree_view" model="ir.ui.view">
<field name="name">py3o.server.configuration.tree.view</field>
<field name="model">py3o.server</field>
<field name="arch" type="xml">
<tree string="Py3o Servers Configuration">
<field name="url" />
<field name="is_active" />
</tree>
</field>
</record>

<record id="py3o_server_configuration_action" model="ir.actions.act_window">
<field name="name">Py3o Servers</field>
<field name="res_model">py3o.server</field>
<field name="view_mode">tree,form</field>
</record>

<menuitem id="py3o_server_configuration_menu"
parent="py3o_config_menu"
action="py3o_server_configuration_action" />

<menuitem id="py3o_server_configuration_menu"
parent="py3o_config_menu"
action="py3o_server_configuration_action" />
</data>
</odoo>
90 changes: 45 additions & 45 deletions report_py3o/views/py3o_template.xml
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="py3o_template_configuration_search_view" model="ir.ui.view">
<field name="name">py3o.template.configuration.search.view</field>
<field name="model">py3o.template</field>
<field name="arch" type="xml">
<search string="Py3o Templates Configuration">
<field name="name" />
<field name="filetype" />
<group string="Group By" name="groupby">
<filter name="filetype_groupby" string="File Type"
context="{'group_by': 'filetype'}"/>
</group>
</search>
</field>
</record>

<record id="py3o_template_configuration_form_view" model="ir.ui.view">
<field name="name">py3o.template.configuration.form.view</field>
<field name="model">py3o.template</field>
<field name="arch" type="xml">
<form string="Py3o Templates Configuration">
<group>
<field name="name" />
<field name="filetype" />
<field name="py3o_template_data" />
</group>
</form>
</field>
</record>
<record id="py3o_template_configuration_search_view" model="ir.ui.view">
<field name="name">py3o.template.configuration.search.view</field>
<field name="model">py3o.template</field>
<field name="arch" type="xml">
<search string="Py3o Templates">
<field name="name" />
<field name="filetype" />
<group string="Group By" name="groupby">
<filter name="filetype_groupby" string="File Type"
context="{'group_by': 'filetype'}"/>
</group>
</search>
</field>
</record>

<record id="py3o_template_configuration_tree_view" model="ir.ui.view">
<field name="name">py3o.template.configuration.tree.view</field>
<field name="model">py3o.template</field>
<field name="arch" type="xml">
<tree string="Py3o Templates Configuration">
<record id="py3o_template_configuration_form_view" model="ir.ui.view">
<field name="name">py3o.template.configuration.form.view</field>
<field name="model">py3o.template</field>
<field name="arch" type="xml">
<form string="Py3o Templates">
<group name="main">
<field name="name" />
<field name="filetype" />
</tree>
</field>
</record>
<field name="py3o_template_data" />
</group>
</form>
</field>
</record>

<record id="py3o_template_configuration_tree_view" model="ir.ui.view">
<field name="name">py3o.template.configuration.tree.view</field>
<field name="model">py3o.template</field>
<field name="arch" type="xml">
<tree string="Py3o Templates">
<field name="name" />
<field name="filetype" />
</tree>
</field>
</record>

<record id="py3o_template_configuration_action" model="ir.actions.act_window">
<field name="name">Py3o Templates</field>
<field name="res_model">py3o.template</field>
<field name="view_mode">tree,form</field>
</record>

<record id="py3o_template_configuration_action" model="ir.actions.act_window">
<field name="name">Py3o Templates</field>
<field name="res_model">py3o.template</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem id="py3o_template_configuration_menu"
parent="py3o_config_menu"
action="py3o_template_configuration_action" />

<menuitem id="py3o_template_configuration_menu"
parent="py3o_config_menu"
action="py3o_template_configuration_action" />
</data>
</odoo>

0 comments on commit 2fbbdc9

Please sign in to comment.