From 78fc98574e5bdffc107431da5b706a18d3f0ef17 Mon Sep 17 00:00:00 2001 From: rka-odoo Date: Thu, 14 Jul 2016 11:55:06 +0200 Subject: [PATCH 1/5] [MOV] report: Change directory structure according to new api guidelines --- addons/report/__openerp__.py | 12 +++++------- ...t_paperformat.xml => report_paperformat_data.xml} | 0 .../{ir_actions.xml => ir_actions_report_views.xml} | 0 .../views/{layouts.xml => layout_templates.xml} | 0 .../{views.xml => report_paperformat_views.xml} | 0 .../views/{report.xml => report_templates.xml} | 0 6 files changed, 5 insertions(+), 7 deletions(-) rename addons/report/data/{report_paperformat.xml => report_paperformat_data.xml} (100%) rename addons/report/views/{ir_actions.xml => ir_actions_report_views.xml} (100%) rename addons/report/views/{layouts.xml => layout_templates.xml} (100%) rename addons/report/views/{views.xml => report_paperformat_views.xml} (100%) rename addons/report/views/{report.xml => report_templates.xml} (100%) diff --git a/addons/report/__openerp__.py b/addons/report/__openerp__.py index 844dedfa307..ba866256950 100644 --- a/addons/report/__openerp__.py +++ b/addons/report/__openerp__.py @@ -2,22 +2,20 @@ 'name': 'Report', 'category': 'Base', 'summary': 'Hidden', - 'version': '1.0', 'description': """ Report """, 'depends': ['base', 'web'], 'data': [ - 'views/layouts.xml', - 'views/views.xml', - 'data/report_paperformat.xml', + 'data/report_paperformat_data.xml', 'security/ir.model.access.csv', - 'views/report.xml', - 'views/ir_actions.xml', + 'views/layout_templates.xml', + 'views/report_paperformat_views.xml', + 'views/report_templates.xml', + 'views/ir_actions_report_views.xml', ], 'qweb' : [ 'static/src/xml/*.xml', ], - 'installable': True, 'auto_install': True, } diff --git a/addons/report/data/report_paperformat.xml b/addons/report/data/report_paperformat_data.xml similarity index 100% rename from addons/report/data/report_paperformat.xml rename to addons/report/data/report_paperformat_data.xml diff --git a/addons/report/views/ir_actions.xml b/addons/report/views/ir_actions_report_views.xml similarity index 100% rename from addons/report/views/ir_actions.xml rename to addons/report/views/ir_actions_report_views.xml diff --git a/addons/report/views/layouts.xml b/addons/report/views/layout_templates.xml similarity index 100% rename from addons/report/views/layouts.xml rename to addons/report/views/layout_templates.xml diff --git a/addons/report/views/views.xml b/addons/report/views/report_paperformat_views.xml similarity index 100% rename from addons/report/views/views.xml rename to addons/report/views/report_paperformat_views.xml diff --git a/addons/report/views/report.xml b/addons/report/views/report_templates.xml similarity index 100% rename from addons/report/views/report.xml rename to addons/report/views/report_templates.xml From 01ad2f3a90c4d23b090baf2f120df571f893a15c Mon Sep 17 00:00:00 2001 From: rka-odoo Date: Thu, 14 Jul 2016 12:04:55 +0200 Subject: [PATCH 2/5] [SPLIT] report: Split files by model --- addons/report/__openerp__.py | 1 + addons/report/models/__init__.py | 5 +-- addons/report/models/ir_actions.py | 6 --- addons/report/models/ir_actions_report_xml.py | 28 ++++++++++++ addons/report/models/report_paperformat.py | 44 ------------------- addons/report/models/res_company.py | 30 ++++++++++++- .../report/views/ir_actions_report_views.xml | 22 ++++++++++ .../report/views/report_paperformat_views.xml | 42 ------------------ addons/report/views/res_company_views.xml | 25 +++++++++++ 9 files changed, 106 insertions(+), 97 deletions(-) delete mode 100644 addons/report/models/ir_actions.py create mode 100644 addons/report/models/ir_actions_report_xml.py create mode 100644 addons/report/views/res_company_views.xml diff --git a/addons/report/__openerp__.py b/addons/report/__openerp__.py index ba866256950..03c881ca036 100644 --- a/addons/report/__openerp__.py +++ b/addons/report/__openerp__.py @@ -12,6 +12,7 @@ Report 'views/layout_templates.xml', 'views/report_paperformat_views.xml', 'views/report_templates.xml', + 'views/res_company_views.xml', 'views/ir_actions_report_views.xml', ], 'qweb' : [ diff --git a/addons/report/models/__init__.py b/addons/report/models/__init__.py index 8cdd7a3310a..7ba62e14462 100644 --- a/addons/report/models/__init__.py +++ b/addons/report/models/__init__.py @@ -1,8 +1,7 @@ import abstract_report -import ir_actions +import ir_actions_report_xml import ir_http +import ir_qweb import report import report_paperformat -import abstract_report -import ir_qweb import res_company diff --git a/addons/report/models/ir_actions.py b/addons/report/models/ir_actions.py deleted file mode 100644 index 23dac2d60a2..00000000000 --- a/addons/report/models/ir_actions.py +++ /dev/null @@ -1,6 +0,0 @@ -from openerp import models, fields - -class Actions(models.Model): - _inherit = 'ir.actions.report.xml' - - print_report_name = fields.Char('Printed Report Name', help="This is the filename of the report going to download. Keep empty to not change the report filename. You can use a python expression with the object and time variables.") diff --git a/addons/report/models/ir_actions_report_xml.py b/addons/report/models/ir_actions_report_xml.py new file mode 100644 index 00000000000..8528d52e201 --- /dev/null +++ b/addons/report/models/ir_actions_report_xml.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from openerp.osv import osv, fields +from odoo import fields as new_fields + +class ir_actions_report(osv.Model): + _inherit = 'ir.actions.report.xml' + + def associated_view(self, cr, uid, ids, context): + """Used in the ir.actions.report.xml form view in order to search naively after the view(s) + used in the rendering. + """ + try: + report_name = self.browse(cr, uid, ids[0], context).report_name + act_window_obj = self.pool.get('ir.actions.act_window') + view_action = act_window_obj.for_xml_id(cr, uid, 'base', 'action_ui_view', context=context) + view_action['domain'] = [('name', 'ilike', report_name.split('.')[1]), ('type', '=', 'qweb')] + return view_action + except: + return False + + _columns = {'paperformat_id': fields.many2one('report.paperformat', 'Paper format')} + +class Actions(osv.Model): + _inherit = 'ir.actions.report.xml' + + print_report_name = new_fields.Char('Printed Report Name', help="This is the filename of the report going to download. Keep empty to not change the report filename. You can use a python expression with the object and time variables.") diff --git a/addons/report/models/report_paperformat.py b/addons/report/models/report_paperformat.py index 948f400bed2..35678d19d06 100644 --- a/addons/report/models/report_paperformat.py +++ b/addons/report/models/report_paperformat.py @@ -1,9 +1,6 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from functools import partial - -from openerp import SUPERUSER_ID from openerp.osv import osv, fields @@ -94,44 +91,3 @@ class report_paperformat(osv.Model): } -class res_company(osv.Model): - _inherit = 'res.company' - - _columns = {'paperformat_id': fields.many2one('report.paperformat', 'Paper format')} - - def init(self, cr): - # set a default paperformat based on rml one. - ref = partial(self.pool['ir.model.data'].xmlid_to_res_id, cr, SUPERUSER_ID) - - ids = self.search(cr, SUPERUSER_ID, [('paperformat_id', '=', False)]) - for company in self.browse(cr, SUPERUSER_ID, ids): - paperformat_id = { - 'a4': ref('report.paperformat_euro'), - 'us_letter': ref('report.paperformat_us'), - }.get(company.rml_paper_format) or ref('report.paperformat_euro') - - if paperformat_id: - company.write({'paperformat_id': paperformat_id}) - - sup = super(res_company, self) - if hasattr(sup, 'init'): - sup.init(cr) - - -class ir_actions_report(osv.Model): - _inherit = 'ir.actions.report.xml' - - def associated_view(self, cr, uid, ids, context): - """Used in the ir.actions.report.xml form view in order to search naively after the view(s) - used in the rendering. - """ - try: - report_name = self.browse(cr, uid, ids[0], context).report_name - act_window_obj = self.pool.get('ir.actions.act_window') - view_action = act_window_obj.for_xml_id(cr, uid, 'base', 'action_ui_view', context=context) - view_action['domain'] = [('name', 'ilike', report_name.split('.')[1]), ('type', '=', 'qweb')] - return view_action - except: - return False - - _columns = {'paperformat_id': fields.many2one('report.paperformat', 'Paper format')} diff --git a/addons/report/models/res_company.py b/addons/report/models/res_company.py index 198579344b0..ecc05626e70 100644 --- a/addons/report/models/res_company.py +++ b/addons/report/models/res_company.py @@ -1,8 +1,9 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from openerp.osv import osv - +from functools import partial +from openerp.osv import osv, fields +from openerp import SUPERUSER_ID class ResCompany(osv.Model): _inherit = 'res.company' @@ -26,3 +27,28 @@ class ResCompany(osv.Model): def edit_internal_header(self, cr, uid, ids, context=None): return self._prepare_report_view_action(cr, uid, 'report.internal_layout') + +class res_company(osv.Model): + _inherit = 'res.company' + + _columns = {'paperformat_id': fields.many2one('report.paperformat', 'Paper format')} + + def init(self, cr): + # set a default paperformat based on rml one. + ref = partial(self.pool['ir.model.data'].xmlid_to_res_id, cr, SUPERUSER_ID) + + ids = self.search(cr, SUPERUSER_ID, [('paperformat_id', '=', False)]) + for company in self.browse(cr, SUPERUSER_ID, ids): + paperformat_id = { + 'a4': ref('report.paperformat_euro'), + 'us_letter': ref('report.paperformat_us'), + }.get(company.rml_paper_format) or ref('report.paperformat_euro') + + if paperformat_id: + company.write({'paperformat_id': paperformat_id}) + + sup = super(res_company, self) + if hasattr(sup, 'init'): + sup.init(cr) + + diff --git a/addons/report/views/ir_actions_report_views.xml b/addons/report/views/ir_actions_report_views.xml index 4596177741f..7a18b0c6480 100644 --- a/addons/report/views/ir_actions_report_views.xml +++ b/addons/report/views/ir_actions_report_views.xml @@ -14,5 +14,27 @@ + + + + act_report_xml_view_inherit + + ir.actions.report.xml + + + + +