Programacion Interactiva

Descubre una Nueva y Poderosa Herramienta.

FrameWork de Nueva Generacion

Acceso a tu Informacion desde cualquier Dispositivo con Navegador.

Enfoque en el Backend

Frontend de forma facil con Odoo y XML.

Creacion de Verticales

Creacion de nuevas Verticales Conquistando nuevos Mercados.

Tu marca aqui mismo

Llega a miles de personas.

Publicidad

Mostrando las entradas con la etiqueta popup con odoo. Mostrar todas las entradas
Mostrando las entradas con la etiqueta popup con odoo. Mostrar todas las entradas

jueves, 12 de mayo de 2016

Pop-Up (Ventanas Emergentes) Odoo

Tipos de Ventanas Emergentes en Odoo


Como podemos crear una ventana Emergente en Odoo?

Muchos hemos tenido la necesidad de poder enviar mensajes para validar procesos en Odoo, esto nos ayuda a evitar errores de programación, el buen funcionamiento de nuestra logica de negocio o flujo de funcional, etc., mencionare 3 formas de poder enviar ventas emergentes para el usuario:

  1. Ventana de Advertencia desde metodos onchange. Uno de los tipos de mensajes que podemos enviar al usuario es desde un mƩtodo onchange (Evento al Cambio), esto nos puede ayudar para dar aviso al usuario que al modificar un valor del formulario este afectara el comportamiento de ese Registro, por ejemplo aƱadir un producto sin existencias en un pedido de Venta o una tarifa invalida para ciertos productos.

    El  código para enviar este tipo de mensajes es directamente desde el return de nuestro mĆ©todo onchange, si recordamos este envĆ­a un diccionario, solo debemos aƱadir el atributo 'warning' :
    return {'value': res, 'warning': warning }
    El atributo warning recibe un subdiccionario compuesto de 2 partes, el titulo y el mensaje, el código es el siguiente:
    warning = {
               'title': "Advertencia!",
               'message': "Cuerpo del Mensaje de Advertencia!"),
                                }
    Como nota, este tipo de mensajes no detiene el flujo del proceso que estemos ejecutando, solo  envĆ­a una Advertencia al usuario.
  2. Exception ORM (Excepciones Odoo). Este tipo de advertencias a diferencia de los metodos onchange, interrumpe completamente el flujo del proceso que se este ejecutando y hace una reversión de lo que hayamos creado, actualizado o borrado.
    Para Ejecutar este tipo de Excepcion, debemos importar la librerĆ­a:
    from openerp.exceptions import except_orm
    
    Posterior a importarla solo debemos integrarla en nuestros metodos, para lanzar una excepcion debemos enviarla de la siguiente forma:
    raise except_orm(_('Error'),
                     _('Mensaje interruptor del Flujo!'))
    Este tipo de errores funcionan para validar parÔmetros necesarios para nuestro metodo, falta de datos, información erronea, etc.

  3. Ventana Emergente con mensajes para el Usuario. Este tipo de mensajes nos sirven para dar una aviso al usuario sobre la finalización de un proceso o la modificación de un registro, el uso que le demos no tiene limites y este tipo de mensajes no interrumpen el flujo del sistema.
    Este mensaje se envĆ­a desde el return de la siguiente manera:
    return {
            'type': 'ir.actions.client',
            'tag': 'action_warn',
            'name': _('Aviso'),
            'context' : context,
            'params': {
               'title': _('Aviso'),
               'text': _(u'Mensaje para el usuario'),
               'sticky': True
           }}