Commit Graph

8068 Commits

Author SHA1 Message Date
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
412aa213c8 Add AccompanyingPeriodWorkSubjectConverter and integrate audit logging for accompanying period work
- Implemented `AccompanyingPeriodWorkSubjectConverter` to handle subject conversion for accompanying period work entities.
- Added unit tests to ensure proper functionality of the new converter.
- Integrated `AuditEvent` dispatching into `AccompanyingCourseWorkController` for viewing and listing accompanying period works.
2026-01-28 17:32:37 +01:00
d2f5b49131 Add audit logging and subject conversion for accompanying periods
- Added `AccompanyingPeriodSubjectConverter` to handle subject conversion for accompanying periods.
- Integrated `AuditEvent` dispatching into `AccompanyingCourseController` for key actions (e.g., create, view, update, delete, reopen).
- Extended translations to include audit-related messages for accompanying periods.
- Introduced tests for `AccompanyingPeriodSubjectConverter` to ensure proper functionality.
2026-01-28 17:32:27 +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
bb96b9312e Replace PrivacyEvent dispatch with AuditEvent for viewing a person.
- Updated `PersonController` to dispatch `AuditEvent` with `AUDIT_VIEW` action instead of `PrivacyEvent`.
- Added necessary `AuditEvent` and `AuditTrail` imports to the controller.
2026-01-28 16:20:01 +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
1de7da709c Add PersonSubjectConverter for handling Person subject conversion in audits
- Created `PersonSubjectConverter` class implementing `SubjectConverterInterface` to convert `Person` entities into `Subject` instances.
- Registered the `Audit` namespace in `services.yaml` to enable automatic service discovery.
2026-01-28 16:19:45 +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
8b708f8c73 fix CommentInput: replace deprecated value binding with model-value 2026-01-15 14:53:40 +01:00
3915574ed4 phpstan error fix 2026-01-15 13:40:46 +01:00
f3217d22ef Fix: acc periods of which user is the referrer should not be included if when the list is filtered by center and none of the participations are part of the center 2026-01-15 13:25:54 +01: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
a4de8eaab3 Merge branch '489-fix-desactivation-date-goarls-results' into 'master'
Fix issue with goal/result deactivation date handling and improve formatting

Closes #489

See merge request Chill-Projet/chill-bundles!949
2026-01-13 15:32:08 +00:00
2feb137ac2 Fix issue with goal/result deactivation date handling and improve formatting 2026-01-13 15:32:07 +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
281887355f Fix calculation of budget balance 2026-01-12 10:34:30 +01:00
47b285b584 Fix export group by center for persons without a center in CenterAggregator.php 2025-12-30 13:01:56 +01:00
7c9b4d02f6 Fix ordering of social actions
Actions with a closing date in the future should be considered as 'still open'.
2025-12-18 11:08:18 +01:00
3ff9bba4de Fix the condition to display concerned persons in calendar list items. 2025-12-18 10:24:24 +01:00
a49ea2b6b9 Fix translation syntax
Cannot start with %, wrap translation value in double quotes
2025-12-17 16:54:33 +01:00
a30232d3ce Merge branch '478-admin-list-filters' into 'master'
Resolve "Add filters to admin lists"

Closes #478

See merge request Chill-Projet/chill-bundles!941
2025-12-15 16:49:39 +00:00
c9513f2f6c Fix migration to exclude null user_id in activity_user population 2025-12-15 13:43:20 +00:00
11d7425883 php cs fixes 2025-12-15 10:48:20 +01:00
08897e0981 Fix count of total items for correct paginator display 2025-12-15 10:48:00 +01:00
98cbfed054 Add filtering methods to controllers 2025-12-15 10:48:00 +01:00
9af4d19744 Add repository methods for filtering 2025-12-15 10:48:00 +01:00
c1cf5a8bb2 Start implementation of filter within admin index pages 2025-12-15 10:48:00 +01:00
0f1ff9baf4 Fix CS 2025-12-11 14:43:29 +01:00
a16d659f69 Tentatively fix CTRL+C in Collabora editor with edge and chrome browser (+ remove zimbra bundle from configuration) 2025-12-11 13:26:10 +00:00
c4a069ba2e Fix display of header for ByActivityNumberAggregator 2025-12-10 05:13:24 +01:00
2600c6fa2a Fix ByActivityNumberAggregator when used on count exports within ActivityBundle 2025-12-10 05:06:03 +01:00
27853c594d Fix missing translation variable in NewLocation component 2025-12-10 04:17:29 +01:00
53b02a0ced Improve the display of upcoming calendar items within the person render box 2025-12-08 12:45:01 +00:00
4919c03660 Eslint fixes 2025-12-05 15:09:15 +00:00
2f1445a3f3 Refactor UserMenuBuilder to include User type check for better type safety 2025-12-05 14:50:06 +00:00
e47c23c903 Add a counter for invitations awaiting reply 2025-12-05 14:24:58 +00:00
2ef789a794 fix eslint 2025-12-05 15:01:21 +01:00
a29232410d Merge branch '456-doc-generation-active-status' into 'master'
Show whether doc generation template is active or not + order alphabetically

Closes #456

See merge request Chill-Projet/chill-bundles!914
2025-12-05 12:39:12 +00:00
4cbb4c3ae3 Show whether doc generation template is active or not + order alphabetically 2025-12-05 12:39:12 +00: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