[IMP] printing_auto_base: log or raise

Select on printing.auto to log or raise errors
This commit is contained in:
Michael Tietz
2023-07-14 15:13:05 +02:00
committed by Jacques-Etienne Baudoux
parent 9dc8e3ad02
commit fb24e652fe
3 changed files with 19 additions and 4 deletions

View File

@@ -37,14 +37,21 @@ class PrintingAutoMixin(models.AbstractModel):
def _get_printing_auto(self):
return self.auto_printing_ids
def _handle_print_auto(self, printing_auto):
def _do_print_auto(self, printing_auto):
self.ensure_one()
printing_auto.ensure_one()
printer, count = printing_auto.do_print(self)
if count:
self._on_printing_auto_done(printing_auto, printer, count)
def _handle_print_auto(self, printing_auto):
printing_auto.ensure_one()
if printing_auto.action_on_error == "raise":
self._do_print_auto(printing_auto)
return
try:
with self.env.cr.savepoint():
printer, count = printing_auto.do_print(self)
if count:
self._on_printing_auto_done(printing_auto, printer, count)
self._do_print_auto(printing_auto)
except Exception as e:
_logger.exception(
"An error occurred while printing '%s' for record %s.",