40 Widgets de Odoo para crear interfaces llamativas
El # 26 es sencillamente genial.
27 junio, 2020 por
40 Widgets de Odoo para crear interfaces llamativas
Yen Martínez
| 1 Comentario

En más de una ocasión he escuchado a usuarios de Odoo halagar las funcionalidades que ofrece la plataforma, pero con la acotación de que algunas vistas o formularios son un poco 'planas', desde el punto de vista del diseño. Sin embargo los desarrolladores que realizan las correspondientes personalizaciones o nuevos módulos sobre la plataforma, tienen en sus manos la posibilidad de volver la interfaz más interesante, pues la misma ofrece herramientas para que, sin tener que 'reinventar la rueda', se creen recursos visuales elegantes y así los usuarios perciban un sistema atractivo además de práctico o funcional.

Si eres desarrollador(a) de aplicaciones Odoo, y eres de l@s que presta atención a los elementos que puedan garantizar una mejor experiencia de usuario al usar tus aplicaciones, hoy te propongo un pequeño tour por los widgets de Odoo 12 (CE).

Encontrarás muy útil la sección Modo de uso, donde te muestro un pequeño ejemplo de cómo usar cada widget en el código. También chequea la sección Ubicación en Odoo, de esta forma sabrás dónde buscarlo en la vista correspondiente  de la versión CE de Odoo .

1. progressbar

  • Modo de uso

