diff --git a/base_report_auto_create_qweb/models/report_xml.py b/base_report_auto_create_qweb/models/report_xml.py index 02c12114d..768be451f 100644 --- a/base_report_auto_create_qweb/models/report_xml.py +++ b/base_report_auto_create_qweb/models/report_xml.py @@ -63,7 +63,7 @@ class IrActionsReport(models.Model): report_xml = super(IrActionsReport, self).create(values) if values.get('report_type') in ['qweb-pdf', 'qweb-html']: report_view_ids = self.env.context.get('report_views', False) - suffix = self.env.context.get('suffix', 'copy') + suffix = self.env.context.get('suffix') or 'copy' name = values['name'] model = values['model'] report = values['report_name'] @@ -92,7 +92,7 @@ class IrActionsReport(models.Model): return super(IrActionsReport, self).copy(default=default) if default is None: default = {} - suffix = self.env.context.get('suffix', 'copy') + suffix = self.env.context.get('suffix') or 'copy' default['name'] = '%s (%s)' % (self.name, suffix) module = '%s_%s' % ( self.report_name.split('.')[0], suffix.lower()) diff --git a/base_report_auto_create_qweb/tests/__init__.py b/base_report_auto_create_qweb/tests/__init__.py new file mode 100644 index 000000000..509aabdd0 --- /dev/null +++ b/base_report_auto_create_qweb/tests/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# (c) 2015 Oihane Crucelaegui - AvanzOSC +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +from . import test_base_report_auto_create_qweb diff --git a/base_report_auto_create_qweb/tests/test_base_report_auto_create_qweb.py b/base_report_auto_create_qweb/tests/test_base_report_auto_create_qweb.py new file mode 100644 index 000000000..176131870 --- /dev/null +++ b/base_report_auto_create_qweb/tests/test_base_report_auto_create_qweb.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# (c) 2015 Oihane Crucelaegui - AvanzOSC +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html + +import openerp.tests.common as common + + +class TestBaseReportAutoQwebCreate(common.TransactionCase): + + def setUp(self): + super(TestBaseReportAutoQwebCreate, self).setUp() + self.report_model = self.env['ir.actions.report.xml'] + self.duplicate_model = self.env['ir.actions.report.xml.duplicate'] + self.view_model = self.env['ir.ui.view'] + + def test_creation_html(self): + report_html = self.report_model.create({ + 'name': 'Test 1', + 'model': 'res.partner', + 'report_type': 'qweb-html', + 'report_name': 'test1.report_test', + }) + report_html.button_create_qweb() + view_num = self.view_model.search_count( + [('name', 'ilike', report_html.report_name.split('.')[1]), + ('type', '=', 'qweb')]) + self.assertEqual(view_num, 1, 'Only one view must be created.') + self.assertNotEqual(view_num, 0, 'There are not related views') + + def test_creation_duplicate_pdf(self): + report_pdf = self.report_model.create({ + 'name': 'Test 2', + 'model': 'res.partner', + 'report_type': 'qweb-pdf', + 'report_name': 'test2.report_test', + }) + report_pdf.button_create_qweb() + view_num = self.view_model.search_count( + [('name', 'ilike', report_pdf.report_name.split('.')[1]), + ('type', '=', 'qweb')]) + self.assertEqual(view_num, 1, 'One view must be created.') + self.assertNotEqual(view_num, 0, 'There are not related views.') + wizard = self.duplicate_model.with_context( + active_id=report_pdf.id, model=report_pdf.model).create({ + 'suffix': 'copytest', + }) + wizard.duplicate_report() + report_pdf_copies = self.report_model.search( + [('report_name', 'ilike', 'test2_copytest.report_test_copytest')]) + for report_pdf_copy in report_pdf_copies: + view_num2 = self.view_model.search_count( + [('name', 'ilike', report_pdf_copy.report_name.split('.')[1]), + ('type', '=', 'qweb')]) + self.assertEqual(view_num2, view_num, + 'Same view numbers must have been created.') + self.assertNotEqual(view_num, 0, 'There are not related views.') diff --git a/base_report_auto_create_qweb/views/report_xml_view.xml b/base_report_auto_create_qweb/views/report_xml_view.xml index 865b85b19..bfccb5b9d 100644 --- a/base_report_auto_create_qweb/views/report_xml_view.xml +++ b/base_report_auto_create_qweb/views/report_xml_view.xml @@ -15,7 +15,7 @@