Commit Graph

2933 Commits

Author SHA1 Message Date
22ace0c66e WIP: render entities 2026-02-16 13:02:46 +01:00
32c5f21438 Refactor subject conversion handling and enhance audit logging
- Replaced `Subject|array` return types with `SubjectBag` in `SubjectConverterInterface` for more robust handling.
- Updated `getSubjectsForEntity` to include an optional `$includeAssociated` parameter for finer control over associated subject resolution.
- Refactored `AuditEvent` to differentiate `mainSubject` from associated subjects, improving clarity in audit logging.
- Introduced database schema changes to add `main_subject` and `subjects` columns in the `chill_main_audit_trail` table.
- Added `SubjectBag` class for grouped subject management and implemented deduplication logic.
- Updated all converters and test cases to use the new `SubjectBag` approach, ensuring compatibility.
- Improved event dispatching in controllers to utilize the updated `AuditEvent` structure and refined metadata handling.
2026-02-13 17:07:30 +01:00
443ee4cb1a Update insert method in AuditTrailRepository to simplify nullable user handling
- Removed redundant null-check logic for `user_id` assignment.
- Updated query to directly handle optional users with safe navigation and nullable type support.
2026-01-28 22:36:26 +01:00
23d23da6b3 Specify \Throwable explicitly in ConvertSubjectException constructor for improved type clarity. 2026-01-28 22:35:29 +01:00
54e2777fa2 Update AuditTrailRepository to improve user handling and fix nullable user type in AuditTrail
- Changed `getUser` method in `AuditTrail` to allow null values by updating the return type to `?User`.
- Updated `insert` method in `AuditTrailRepository` to handle nullable users, ensuring the `user_id` parameter is set only when applicable.
- Improved code robustness by adding null-check logic for user assignment in the SQL query.
2026-01-28 22:35:13 +01:00
c1a0234358 Refactor subject conversion APIs and simplify usage in audit-related components
- Removed `convertEntityToSubjects` method from `SubjectConverterManager` and updated all references to use `getSubjectsForEntity`.
- Ensured `getSubjectsForEntity` always returns an array by wrapping single `Subject` instances.
- Replaced manual type handling in converters with `array_push` and improved code clarity in `AuditEvent2Trail` and related tests.
- Updated and fixed tests for the modified subject conversion logic to maintain coverage.
2026-01-28 22:34:55 +01:00
624cad8818 Add support for SubjectConverterManager awareness in converters and refactor subject retrieval.
- Introduced `SubjectConverterManagerAwareTrait` and `SubjectConverterManagerAwareInterface` for injecting subject converter manager into converters.
- Added `getSubjectsForEntity` method in `SubjectConverterManager` to centralize subject retrieval logic.
- Updated converters to set the subject converter manager when applicable.
2026-01-28 17:32:07 +01:00
59b322ee8e Register SubjectConverterInterface for autoconfiguration and add new audit services
- Registered `SubjectConverterInterface` for autoconfiguration with the `chill_main.audit_subject_converter` tag.
- Added `audit.yaml` to configure audit-related services and enable service discovery for the `Audit` namespace.
- Updated `services.yaml` to include the new `audit.yaml` configuration.
2026-01-28 16:19:54 +01:00
d6f9aa6b45 Refactor subject conversion in AuditEvent2Trail and enhance SubjectConverterInterface
- Replaced `array_map` with `array_reduce` in `AuditEvent2Trail` for flattening converted subjects.
- Enhanced `SubjectConverterInterface` with a `supportsConvert` method and PHPStan annotations to improve type safety and flexibility.
2026-01-28 16:19:25 +01:00
e27876aeeb Update AuditTrail entity with standardized column naming and new constants
- Renamed entity columns to adhere to naming convention (`action`, `id`, `occurredat`, `user_id`, `description`, `targets`, `metadata`).
- Added constants for audit actions (`AUDIT_VIEW`, `AUDIT_CREATE`, `AUDIT_UPDATE`, `AUDIT_DELETE`).
2026-01-28 16:18:58 +01:00
ee624cae4b Add AuditTrailPersisterInterface and improve AuditTrailPersister
- Introduced `AuditTrailPersisterInterface` to define the persisting contract.
- Updated `AuditTrailPersister` to implement the interface and delegate persistence to `AuditTrailRepository`.
- Added `AuditTrailRepository` with `persistImmediately` method to save audit trails directly to the database.
2026-01-28 16:18:45 +01:00
6bbdc858bd Add audit system core with event handling and subject conversion
- Implemented `AuditEvent` class to represent audit events.
- Added `AuditEvent2Trail` for converting events to audit trails.
- Introduced `Subject` and `SubjectConverterManager` for subject conversion.
- Created contracts like `SubjectConverterInterface` and `AuditEvent2TrailInterface`.
- Developed `AuditEventSubscriber` to persist audit events using `AuditTrailPersister`.
- Included test classes for core audit services and components.
2026-01-23 17:33:48 +01:00
ed41224d7a Add audit trail entity and migration
- Introduced `AuditTrail` entity to track user actions.
- Added Doctrine migration to create the `chill_main_audit_trail` table.
2026-01-23 17:33:18 +01:00
b6152d5356 Fix issues with permission for stored objects associated with workflows 2026-01-15 16:54:37 +00:00
06c5affbe7 Increase delay for removing stale workflows from 90 to 180 days
- Updated `KEEP_INTERVAL` in `CancelStaleWorkflowCronJob` to `P180D`.
2026-01-15 10:08:40 +01:00
bf461a1211 Merge branch '473-display-bundles-version' into 'master'
Resolve "Afficher le numéro de version de Chill dans l'UX"

