From fe9c7a54d335526ce18aac736fb9e11dbfa1bdf4 Mon Sep 17 00:00:00 2001 From: Guewen Baconnier Date: Wed, 21 Jan 2015 15:34:38 +0100 Subject: [PATCH] Raise an error if no printer is configured --- base_report_to_printer/ir_report.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/base_report_to_printer/ir_report.py b/base_report_to_printer/ir_report.py index 7238277..6e2bca5 100644 --- a/base_report_to_printer/ir_report.py +++ b/base_report_to_printer/ir_report.py @@ -23,7 +23,7 @@ ############################################################################## import logging -from openerp import models, fields, api +from openerp import models, fields, api, exceptions, _ _logger = logging.getLogger('base_report_to_printer') @@ -62,7 +62,7 @@ class ReportXml(models.Model): report = report_obj._get_report_from_name(report_name) if not report: return {} - result = report.behaviour()[report.id] + result = report.behaviour(raise_if_no_printer=False)[report.id] serializable_result = { 'action': result['action'], 'printer_name': result['printer'].name, @@ -70,7 +70,7 @@ class ReportXml(models.Model): return serializable_result @api.multi - def behaviour(self): + def behaviour(self, raise_if_no_printer=True): result = {} printer_obj = self.env['printing.printer'] printing_act_obj = self.env['printing.report.xml.action'] @@ -109,6 +109,10 @@ class ReportXml(models.Model): if user_action['printer']: printer = user_action['printer'] + if not printer and raise_if_no_printer: + raise exceptions.Warning( + _('No printer configured to print this report.') + ) result[report.id] = {'action': action, 'printer': printer, }