<field name="progress"
                widget="progressbar"/>

 


 
  • Ubicación en Odoo:
    Departamentos (RRHH), Encabezado de la vista kanban de CRM.

                                            2. gauge

                                            • Modo de uso

                                            <field name="current" widget="gauge" options="{'max_field': 'target_goal', 'label_field': 'definition_suffix', 'style': 'width:160px; height: 120px;'}" />

                                            • Ubicación en Odoo:
                                              Vista Kanban Gamification

                                            3. priority

                                            • Modo de uso:
                                              <field name="priority"
                                              widget="priority"/>

                                            • Ubicación en Odoo:
                                              Oportunidades de CRM

                                            Odoo • Texto e imagen

                                            Permite mostrar las opciones del campo prioridad (Alto, Medio, Bajo) en forma de estrellas.

                                            4. boolean_favorite

                                            • Modo de uso:
                                              <field name="show_on_dashboard" widget="boolean_favorite" />

                                            • Ubicación en Odoo
                                              Vista Kanban de Proyectos

                                            Odoo • Texto e imagen

                                            Permite marcar un registro como favorito .

                                            5. kanban_activity

                                            • Modo de uso:

                                            <div class="o_kanban_inline_block">

                                                    <field name="activity_ids                 widget="kanban_activity"/>

                                            </div>

                                            Odoo • Texto e imagen
                                            • Ubicación en Odoo:
                                              Oportunidades de CRM

                                            6. monetary

                                            • Modo de uso:

                                              <field name="pos_order_amount_total" widget="monetary"/>

                                            • Ubicación en Odoo:
                                              Facturas, POS order y cualquier formulario que muestre un monto en alguna moneda.

                                            Odoo • Texto e imagen

                                            Permite mostrar la moneda establecida en la ficha de la compañía, al lado del monto correspondiente. 

                                            7. handle

                                            •   Modo de uso:

                                              <tree string="Stages">
                                                     <field name="sequence" widget="handle"/>

                                                       <field name="name"/>

                                                       <field name="probability"/>

                                                       <field name="team_id"/>

                                                </tree>

                                            • Ubicación en Odoo:
                                              Vista listado de Etapas o estados de las oportunidades del CRM

                                            Odoo • Texto e imagen


                                            Permite cambiar el orden de los registros solo arrastrándolos a la posición deseada.


                                            8. statinfo

                                            • Modo de uso:

                                            <button class="oe_stat_button"
                                                        type="object"
                                                        name="schedule_meeting"

                                                          icon="fa-calendar"

                                                       groups="sales_team.group_sale_salesman"

                                                       context="{'partner_id': active_id,         'partner_name': name}">

                                               <field string="Meetings" name="meeting_count"     widget="statinfo"/>

                                            </button>

                                            Odoo • Texto e imagen



                                            Permite mostrar el valor del campo correspondiente como parte del nombre del botón que lo contiene (estilo flat).

                                            • Ubicación en Odoo:

                                            Botones inteligentes en vistas Formulario como Facturas, Productos, Empleados, etc

                                            9. radio

                                            • Modo de uso:

                                            <field name="privacy_visibility"
                                                                widget="radio"/>

                                            Odoo • Texto e imagen

                                            Permite mostrar un campo de tipo Selection en forma de varios radiobuttons. 

                                            • Ubicación en Odoo
                                              Formulario de Proyecto

                                            10. boolean_button

                                            • Modo de uso:
                                              <button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive"><field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
                                              </button>

                                            • Ubicación en Odoo:
                                              Empleados, Productos, Proyectos y muchos  otros formularios en ODOO

                                                    Permite Archivar y Desarchivar cualquier         registro (o una acción equivalente)

                                            Odoo • Texto e imagen


                                            • Opciones para las Terminologías:

                                            1. options='{"terminology": {"string_true": "Published","hover_false": "Publish"}}'

                                            2. options='{"terminology": "archive"}'

                                            3. options='{"terminology": "active"}'

                                            4. options='{"terminology": {

                                               "string_true": "Production Environment",

                                               "hover_true": "Switch to test environment",

                                               "string_false": "Test Environment",

                                               "hover_false": "Switch to production environment"}}'

                                                      11. email

                                                      • Modo de uso:

                                                      <field name="work_email" widget="email"/>

                                                      .
                                                      Odoo • Texto e imagen
                                                      • Ubicación en odoo: Formulario de Empleados, de Clientes, etc

                                                      12. phone

                                                      • Modo de uso:

                                                      <field name="work_phone"
                                                                              widget="phone"/>


                                                      Odoo • Texto e imagen
                                                      • Ubicación en odoo:
                                                         Formulario de Empleados, de Clientes, etc.

                                                      13. char

                                                      • Modo de uso:
                                                        <field name="report_header"  widget="char"   placeholder="e.g. Global Business Solutions" />

                                                      • Ubicación en Odoo
                                                        Al configurar los reportes, donde se especifica el Lema de  la compañía

                                                      Odoo • Texto e imagen

                                                      Permite mostrar un campo de tipo Text, en una sola línea.

                                                      14. url

                                                      • Modo de uso:

                                                      <field name="google_drive_link"
                                                                          widget="url"/>


                                                      Odoo • Texto e imagenPermite abrir el enlace directamente.
                                                      • Ubicación en odoo:
                                                        Formulario de Empleados

                                                      15. state_selection

                                                      • Modo de uso:

                                                          <field name="kanban_state"                     widget="state_selection"/>

                                                      • Ubicación en Odoo:
                                                        Tareas de proyectos

                                                      Odoo • Texto e imagen

                                                      16. statusbar

                                                      • Modo de uso:

                                                          <field name="state" widget="statusbar"                     statusbar_visible="recruit,open"/>

                                                      • Ubicación en Odoo:
                                                        CRM, Contratos, Tareas

                                                      Odoo • Texto e imagenPermite mostrar los estados del registro en forma de barra en la esquina superior derecha.

                                                      17. many2many_tags 

                                                      • Modo de uso:

                                                        <field name="tag_ids" widget="many2many_tags" string="Tags"/>

                                                      • Ubicación en Odoo:
                                                        Empleados, Clientes, Tareas.

                                                         

                                                      Odoo • Texto e imagen


                                                      Permite mostrar los registros de un listado asociado, en forma de etiquetas y no de listado. Se muestra el campo name de los registros relacionados.

                                                      18. float_time 

                                                      • Modo de uso:

                                                          <field name="duration" widget="float_time"/>

                                                      • Ubicación en odoo: Tareas, Orden de Trabajo

                                                      Odoo • Texto e imagen


                                                      Permite representar valores float de un intervalo de tiempo. Soporta tipo de dato Float.

                                                      19. date

                                                      • Modo de uso:

                                                              <field name="create_date" widget="date"/>

                                                      • Ubicación en Odoo: En múltiples vistas formulario.

                                                      Odoo • Texto e imagen
                                                      Permite mostrar el componente para seleccionar la fecha sin hora.

                                                      20. domain

                                                      • Modo de uso:
                                                        <field name="mailing_domain"     widget="domain"   attrs="{'invisible':                         [('mailing_model_name', '=',  'mail.mass_mailing.list')]}"
                                                                                 options="{'model': 'mailing_model_real'}">
                                                         
                                                        </field>
                                                      • Ubicación en odoo: 
                                                        Campañas de correo masivo


                                                      Permite mostrar  un componente para configurar un dominio.

                                                      21. html_frame

                                                      • Modo de uso:
                                                        <field name="body_html" class="o_mail_body" widget="html_frame" options="{'editor_url': '/mass_mailing/field/email_template'}"/>

                                                      • Ubicación en  Odoo
                                                        Campañas de correo masivo

                                                         

                                                      Odoo • Texto e imagenPermite mostrar  un componente para seleccionar una plantilla de correo y personalizarla

                                                      22. attachment_image

                                                      • Modo de uso:

                                                        <div t-if="record.displayed_image_id.value">

                                                                     <field name="displayed_image_id"                             widget="attachment_image"/>

                                                              </div>

                                                      • Ubicación en odoo
                                                        Vista kanban de Tareas de proyecto


                                                      Odoo • Texto e imagen
                                                      Permite visualizar un adjunto (imagen) del registro, como una imagen en una posición determinada.

                                                      23. kanban_label_selection

                                                      • Modo de uso:

                                                      <field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'done': 'success'}}"
                                                      />


                                                      Odoo • Texto e imagen

                                                      Permite mostrar un campo selection en forma de etiquetas en la vista kanban, dependiendo del valor del campo

                                                      • Ubicación en Odoo
                                                        Vista de  kanban de Recepciones y Entregas de Inventario

                                                      24. label_selection

                                                      • Modo de uso:

                                                                 <div class="oe_kanban_bottom_right">
                                                                      <span class="float-right text-right">

                                                                         <field name="state"                 widget="label_selection" options="                       {'classes': {'draft': 'default',
                                                                              'cancel': 'default',                

                                                                                  'none': 'danger',
                                                                                      'open': 'warning',

                                                                                             'paid': 'success'}}"/>

                                                                     </span>

                                                                  </div>

                                                      Odoo • Texto e imagen

                                                      Permite mostrar una etiqueta en dependencia del valor correspondiente de un campo selection, generalmente estados. Se debe asignar un color (bootstrap) por cada posible valor.
                                                      Ubicación  en Odoo: Vista Kanban de Cuentas, Órdenes de producción, etc.

                                                      25. upgrade_button  

                                                      • Modo de uso:

                                                      <field name="module_account_3way_match" string="3-way matching" widget="upgrade_boolean"/>

                                                      • Ubicación en Odoo

                                                      Aplicaciones, Ajustes de varios  módulos

                                                      Odoo • Texto e imagen

                                                      Permite mostrar una etiqueta indicando al usuario que para usar cierta funcionalidad debe ‘Upgrade’ o cambiar a versión Enterprise.

                                                      26. mail_followers, mail_thread, mail_activity 

                                                      • Modo de uso:

                                                              <div class="oe_chatter">

                                                                 <field name="message_follower_ids" widget="mail_followers"
                                                                                  groups="base.group_user"/>

                                                                 <field name="activity_ids" widget="mail_activity"/>

                                                                 <field name="message_ids" widget="mail_thread"/>

                                                              </div>


                                                      Permite establecer seguidores de un registro (mail_followers), enviar mensajes internos y por mail (mail_thread) y planificar actividades (mail_activity). Para utilizarlos debes adicionar a tu modelo:
                                                      • inherit = ['mail.thread', 'mail.activity.mixin']

                                                      27. pdf_viewer

                                                      • Modo de uso:

                                                        <page string="Work Sheet">

                                                                             <field name="worksheet"                         widget="pdf_viewer"/>

                                                                  </page>


                                                      • Ubicación en Odoo

                                                      Operaciones asociadas a las rutas de producción en MRP

                                                      Odoo • Texto e imagen

                                                      Permite visualizar un documento PDF dentro de Odoo

                                                      28.mrp_time_counter 

                                                      • Modo de uso:

                                                      <field name="duration"         widget="mrp_time_counter"/>


                                                      Odoo • Texto e imagenPermite activar un contador en tiempo real que se detiene por una acción del usuario.
                                                      • Ubicación en Odoo:
                                                        Formulario de la Orden de Producción

                                                      29. bullet_state

                                                      • Modo de uso:

                                                      <field name="production_availability" nolabel="1" widget="bullet_state" options="{'classes': {'assigned': 'success', 'waiting': 'danger'}}" attrs="{'invisible': [('state', '=', 'done')]}"/>

                                                      Odoo • Texto e imagenPermite mostrar la disponibilidad de los productos materiales necesarios para la producción.
                                                      • Ubicación en Odoo:
                                                        Orden de trabajo, MRP


                                                      30.pad

                                                      • Modo de uso:

                                                        <field name="note_pad_url" widget="pad" class="oe_memo"/>

                                                      • Ubicación en Odoo

                                                      Modulo Notas + Pad (note_pad)


                                                      Permite a un equipo de usuarios acceder al mismo tiempo a una nota o pad, visualizando las actualizaciones de cada usuario en tiempo real. Para ello debe integrarse tu BD con Etherpad.

                                                      31. sms_widget

                                                      • Modo de uso:

                                                        <field name="message" widget="sms_widget"/>

                                                      • Ubicación en Odoo:  
                                                        Formulario de Clientes/Proveedores

                                                      Permite abrir un formulario para escribir un mensaje sms a los destinatarios. El ícono en la parte inferior muestra el detalle de las tarifas a cada país.

                                                      32. report_layout

                                                      • Modo de uso:

                                                          <field name="external_report_layout_id"         colspan="2" nolabel="1"         class="report_layout_container"

                                                                 widget="report_layout" options="{

                                                                 'field_image': 'preview_image',

                                                                 'field_binary': 'preview_pdf'

                                                             }"/>

                                                      • Ubicación en Odoo:
                                                        Al configurar los reportes para la empresa

                                                      Odoo • Texto e imagen
                                                      Permite seleccionar el diseño de los reportes a utilizar.

                                                      33. res_partner_many2one  

                                                      • Modo de uso:
                                                        <field name="partner_id"     string="Customer"           widget="res_partner_many2one"/>

                                                      •  Ubicación  en Odoo:
                                                        En la ficha de la Oportunidad CRM

                                                            
                                                      Odoo • Texto e imagenBúsqueda automática en la web, de empresas  con el nombre que vas digitando

                                                      34. dashboard_graph 

                                                      • Modo de uso:

                                                      <t t-name="SalesTeamDashboardGraph">
                                                      <div t-if="record.dashboard_graph_data.raw_value" class="o_sales_team_kanban_graph_section"> 
                                                            <field name="dashboard_graph_data"                     widget="dashboard_graph"
                                                                                       t-att-graph_type=
                                                      "record.dashboard_graph_type.raw_value"/>  </div></t>

                                                      Odoo • Texto e imagen
                                                      Utilizado para representar datos gráficamente
                                                      • Ubicación en Odoo:
                                                        Tablero de equipos de venta y Diarios    contables.

                                                         

                                                                        35.website_publish_button  

                                                                        • Modo de uso

                                                                        <button class="oe_stat_button"             name="website_publish_button"

                                                                               type="object" icon="fa-globe" attrs="    {'invisible': [('sale_ok','=',False)]}">

                                                                               <field name="website_published"                 widget="website_button"/>

                                                                        </button>

                                                                        Odoo • Texto e imagen
                                                                        Permite mostrar un botón que informa si el registro está publicado en la web de la empresa o no.
                                                                        Ubicación en Odoo:
                                                                        Productos, Métodos de pago

                                                                        36.section_and_note_one2many, section_and_note_text 

                                                                        • Modo de uso:

                                                                        <field name="invoice_line_ids"

                                                                               nolabel="1"

                                                                               widget="section_and_note_one2many"

                                                                               mode="tree,kanban"

                                                                               context="{'type': type, 'journal_id': journal_id, 'default_invoice_id': id}">

                                                                               <tree string="Invoice Lines" editable="bottom">

                                                                                   <control>

                                                                                       <create string="Add a line"/>

                                                                                       <create string="Add a section" context="{'default_display_type': 'line_section'}"/>

                                                                                       <create string="Add a note" context="{'default_display_type': 'line_note'}"/>

                                                                                   </control>
                                                                                    ...

                                                                            </tree>

                                                                        </field>

                                                                        • Ubicación en OdooFacturas y Órdenes de Venta
                                                                          Permite dividir el listado de líneas de facturas en secciones y adicionar notas a las líneas.

                                                                                                        37. payment

                                                                                                        Modo de uso:
                                                                                                        <field name="payments_widget" colspan="2" nolabel="1" widget="payment"/>

                                                                                                        Ubicación en Odoo:
                                                                                                            Pie de factura
                                                                                                        Este widget muestra información detallada de los pagos que se han efectuado asociados a una factura.

                                                                                                        38. many2many_checkboxes  

                                                                                                        • Modo de uso:

                                                                                                          <field name="inbound_payment_method_ids" widget="many2many_checkboxes"/>

                                                                                                        • Ubicación en Odoo

                                                                                                                Formulario dle Diario (Journal)

                                                                                                        Odoo • Texto e imagen
                                                                                                        Muestra las opciones en forma de listado de  checkboxes

                                                                                                        39. selection

                                                                                                        • Modo de uso:

                                                                                                                <field name="team_id" widget="selection"                 domain="[('use_leads','=',True)]"/>

                                                                                                        • Ubicación en Odoo:
                                                                                                          Oportunidades de CRM

                                                                                                        Odoo • Texto e imagen
                                                                                                        Permite mostrar los registros disponibles en un campo many2one como un seleccionable, de manera que no puedas crear nuevos registros o editar los que ya se muestran.

                                                                                                        40. image

                                                                                                        • Modo de uso:

                                                                                                          <field name="image" widget='image' class="oe_avatar" options='{"preview_image": "image_medium"}'/>

                                                                                                        Odoo • Texto e imagen
                                                                                                        • Ubicación en Odoo

                                                                                                            Usuarios, Clientes/Proveedores,     Empleados, Productos, Compañía


                                                                                                        Y esto es todo por hoy.  Si conoces alguno que no esté incluido acá, déjamelo en los comentarios, y si te gustó ... recuerda compartir ...  ; ).

                                                                                                        40 Widgets de Odoo para crear interfaces llamativas
                                                                                                        Yen Martínez
                                                                                                        27 junio, 2020
                                                                                                        Share this post
                                                                                                        Archivar
                                                                                                        Registrarse to leave a comment