OdooWiki OCA HUB

Conditional Images

base_conditional_image folder_open OCA/server-tools open_in_new
Misc Licencia: AGPL-3

Este módulo amplía la funcionalidad de cualquier modelo para admitir imágenes condicionales (basadas en los atributos del registro) y gestionarlas de forma global o por compañía.

El objetivo principal de este módulo es evitar almacenar la misma imagen varias veces. Por ejemplo, para cada partner, hay una imagen relacionada (la mayoría de las veces, es la predeterminada). Con este módulo configurado correctamente, se almacenará solo una vez y podrás cambiarla cuando quieras para todos los partners.

ADVERTENCIA: este módulo no se puede usar en los mismos objetos que usan el módulo base_multi_image.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 18.0

Permite a los administradores definir imágenes reutilizables que se muestran automáticamente en los registros según condiciones, evitando el almacenamiento duplicado de imágenes. Un nuevo menú "Conditional Images" aparece en Settings > Technical.

Este módulo añade un nuevo menú "Conditional Images" en Settings > Technical donde los administradores pueden crear registros de imágenes. Cada registro tiene un nombre, el modelo de destino (por ejemplo, un partner o un producto), una compañía opcional y un selector escrito como una expresión de Python. El selector puede usar la variable object para referirse al registro actual, de modo que la imagen se muestra solo cuando la expresión es verdadera. Si no se establece ningún selector, la imagen se usa siempre.

Cuando un modelo usa el mixin consumidor de imágenes condicionales, sus campos de imagen (image_1920, image_1024, image_512, image_256, image_128) se calculan automáticamente. El sistema busca imágenes condicionales que coincidan con el modelo y la compañía del registro, evalúa los selectores y elige la primera imagen coincidente. Si el modelo tiene un campo de compañía, se prefieren las imágenes de la misma compañía; de lo contrario, se usan las imágenes sin compañía. Si ninguna imagen coincide, los campos de imagen quedan vacíos.

Esto permite almacenar una imagen una sola vez y reutilizarla en muchos registros, por ejemplo, una imagen predeterminada de partner. El módulo solo proporciona el framework; otros módulos deben añadir el mixin a sus modelos para beneficiarse de él. Los derechos de acceso permiten a todos los usuarios internos leer las imágenes condicionales, mientras que solo los usuarios técnicos (group_no_one) pueden crearlas, editarlas o eliminarlas.

Depende de

base
Modelos y campos (2)
  • conditional.image · modelo nuevoname, selector, company_id, model_name
  • conditional.image.consumer.mixin · modelo nuevoimage_128, image_256, image_512, image_1024, image_1920

Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 5 confirmadas, 4 sin información de 9 versiones.

Fuentes · Odoo 14.0

Confirmado el 2026-11-03 en la rama 14.0 de OCA/server-tools.

terminal Instalación y uso

Documentación de OCA · Odoo 18.0

El único propósito de este módulo es añadir un modelo abstracto para ser heredado. Por lo tanto, no notarás ningún cambio al instalarlo.

Para desarrollar usando este módulo, tienes que heredar el modelo abstracto conditional.image.consumer.mixin en el modelo que necesite las imágenes condicionales:

class ResPartner(models.Model): _inherit = ['res.partner', 'conditional.image.consumer.mixin'] _name = 'res.partner'

Después, configura cómo se seleccionarán las imágenes para cada registro.

Vaya a Technical Settings \> Settings \> Images para configurar todas las imágenes. Puede definir imágenes para objetos específicos, según los atributos y la compañía del objeto.

El selector debe devolver una expresión booleana. Todos los campos del objeto están disponibles para calcular el resultado.

El sistema primero intentará hacer coincidir una imagen con una compañía configurada, y luego con las que no tienen compañía. Si su objeto no tiene un campo company_id, esta comprobación se ignorará y solo se usarán las imágenes sin compañía.

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Configuración.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.