Raise an error if no printer is configured

This commit is contained in:
Guewen Baconnier
2015-01-21 15:34:38 +01:00
committed by Sylvain GARANCHER
parent 83170107a8
commit fe9c7a54d3

View File

@@ -23,7 +23,7 @@
############################################################################## ##############################################################################
import logging import logging
from openerp import models, fields, api from openerp import models, fields, api, exceptions, _
_logger = logging.getLogger('base_report_to_printer') _logger = logging.getLogger('base_report_to_printer')
@@ -62,7 +62,7 @@ class ReportXml(models.Model):
report = report_obj._get_report_from_name(report_name) report = report_obj._get_report_from_name(report_name)
if not report: if not report:
return {} return {}
result = report.behaviour()[report.id] result = report.behaviour(raise_if_no_printer=False)[report.id]
serializable_result = { serializable_result = {
'action': result['action'], 'action': result['action'],
'printer_name': result['printer'].name, 'printer_name': result['printer'].name,
@@ -70,7 +70,7 @@ class ReportXml(models.Model):
return serializable_result return serializable_result
@api.multi @api.multi
def behaviour(self): def behaviour(self, raise_if_no_printer=True):
result = {} result = {}
printer_obj = self.env['printing.printer'] printer_obj = self.env['printing.printer']
printing_act_obj = self.env['printing.report.xml.action'] printing_act_obj = self.env['printing.report.xml.action']
@@ -109,6 +109,10 @@ class ReportXml(models.Model):
if user_action['printer']: if user_action['printer']:
printer = 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, result[report.id] = {'action': action,
'printer': printer, 'printer': printer,
} }