- Removed unused `StoredObjectRepository` dependency and improved transaction management by replacing `beganTx` flag with `isTransactionActive` checks.
- Adjusted entity locking logic to separate `find()` and `lock()` calls for `StoredObject`.
- Simplified `AuditEventDumper` by removing redundant assertions and unused `AuditTrail` import.
- Standardized subject display configuration in `AuditEventDumper` and ensured consistent data formatting.
- Added a new menu item for viewing audit trails with associated permissions checks.
- Integrated access control using `ROLE_SEE_AUDIT_TRAILS` in multiple controllers.
- Updated French translations for audit trail-related labels and menu items.
- Moved the `FIELDS` constant from `UserRepository` to `UserRepositoryInterface` to improve consistency and sharing.
- Updated SQL queries to include new fields (`absenceStart`, `mainLanguage`, and `isRoleSeeAuditTrails`).
- Streamlined CSV export logic to reference the shared `FIELDS` constant.
- Added a `roles` column to the `users` table using a JSONB data type.
- Updated the `User` entity to include role management methods (`getRoles`, `addRole`, `removeRole`).
- Modified the `UserType` form to allow selecting special roles.
- Updated Twig templates to display assigned roles in the user list.
- Added new translations for roles and updated French translation keys in `messages.fr.yml`.
- Added a new guide on using Collabora Online and WebDAV for document editing in development.
- Updated `index.md` to include a link to the new document.
- Modified `mkdocs.yml` to register the new guide in the development section.
- Added `TriggerAuditInterface` to `WebdavController`, `ConvertController`, and `AsyncUploadController`, with audit triggers for create, update, view, and convert actions using translatable messages.
- Enhanced `ChillWopi` service with audit triggers for file operations (view, update) and integrated French translations for audit labels.
- Updated `messages.fr.yml` to include new translatable keys for audit actions in both WOPI and WebDAV contexts.
- Registered `TriggerAuditInterface` as a dependency in modified classes to enable audit tracking functionality.
- Introduced `SingleTaskSubjectConverter` for audit conversion logic and `SingleTaskSubjectDisplayer` for display logic, including a Twig template.
- Integrated `TriggerAuditInterface` into `SingleTaskController` and added audit triggers for create, view, update, delete, and list actions with translatable descriptions.
- Registered new audit-related services in `services.yaml` and loaded `services.yaml` in the extension.
- Created unit tests to validate the behavior of the subject converter and related functionality.
- Added French translations for audit messages related to `SingleTask`.
- Added `TriggerAuditInterface` to the controller and implemented audit triggers for create, view, update, and delete actions.
- Updated constructor dependencies to include the audit trigger service.
- Added `TriggerAuditInterface` to both controllers and implemented audit triggers with translatable descriptions for listing actions.
- Updated constructor dependencies to include the audit trigger service.
- Introduced `AccompanyingCourseDocumentSubjectConverter` for audit conversion logic.
- Added `AccompanyingCourseDocumentSubjectDisplayer` for handling audit display logic, including a Twig template.
- Created unit tests to verify proper behavior of the converter and displayer.
- Introduced `StoredObjectSubjectConverter` for audit conversion logic and `StoredObjectSubjectDisplayer` for display logic.
- Added corresponding Twig template and French translations for audit messages.
- Created unit tests to ensure proper functionality of the converter and displayer.
- Introduced `AssociatedEntityToStoredObjectInterface` and `AssociatedEntityToStoredObjectRepository` for linking stored objects to specific entities.
- Registered `AssociatedEntityToStoredObjectInterface` with autoconfiguration and added custom repository logic.
- Updated `ChillDocStoreBundle` to tag repositories implementing the new interface for streamlined usage.
- Introduced `CommentSubjectConverter` and `CommentSubjectDisplayer` for audit conversion and display logic.
- Integrated `TriggerAuditInterface` into `AccompanyingCourseCommentController` and added audit triggers for create, view, update, delete, pin, unpin, and list actions with translatable descriptions.
- Added unit test `CommentSubjectConverterTest` to ensure proper behavior of the subject converter.
- Enhanced French translations (`messages.fr.yml`) with audit-related labels for comment actions.
- Added examples to demonstrate how to override the `onAfterFlush` method for triggering audits based on HTTP methods.
- Updated developer documentation (`audit.md`) with detailed instructions and code snippets.
- Added `TriggerAuditInterface` to controllers and implemented audit triggers for create, update, delete, view, and list actions.
- Replaced `EventDispatcherInterface` with `triggerAudit` calls in relevant points.
- Enhanced French translations (`messages.fr.yml`) with audit-related labels for accompanying course work actions.
- Introduced `ActivityDisplayer` and `ActivitySubjectConverter` for handling audit display and conversion logic.
- Integrated `TriggerAuditInterface` in `ActivityController` and added audit triggers for create, list, update, delete, and view actions with translatable descriptions.
- Updated `services.yaml` to register new audit-related services.
- Enhanced French translations with audit-related labels for `Activity`.
- Introduced `AUDIT_LIST` constant in `AuditTrail` entity to support "list" action auditing.
- Updated French translations (`messages.fr.yml`) to include label for "list" action.
- Introduced `AUDIT_LIST` constant in `AuditTrail` entity to support "list" action auditing.
- Updated French translations (`messages.fr.yml`) to include label for "list" action.
- Added `audit.md` to explain how to trigger audits, best practices, and internal architecture.
- Updated `mkdocs.yml` to include the new "Audit" section in the developer guide.
- Integrated `TriggerAuditInterface` in `AccompanyingCourseApiController` to handle audit events.
- Added audit triggers for participation, requestor, confidentiality, and intensity actions using translatable descriptions.
- Updated French translations to include new audit-related messages.
- Migrated from `EventDispatcherInterface` to `TriggerAuditInterface` for handling audit events.
- Updated all audit-related calls to use `triggerAudit` instead of `dispatch` in the controller.
- Introduced `HouseholdCompositionDisplayer` and `HouseholdCompositionSubjectConverter` to handle audit display and conversion logic.
- Integrated audit triggers for create, view, and delete actions in `HouseholdCompositionController`.
- Added French translations for audit-related messages and household composition labels.
- Integrated `TriggerAuditInterface` in `HouseholdController` and added audit triggers for view and update actions.
- Added onAfterFlush audit handling in `RelationApiController` to support create, update, and delete events.
- Updated `HouseholdMembersRepository` with a `find` method for retrieving `HouseholdMember` entities.
- Added `HouseholdSubjectDisplayer` and `HouseholdMemberSubjectDisplayer` classes to handle audit display logic.
- Created Twig templates `household.html.twig` and `household_member.html.twig` for rendering audit information.
- Integrated support for HTML and text formats when displaying audit entries.
- Added `TriggerAuditInterface` to `MembersEditorFactory` and `MembersEditor` for managing audit events.
- Implemented `triggerAudit` method in `MembersEditor` to log participation edits with translatable descriptions.
- Updated `HouseholdMemberController` to invoke `triggerAudit` after saving changes.
- Implemented `HouseholdConverter` to handle `Household` entity conversions with support for associated members.
- Added `HouseholdParticipationConverter` to convert `HouseholdMember` entity and retrieve linked person and household subjects.
- Ensures compatibility with the audit system via `SubjectConverterInterface`.
- Added `TriggerAuditInterface` to enable seamless audit event handling.
- Implemented audit triggers for create, update, delete, and view actions.
- Enhanced controllers to include translatable audit descriptions for better tracking of actions.
- Implemented `PersonResourceSubjectDisplayer` to provide display logic for `PersonResource` audits.
- Added `PersonResourceSubjectConverter` to handle conversion to `Subject` format.
- Created Twig template `person_resource.html.twig` for rendering `PersonResource` audit display.
- Introduced `getAssociated` method to retrieve either `Person`, `ThirdParty`, or `null`.
- Provides a unified accessor combining `person` and `thirdParty` properties.
- Introduced `TriggerAuditInterface` to define the contract for triggering audit events.
- Implemented `TriggerAuditService` to encapsulate audit event creation and persistence logic.
- Added methods to handle audit actions with metadata and translatable descriptions.
Resolve "Téléchargement des documents d'un workflow: limiter à 30 téléchargements plutôt que 100"
Closes#500
See merge request Chill-Projet/chill-bundles!964
Resolve "Des codes postaux marqués comme supprimés apparaissent toujours dans la recherche d'adresse"
Closes#499
See merge request Chill-Projet/chill-bundles!963
- Added new French translations for audit trail download states in `messages.fr.yml`.
- Updated `waitForDump` endpoint to render a Twig template with download status.
- Created `download.html.twig` to display the download status with dynamic messages for different states.