Raise an error if no printer is configured

This commit is contained in:
Guewen Baconnier
2015-01-21 15:34:38 +01:00
parent 22cde58f0e
commit 8344cca443
2 changed files with 11 additions and 5 deletions

View File

@@ -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,
}