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).