mirror of
https://github.com/OCA/report-print-send.git
synced 2025-02-16 07:11:31 +02:00
When get_pdf has no printer, just create the pdf file
And do not print anything, instead of raising an error.
This commit is contained in:
committed by
Graeme Gellatly
parent
e027233638
commit
c96f82cb40
@@ -23,7 +23,7 @@
|
||||
##############################################################################
|
||||
import logging
|
||||
|
||||
from openerp import models, fields, api, exceptions, _
|
||||
from openerp import models, fields, api
|
||||
|
||||
_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(raise_if_no_printer=False)[report.id]
|
||||
result = report.behaviour()[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, raise_if_no_printer=True):
|
||||
def behaviour(self):
|
||||
result = {}
|
||||
printer_obj = self.env['printing.printer']
|
||||
printing_act_obj = self.env['printing.report.xml.action']
|
||||
@@ -109,10 +109,6 @@ 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,
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from openerp import models
|
||||
from openerp import models, exceptions, _
|
||||
|
||||
|
||||
class Report(models.Model):
|
||||
@@ -34,6 +34,10 @@ class Report(models.Model):
|
||||
report = self._get_report_from_name(cr, uid, report_name)
|
||||
behaviour = report.behaviour()[report.id]
|
||||
printer = behaviour['printer']
|
||||
if not printer:
|
||||
raise exceptions.Warning(
|
||||
_('No printer configured to print this report.')
|
||||
)
|
||||
return printer.print_document(report, document, report.report_type)
|
||||
|
||||
def get_pdf(self, cr, uid, ids, report_name, html=None,
|
||||
@@ -48,7 +52,7 @@ class Report(models.Model):
|
||||
context=context)
|
||||
report = self._get_report_from_name(cr, uid, report_name)
|
||||
behaviour = report.behaviour()[report.id]
|
||||
if behaviour['action'] == 'server' and document:
|
||||
printer = behaviour['printer']
|
||||
printer = behaviour['printer']
|
||||
if behaviour['action'] == 'server' and printer and document:
|
||||
printer.print_document(report, document, report.report_type)
|
||||
return document
|
||||
|
||||
Reference in New Issue
Block a user