From 69e81993d440ebd7754c72b0aba39c344c17a951 Mon Sep 17 00:00:00 2001 From: rodia Date: Fri, 22 Dec 2023 07:53:16 -0500 Subject: [PATCH] =?UTF-8?q?feat:=20Se=20a=C3=B1ade=20=20Tipo=20Usb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- printer.py | 23 +++++++++++++++++++++-- view/printer_form.xml | 14 ++++++++++---- view/printer_tree.xml | 5 +++-- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/printer.py b/printer.py index 872d655..5f704f8 100644 --- a/printer.py +++ b/printer.py @@ -1,13 +1,32 @@ from trytond.model import Model, ModelSQL, ModelView, fields +from trytond.pyson import Eval class Device(Model): 'Devices' __name__ = 'sale_device' + name = fields.Char("Name") - ip_address = fields.Char('IP Address or Network', help='IPv4 or IPv6 IP address or network. Valid values include: 192.168.0.26 or 192.168.0.0/24') - + type_ = fields.Selection([('usb', "Usb"), + ('network', "Network")], "Type") + ip_address = fields.Char('IP Address or Network', + states={'required': Eval('type_') == 'network', + 'invisible': Eval('type_') != 'network'}, + help='IPv4 or IPv6 IP address or network. Valid values include: 192.168.0.26 or 192.168.0.0/24') + idVendor = fields.Char('idVendor', states={ + 'required': Eval('type_') == 'usb', + 'invisible': Eval('type_') != 'usb', + }) + idProduct = fields.Char('idProduct', states={ + 'required': Eval('type_') == 'usb', + 'invisible': Eval('type_') != 'usb', + }) + + @classmethod + def default_type(cls): + return 'network' + class Printer(Device, ModelSQL, ModelView): 'Printer' __name__ = 'sale.printer' diff --git a/view/printer_form.xml b/view/printer_form.xml index 6fa4c32..603d4ad 100644 --- a/view/printer_form.xml +++ b/view/printer_form.xml @@ -4,12 +4,18 @@