Ir al contenido

CÓMO CREAR UN EFECTO RAINBOW MAN EN ODOO 19

CÓMO CREAR UN EFECTO RAINBOW MAN EN ODOO 19

Una integración más profunda del marco OWL (Odoo Web Library) para interfaces de usuario más dinámicas y efectivas es una de las muchas mejoras que Odoo 19 ofrece a su cliente web. Una de las características más encantadoras de Odoo es el "Rainbow Man" (Hombre Arcoíris), una animación de celebración que aparece después de completar tareas clave, como confirmar una orden de venta o ganar una oportunidad de CRM. Este efecto añade un toque de diversión y motivación a la experiencia del usuario, haciendo que las acciones rutinarias parezcan gratificantes.

En esta publicación, repasaremos cómo agregar y modificar el efecto Rainbow Man en Odoo 19.

¿Qué es el efecto Rainbow Man?

El Hombre Arcoíris es una animación incorporada en Odoo que presenta un personaje colorido y bailarín que aparece con un mensaje de éxito. Se activa en acciones como clics en botones que completan una tarea importante (por ejemplo, "¡Pedido confirmado!"). En Odoo 19, este efecto sigue siendo consistente con versiones anteriores.

Beneficios clave:

  • Bucle de retroalimentación: Ofrece prueba visual inmediata del logro.
  • Potencial de personalización: Modificar mensajes, tiempo de desvanecimiento e incluso agregar animaciones personalizadas con facilidad.

El efecto funciona perfectamente con nuevas funciones de interfaz de usuario, como cintas dinámicas y automatizaciones impulsadas por IA en el cliente web actualizado de Odoo 19, lo que lo hace perfecto para flujos de trabajo modernos.

Método 1: Uso de Odoo Studio (Enfoque sin código)

Odoo Studio le permite agregar el efecto Rainbow Man a los botones sin escribir código. Esto es perfecto para personalizaciones rápidas en aplicaciones como Ventas o CRM.

Pasos:

  1. Navegue hasta su modelo: Vaya a la aplicación deseada (ej. Ventas > Pedidos). Ingrese al modo Studio haciendo clic en el icono de herramientas (lápiz y regla) en la parte superior derecha.
  2. Seleccione un botón: Haga clic en un botón existente (como "Confirmar") en la vista de formulario. Los elementos editables se resaltarán.
  3. Propiedades del botón: Con el botón seleccionado, abra el panel de Propiedades a la izquierda.
  4. Habilite Rainbow Man: Busque la sección "Efecto de éxito" (Rainbow Effect) y active la opción Mostrar Hombre Arcoíris.
  5. Personalizar: Puede ingresar un mensaje divertido como "¡Trato cerrado!" o elegir una imagen personalizada si la opción lo permite.
  6. Pruébelo: Cierre Studio, realice la acción (confirme un pedido) y observe la magia.

Este método aprovecha el backend de Odoo para devolver el diccionario de efectos automáticamente sin tocar una sola línea de código Python.

Método 2: Desarrollo de módulos personalizados (Basado en código)

Para obtener más control y flexibilidad, puede crear un módulo personalizado. A continuación, mostramos cómo agregar el efecto al confirmar una Orden de Compra.

Paso 1: Estructura del módulo Supongamos un módulo llamado custom_rainbow:

Plaintext

custom_rainbow/
+-- __init__.py
+-- __manifest__.py
+-- models/
    +-- __init__.py
    +-- purchase_order.py

En __manifest__.py:

Python

{
    'name': 'Custom Rainbow Effect',
    'version': '19.0.1.0.0',
    'depends': ['purchase'],
    'data': [],
}

Paso 2: Heredar el modelo y modificar el método En models/purchase_order.py, sobrescribimos el método de confirmación para inyectar el efecto:

Python

# -*- coding: utf-8 -*-
from odoo import models, fields, api, _

class PurchaseOrder(models.Model):
    _inherit = 'purchase.order'

    def button_confirm(self):
        # Ejecuta la lógica original de confirmación
        res = super(PurchaseOrder, self).button_confirm()
        
        # Retorna el efecto visual
        return {
            'effect': {
                'fadeout': 'slow',
                'message': '¡Orden de Compra Confirmada!',
                'type': 'rainbow_man',
            }
        }

Explicación: El método button_confirm se extiende (override). Después de llamar a super() (que maneja la confirmación real en la base de datos), devolvemos un diccionario con la clave effect. El tipo 'rainbow_man' activa la animación. Puedes personalizar el mensaje y la velocidad de desvanecimiento (slow, fast, no_fadeout).

Ejemplo 2: Agregar un botón nuevo con el efecto Si prefieres agregar un botón totalmente nuevo en Ventas:

En views/sale_views.xml:

XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <record id="view_order_form_inherit_rainbow" model="ir.ui.view">
        <field name="name">sale.order.form.inherit.rainbow</field>
        <field name="model">sale.order</field>
        <field name="inherit_id" ref="sale.view_order_form"/>
        <field name="arch" type="xml">
            <xpath expr="//header" position="inside">
                <button name="action_activate_rainbow" 
                        string="Confirmar con Rainbow" 
                        type="object" 
                        class="btn-primary"/>
            </xpath>
        </field>
    </record>
</odoo>

En el modelo de Python (models/sale_order.py):

Python

class SaleOrder(models.Model):
    _inherit = 'sale.order'

    def action_activate_rainbow(self):
        # Lógica personalizada aquí...
        
        return {
            'effect': {
                'fadeout': 'slow',
                'message': '¡Botón Mágico Activado!',
                'type': 'rainbow_man',
            }
        }

Este enfoque funciona en el núcleo de Odoo 19 y se integra perfectamente con las nuevas automatizaciones.

Conclusión

Crear un efecto Rainbow Man en Odoo 19 es sencillo y aumenta la satisfacción del usuario con el mínimo esfuerzo. Para ganancias rápidas y sin conocimientos técnicos, comience con Studio; para experiencias personalizadas y lógica compleja, escale a módulos personalizados. Estos pequeños detalles de UX son cruciales para hacer que el uso del ERP sea más amigable y motivador.