Hablemos de su proyecto
Partitech Sonata Extra Bundle

Sonata Extra Bundle: diario de actividad

Resumen La función de registro de actividades del Sonata Extra Bundle está diseñada para supervisar y registrar todas las actividades dentro del sitio de administración. Ofrece una vista completa de las acciones realizadas, los recursos implicados, las des...

Sonata Extra Bundle: diario de actividad

Resumen

La función de registro de actividades del Sonata Extra Bundle está diseñada para supervisar y registrar todas las actividades dentro del sitio de administración. Ofrece una vista completa de las acciones realizadas, los recursos implicados, las descripciones de las actividades y los usuarios que las llevaron a cabo.

Funcionalidades

  • Visualización del tipo de acción: Muestra el tipo de acción realizada (por ejemplo, crear, actualizar, eliminar).
  • Seguimiento de recursos: Identifica el recurso que ha sido afectado por la acción.
  • Descripción de la acción: Proporciona una descripción detallada de la actividad.
  • Identificación del usuario: Muestra el usuario que realizó la acción.
  • Vista detallada: Ofrece una visión profunda de los elementos modificados en cada actividad.
  • Cancelación: Incluye una función que permite deshacer los cambios cuando sea posible.

Pantallas

  • Vista en lista:

Índice_del_diario_de_actividad.png

  • Vista detallada:

Detalle_diario_actividad.png

Activación del registro de actividad

Para activar la funcionalidad del registro de actividad, la siguiente configuración del servicio debe añadirse a su archivo de servicios:

sonata-extra.doctrine_activity_listener:
    class: Partitech\SonataExtra\EventListener\DoctrineActivityListener
    tags:
        - { name: doctrine.event_listener, event: prePersist }
        - { name: doctrine.event_listener, event: preUpdate }
        - { name: doctrine.event_listener, event: preRemove }
        - { name: doctrine.event_listener, event: onFlush }
        - { name: kernel.event_listener, event: sonata.admin.event.batch_action.pre_batch_action, method: onPreBatchAction }

Detalles de la implementación

  • La clase DoctrineActivityListener es responsable de escuchar diversos eventos de Doctrine y de la administración Sonata.
  • Eventos como prePersist, preUpdate, preRemove y onFlush son monitoreados para registrar las actividades relacionadas con los cambios en el ciclo de vida de las entidades.
  • El método onPreBatchAction gestiona el registro de las acciones por lotes realizadas en la administración de Sonata.

Uso

Una vez activada, la función de Diario de actividad comenzará automáticamente a registrar las actividades según los eventos configurados. Los registros se pueden consultar en la interfaz de administración, donde los detalles de cada actividad se muestran de manera clara.

Conclusión

El registro de actividad es una función poderosa para monitorear y controlar las acciones dentro de la interfaz de administración Sonata. Mejora la transparencia y la responsabilidad al proporcionar registros claros y detallados de todas las actividades.

Adaptar el ejemplo a la versión instalada

Los ejemplos de Symfony y Sonata permanecen ligados a las versiones indicadas en el artículo. Symfony 4.x y Symfony 6.2 ya no se mantienen: para un proyecto actual, utilice una rama mantenida y la documentación que corresponda exactamente a sus dependencias.

php bin/console about
composer show symfony/framework-bundle sonata-project/admin-bundle

Antes de retomar el código, controle las firmas, los servicios, las rutas y las plantillas correspondientes. Después, agregue una prueba funcional que cubra los permisos, el código HTTP y el resultado visible.

Referencia: versiones de Symfony mantenidas.

Compartir este artículo