Posicionar campos por formulario

Tabla de contenidos

Esta funcionalidad permite posicionar campos por formulario, configurando la ubicación de los campos de forma independiente para cada formulario. Cada formulario puede tener su propio diseño de campos.

1. Activar la funcionalidad

La funcionalidad se controla mediante el feature flag ENABLE_DOCUMENT_TYPE_LAYOUT. Para activarla en una instalación existente, añade en tu archivo de settings:

ENABLE_DOCUMENT_TYPE_LAYOUT = True

IMPORTANTE

Tras activar el flag, los botones de Mover arriba/abajo/izquierda/derecha del panel de campos se ocultarán automáticamente. A partir de ese momento, la posición de los campos se gestiona desde el panel de administración.

2. Migrar posiciones existentes

Al activar la funcionalidad por primera vez, es necesario migrar las posiciones globales actuales a layouts individuales por formulario. Para ello, ejecuta el comando:

athadmin document_type_create_layout

Esto creará un Layout para cada formulario y copiará la posición (row, order) de cada campo al layout correspondiente.

3. Configurar la posición desde el Admin

Una vez creados los layouts, podrás gestionarlos desde la administración:

Ve a Admin → Document Type Layouts.

Selecciona el layout del formulario que quieras configurar.

En la sección Metadata Type Widgets, verás la lista de campos con sus posiciones:

Modifica los valores de Row y Column según el diseño deseado.

4. Comportamiento en el formulario

Cuando la funcionalidad está activa y el formulario tiene un layout configurado:

Los campos del formulario se agrupan y ordenan según las posiciones definidas en el layout (MetadataTypeWidget).

Si un campo no tiene widget en el layout, se utiliza su posición global como fallback.

Los botones para mover campos (↑ ↓ ← →) del menú desplegable de campos se ocultan cuando la funcionalidad está desactivada (ENABLE_DOCUMENT_TYPE_LAYOUT = False).