From 8feb1515fcf46e2436c31f1143142fbc929bd350 Mon Sep 17 00:00:00 2001 From: Jaime Arroyo Date: Tue, 6 Oct 2020 17:32:01 +0200 Subject: [PATCH] [IMP] base_report_to_printer: archive printers --- base_report_to_printer/models/printing_printer.py | 1 + base_report_to_printer/models/printing_server.py | 2 +- base_report_to_printer/tests/test_printing_server.py | 12 ++++++++++++ base_report_to_printer/views/printing_printer.xml | 7 +++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/base_report_to_printer/models/printing_printer.py b/base_report_to_printer/models/printing_printer.py index 3966270..df9b9ca 100644 --- a/base_report_to_printer/models/printing_printer.py +++ b/base_report_to_printer/models/printing_printer.py @@ -31,6 +31,7 @@ class PrintingPrinter(models.Model): _order = "name" name = fields.Char(required=True, index=True) + active = fields.Boolean(default=True) server_id = fields.Many2one( comodel_name="printing.server", string="Server", diff --git a/base_report_to_printer/models/printing_server.py b/base_report_to_printer/models/printing_server.py index 126795c..ad84029 100644 --- a/base_report_to_printer/models/printing_server.py +++ b/base_report_to_printer/models/printing_server.py @@ -61,7 +61,7 @@ class PrintingServer(models.Model): servers = self.search(domain) res = True - for server in servers: + for server in servers.with_context(active_test=False): connection = server._open_connection(raise_on_error=raise_on_error) if not connection: server.printer_ids.write({"status": "server-error"}) diff --git a/base_report_to_printer/tests/test_printing_server.py b/base_report_to_printer/tests/test_printing_server.py index f7c444e..d529e4a 100644 --- a/base_report_to_printer/tests/test_printing_server.py +++ b/base_report_to_printer/tests/test_printing_server.py @@ -89,6 +89,18 @@ class TestPrintingServer(TransactionCase): self.Model.action_update_printers() self.assertEqual("unavailable", rec_id.status) + @mock.patch("%s.cups" % model) + def test_update_archived_printers(self, cups): + """ It should update status even if printer is archived """ + rec_id = self.new_printer() + rec_id.toggle_active() + self.server.refresh() + cups.Connection().getPrinters().get.return_value = False + self.Model.action_update_printers() + self.assertEqual( + "unavailable", rec_id.status, + ) + @mock.patch("%s.cups" % model) def test_update_jobs_cron(self, cups): """ It should get all jobs from CUPS server """ diff --git a/base_report_to_printer/views/printing_printer.xml b/base_report_to_printer/views/printing_printer.xml index e09da05..852280d 100644 --- a/base_report_to_printer/views/printing_printer.xml +++ b/base_report_to_printer/views/printing_printer.xml @@ -33,6 +33,13 @@ /> + +