Volver a la wiki

Reorden manual de secciones del Dashboard por drag&drop (v1.50.0)

Descripción

A partir de v1.50.0 (13 de julio de 2026), los usuarios pueden reordenar manualmente las secciones del Dashboard (Maps y Filas) simplemente arrastrando su cabecera hacia arriba o abajo.

El orden es por organización (decisión arquitectónica): es información del datacenter compartida por todo el equipo, no una preferencia personal. Solo quienes tienen permiso blueprints:edit pueden reordenar; los lectores ven el resultado pero no pueden moverlo.

Comportamiento

Inicialización y persistencia

Arquitectura técnica

Backend

Modelo: Blueprint.sort_order (IntegerField, nullable)

Endpoint: POST /api/blueprints/reorder

Frontend

JavaScript: static/js/dashboard.js

CSS: static/css/pages/dashboard.css

HTML: Data attributes en templates

Internacionalización

3 strings nuevos en catálogo ES (locale/es/LC_MESSAGES):

  1. django.po: "Drag to reorder sections" → "Arrastra para reordenar las secciones"
  2. djangojs.po: "Section order saved" → "Orden de secciones guardado"
  3. djangojs.po: "Could not save the section order" → "No se pudo guardar el orden de las secciones"

Testing

tests/api/test_blueprints_reorder.py (3 test cases, todos verdes):

  1. test_reorder_applies_index_order: verifica que los blueprint_ids se mapean a sort_order = índice.
  2. test_foreign_and_deleted_ids_ignored: confirma que IDs de otra org y blueprints borrados no afectan.
  3. test_viewer_cannot_reorder: viewer (readonly) recibe 403, sort_order no cambia.

Migración: makemigrations --check sin drift; backfill seguro por organización.

Notas de implementación

Véase también

Subir