Cómo utilizar el widget web_ribbon en formularios

12 de junio de 2023 por
Gustavo Orrillo
| Sin comentarios aún
 

Muchas veces es necesario permitirle al usuario, en forma rápida identificar cual es el estado de una transacción (por ejemplo, conocer si una factura está pagada o no). Y la verdad hacerlo mediante el widget statusbar no es del todo conveniente, debido a que el mismo a simple vista obliga a pensar cual es el estado de la transacción.

Un buen ejemplo son las facturas. Las mismas tienen el estado (el cual puede ser cancelado, borrador o posteado). Pero aparte tienen un campo extra que indica cual es el estado del pago (el campo payment_state) el cual es un campo computado que indica si la factura se encuentra conciliada o no (y si los pagos fueron conciliados). 

Cómo se agrega un ribbon a un formulario? Se debe extender la vista del formulario y agregar en forma invisible el campo a informar, para luego agregar el widget inmediatamente despues del elemento sheet del formulario

<xpath expr="//form/sheet" position="inside">
​<field name="validation_type" invisible="1" />
​<widget name="web_ribbon" 
​title="Homologacion" 
​attrs="{'invisible': [('validation_type', '!=', 'production')]}"/>
</xpath>

La idea es; el widget se muestra solo cuando la condición para mostrarlo es verdadera (en este caso validation_type debe ser diferente a producción). Por último, se puede cambiar el color del ribbon mediante el atributo bg_color

Gustavo Orrillo 12 de junio de 2023
Compartir
Categorías
Archivar
Identificarse dejar un comentario