Define una nueva vista que muestra eventos en un gráfico de visualización interactivo.
El widget se basa en la librería externa
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 19.0Añade una nueva vista Timeline a Odoo que muestra los registros como un gráfico temporal interactivo, agrupados por un campo, con niveles de zoom (día, semana, mes, año) y edición mediante arrastrar y soltar.
Este módulo añade un nuevo tipo de vista, llamada Timeline, que cualquier pantalla de Odoo puede usar para mostrar registros sobre un eje temporal horizontal. Cada registro aparece como una barra o un punto colocado en su fecha de inicio, opcionalmente terminando en una fecha de fin o extendido por un retardo en horas.
- Los registros se agrupan en filas por un campo elegido (por ejemplo un usuario, un proyecto o un estado), y una fila llamada UNASSIGNED recoge los registros sin grupo.
- Los botones situados encima del gráfico permiten al usuario saltar a Today y cambiar la escala entre Day, Week, Month y Year; el gráfico también puede ajustar todos los datos a la ventana.
- Si el usuario tiene derechos de escritura, los elementos se pueden arrastrar para cambiar sus fechas o moverlos a otro grupo; si tiene derechos de creación, se pueden añadir nuevos elementos directamente en el gráfico; si tiene derechos de borrado, los elementos se pueden eliminar tras un mensaje de confirmación.
- Al hacer clic en un grupo se abre el registro relacionado en un formulario; al hacer doble clic en un elemento se abre en un formulario, ya sea en un popup o cambiando a la vista de formulario, según la configuración de la vista.
- Se pueden asignar colores a los elementos mediante condiciones definidas en la vista, y se pueden dibujar flechas opcionales entre elementos que dependen unos de otros.
- La vista respeta la barra de búsqueda, los filtros y la agrupación habituales, y comprueba los permisos de creación, edición y borrado del usuario antes de habilitar esas acciones.
Técnicamente extiende ir.ui.view y ir.actions.act_window.view para que 'timeline' se convierta en un tipo de vista seleccionable, e incluye una vista timeline de demostración para las acciones planificadas (ir.cron).
Depende de
Lo necesitan otros módulos
Modelos y campos (2)
- ir.ui.view · amplía un modelo existentetype
- ir.actions.act_window.view · amplía un modelo existenteview_mode
Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. El módulo es muy grande y solo se ha leído una parte del código. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 8 confirmadas, 1 sin información de 9 versiones.
Fuentes · Odoo 12.0
Confirmado el 2026-11-03 en la rama 12.0 de OCA/web.
terminal Instalación y uso
Documentación de OCA · Odoo 19.0Configuración
Fuente · Odoo 19.0Necesitas definir una vista con la etiqueta \ como elemento base. Estos son los posibles atributos para la etiqueta:
| Atributo | ¿Obligatorio? | Descripción | |----|----|----| | date_start | Sí | Define el nombre del campo de tipo date que contiene el inicio del evento. | | date_stop | No | Define el nombre del campo de tipo date que contiene el fin del evento. El date_stop puede ser igual al atributo date_start para mostrar eventos como 'punto' en la Timeline (evento instantáneo). | | date_delay | No | Define el nombre del campo de tipo float/integer que contiene la duración en horas del evento, por defecto = 1. | | default_group_by | Sí | Define el nombre del campo que se tomará como agrupación por defecto al acceder a la vista o cuando no se selecciona ninguna otra agrupación. | | zoomKey | No | Especifica si la Timeline solo se amplía cuando se pulsa una tecla adicional. Los valores disponibles son '' (no se aplica), 'altKey', 'ctrlKey' o 'metaKey'. Establece esta opción si quieres poder usar el desplazamiento para navegar verticalmente en vistas con muchos eventos. | | mode | No | Especifica la ventana visible inicial. Los valores disponibles son: 'day' para mostrar el día actual, 'week', 'month' y 'fit'. El valor por defecto es 'fit' para ajustar la ventana visible de modo que quepan todos los elementos. | | margin | No | Especifica los márgenes alrededor de los elementos. Debe respetar el formato JSON. Por ejemplo '{"item":{"horizontal":-10}}'. Los valores disponibles son: '{"axis":\}' (el margen mínimo en píxeles entre los elementos y el eje temporal) '{"item":\}' (el margen mínimo en píxeles entre los elementos tanto en dirección horizontal como vertical), '{"item":{"horizontal":\}}' (el margen horizontal mínimo en píxeles entre los elementos), '{"item":{"vertical":\}}' (el margen vertical mínimo en píxeles entre los elementos), '{"item":{"horizontal":\,"vertical":\}}' (combinación entre los márgenes horizontal y vertical en píxeles entre los elementos). | | event_open_popup | No | Cuando se establece en true, permite editar los eventos en una ventana emergente. Si no (valor por defecto), el registro se edita cambiando a la vista de formulario. | | stack | No | Cuando se establece en false, los elementos no se apilarán unos sobre otros de modo que se solapen. | | colors | No | Permite establecer ciertos colores específicos si se cumple la condición expresada (sintaxis JS). | | dependency_arrow | No | Establece este atributo en un campo x2many para dibujar flechas entre los registros referenciados en el campo x2many. |
Opcionalmente puedes declarar una plantilla personalizada, que se usará para renderizar los elementos de la timeline. Tienes que nombrar la plantilla 'timeline-item'. Estas son las variables disponibles en el renderizado de la plantilla:
record: para acceder a los valores de los campos seleccionados en la definición de la timeline.formatters: se usa para formatear valores (ver funciones disponibles en@web/views/fields/formatters).parsers: se usa para parsear valores (ver funciones disponibles en@web/views/fields/parsers).
También necesitas declarar la vista en una acción de ventana del modelo implicado.
Ver web_timeline/demo/ir_cron_view.xml para un ejemplo muy básico de vista de timeline añadido a tareas cron.
Ejemplo más evolucionado, de project_timeline:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_task_timeline" model="ir.ui.view">
<field name="model">project.task</field>
<field name="type">timeline</field>
<field name="arch" type="xml">
<timeline date_start="date_assign"
date_stop="date_end"
string="Tasks"
default_group_by="project_id"
event_open_popup="true"
colors="white: user_ids == []; #2ecb71: state == '1_done'; #ec7063: state == '1_canceled'"
dependency_arrow="depend_on_ids"
>
<field name="user_ids" />
<field name="allocated_hours" />
<templates>
<t t-name="timeline-item">
<div class="o_project_timeline_item">
<t t-foreach="record.user_ids" t-as="user" t-key="user.id">
<img
t-if="record.user_ids"
t-attf-src="/web/image/res.users/#{user}/image_128/16x16"
t-att-title="record.user"
width="16"
height="16"
class="mr8"
alt="User"
/>
</t>
<span name="display_name">
<t t-esc="record.display_name" />
</span>
<small
name="allocated_hours"
class="text-info ml4"
t-if="record.allocated_hours"
>
<t
t-out="formatters.get('float_time')(record.allocated_hours)"
/>
</small>
</div>
</t>
</templates>
</timeline>
</field>
</record>
<record id="project.action_view_task" model="ir.actions.act_window">
<field
name="view_mode"
>kanban,list,form,calendar,timeline,pivot,graph,activity</field>
</record>
</odoo>Para acceder a la vista de línea de tiempo, tienes que hacer clic en el botón con el icono del reloj en el conmutador de vistas. La primera vez que accedas a ella, la ventana de línea de tiempo se ajusta para mostrar todos los elementos actuales, igual que cuando realizas una operación de búsqueda, filtro o agrupación.
Puedes usar la rueda del ratón para acercar o alejar en la línea de tiempo, y hacer clic en cualquier área libre y arrastrar para desplazar la vista en esa dirección.
Los registros de tu modelo se mostrarán como rectángulos cuyas anchuras son la duración del evento según nuestra definición. Puedes seleccionarlos haciendo clic en este rectángulo. También puedes usar las teclas Ctrl o Shift para añadir selecciones discretas o de rango. Los registros seleccionados se resaltan con un color diferente (pero la diferencia será más notable dependiendo del color de fondo). Una vez seleccionados, puedes arrastrar y mover los registros seleccionados a lo largo de la línea de tiempo.
Cuando se selecciona un registro, aparece un botón de cruz roja en la esquina superior izquierda que permite eliminar ese registro. Esto no funciona para múltiples registros aunque estuvieran seleccionados.
Los registros se agrupan en diferentes bloques dependiendo del criterio de agrupación seleccionado (si no se especifica ninguno, entonces se aplica la agrupación predeterminada). Arrastrar un registro de un bloque a otro cambia el campo correspondiente al valor que representa el bloque. También puedes hacer clic en el nombre del grupo para editar el registro implicado directamente.
Haz doble clic en el registro para editarlo. Haz doble clic en un área abierta para crear un nuevo registro con el grupo y la fecha de inicio vinculados al área en la que hiciste clic. Manteniendo pulsada la tecla Ctrl y arrastrando de izquierda a derecha, puedes crear un nuevo registro con las fechas de inicio y fin arrastradas.
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: Instalación.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
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.