Closes #473

See merge request Chill-Projet/chill-bundles!947
2026-01-13 15:35:26 +00:00
3f0ad51114 Resolve "Afficher le numéro de version de Chill dans l'UX" 2026-01-13 15:35:26 +00:00
8eb7a55ef5 Prevent notifications from being sent when the user signs a document he asked to himself 2026-01-13 15:31:49 +00:00
4919c03660 Eslint fixes 2025-12-05 15:09:15 +00:00
2ef789a794 fix eslint 2025-12-05 15:01:21 +01:00
9d398f2cb5 Merge branch 'dutch-translations' into 'master'
Dutch translations

See merge request Chill-Projet/chill-bundles!934
2025-12-05 12:00:56 +00:00
7186fd9fb8 Dutch translations 2025-12-05 12:00:56 +00:00
fb8cacb534 Merge branch '472-zimbra-connector' into 'master'
Create a connector to synchronize with zimbra calendars

Closes #472

See merge request Chill-Projet/chill-bundles!936
2025-12-05 11:59:32 +00:00
92d5fe154e Create a connector to synchronize with zimbra calendars 2025-12-05 11:59:32 +00:00
bcbf18addc Merge branch '474-improve-event-accessibility' into 'master'
Improve accessibility of event form

Closes #474

See merge request Chill-Projet/chill-bundles!932
2025-12-05 11:58:25 +00:00
ec93034802 Improve accessibility of event form 2025-12-05 11:58:24 +00:00
4c1690313b Resolve "Les utilisateurs désactivés apparaissent toujours dans les suggestions dans les échanges" 2025-12-05 11:56:29 +00:00
035028c81c Add missing fixtures for proper loading of AccompanyingPeriods 2025-11-26 05:35:10 +01:00
54b73128c3 Merge branch '470-alphabetical-order-admin' into 'master'
Alphabetically order userJobs and mainLocations within user creation form

Closes #470

See merge request Chill-Projet/chill-bundles!926
2025-11-24 09:18:03 +00:00
5c0cb01fdc Alphabetically order userJobs and mainLocations within user creation form 2025-11-24 09:18:03 +00:00
380d48c43a Hide inactive user groups in API responses 2025-11-19 15:19:25 +00:00
a43181d60d Remove the label if there is only one scope and no scope picking field is displayed. 2025-11-17 10:48:15 +00:00
799d04142e Ajouter une variable de localisation aux utilisateurs 2025-11-14 13:52:33 +00:00
82f347b93a Improve accessibility on the login page 2025-11-14 10:16:08 +00:00
a4cfc6a178 Permettre d'annuler un rendez-vous 2025-11-06 15:07:11 +00:00
bfe4dd3aec Merge branch 'master' into 385-invitation-list 2025-11-06 12:14:21 +01:00
671ed21d59 Expand timeSpent choices for evaluation document and translate them to user locale or fallback 'fr' 2025-11-05 09:29:50 +00:00
fa8e92ebf5 Merge branch '425-rename-cercle-and-centre' into 'master'
Resolve "Partout, renommer "cercle" en "service" et "centre" en "territoire""

Closes #425

See merge request Chill-Projet/chill-bundles!894
2025-11-04 15:25:11 +00:00
b7a92bf656 Resolve "Partout, renommer "cercle" en "service" et "centre" en "territoire"" 2025-11-04 15:25:10 +00:00
3dbbda7b64 Merge branch '452-workflow-suivi-ux' into 'master'
Redo ux for selceting follow-up preferences for workflow

Closes #452

See merge request Chill-Projet/chill-bundles!906
2025-11-04 15:00:51 +00:00
769d76a0cc Fix the possibility to delete a workflow when it is on hold 2025-11-04 13:52:54 +01:00
2221d17930 Redo ux for selceting follow-up preferences for workflow 2025-10-29 11:17:47 +01:00
94744b9542 Send notifications log to dedicated notifierLogger channel if available 2025-10-27 15:58:48 +00:00
f42bb498e4 Fix deprecation notice League/csv for createFromStream and createFromPath replaced by new from() method 2025-10-27 13:21:04 +01:00
d713704633 Merge branch '394-page-workflow-subscribed-only-finalize' into 'master'
Only show active workflow on the page "my tracked workflows"

Closes #394

See merge request Chill-Projet/chill-bundles!901
2025-10-15 10:13:38 +00:00
b1fa9242a0 Only show active workflow on the page "my tracked workflows" 2025-10-15 10:13:38 +00:00
372d8e5825 Fix sending of daily notification, when the previous last_execution parameter is not a valid last_execution date format 2025-10-15 10:12:10 +00:00
ddb2a65419 Take permissions into account for deletion of WorkflowAttachment (+ type safety) 2025-10-13 14:12:06 +00:00
d82c9cc9a7 Resolve "Ajouter un bandeau qui permet de distinguer les différents environnements" 2025-10-08 11:05:22 +00:00
bc2fbee5c6 Fix: notification edit template
form field addressesEmail removed
2025-10-06 12:14:00 +02:00