# Copyright (c) 2018 Creu Blanca # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import api, fields, models class ResRemote(models.Model): _inherit = "res.remote" remote_printer_ids = fields.One2many( "res.remote.printer", inverse_name="remote_id", ) @api.multi def get_printer_behaviour(self): self.ensure_one() printer_usage = self.env.context.get("printer_usage", "standard") printers = self.remote.remote_printer_ids.filtered( lambda r: r.printer_usage == printer_usage ).sorted(key="is_default", reverse=True) if printers: printer = printers[0] return { "action": "server", "printer": printer.printer_id, "tray": printer.printer_tray_id.system_name, } return {"action": "client"}