340 Commits

Author SHA1 Message Date
d1d6a00ebf
Add failure handling for export generation errors
Introduce `OnExportGenerationFails` subscriber to handle export generation failures. It logs errors, updates the export status to failure, and records generation errors. Added tests to validate the new functionality.
2025-04-05 00:07:08 +02:00
e48bec490c
Compute allowed centers and regroupment at the time of generating the export 2025-04-03 17:47:46 +02:00
128d365a72
Convert Rolling date using the clock instead of the built-in pivot date 2025-04-03 17:47:08 +02:00
10f66afdcd
Update date formatting and add null-safe checks for pivot dates
Revised the date normalization format to align with ISO standards and ensure consistency. Additionally, introduced null-safe checks for pivot dates to avoid potential errors when these values are unset. Updated related tests to reflect these changes.
2025-04-02 11:35:47 +02:00
89aed74355
Refactor RollingDateConverter to use ClockInterface
Introduced ClockInterface for better time mocking and handling, replacing default instantiation with dependency injection. Adjusted RollingDate logic to accept nullable pivot dates and updated related tests for improved flexibility and accuracy.
2025-04-02 11:08:01 +02:00
80d8f967fa
Moved export listing functionality from ExportController to a new ExportIndexController
for improved separation of concerns. Updated tests accordingly to reflect the new controller structure.
2025-04-01 13:20:48 +02:00
b2d8d21f04
Add export generation creation from saved export endpoint
Introduce a new controller for creating export generations from saved exports using a POST endpoint. Updates include a new route, serialization groups, and a corresponding test to validate functionality.
2025-03-16 22:47:57 +01:00
80ce7f0bf1
Implement ExportGenerationController with waiting and status routes
Added a new controller to handle export generation wait views and status responses. Updated ExportController to redirect to the 'wait' route after export generation. Introduced tests to validate object status handling for pending and ready states.
2025-03-13 15:29:49 +01:00
85a9c6bb67
Refactor export manager and normalize configuration handling
Simplified formatter and aggregator logic by removing redundant fields and improving method checks (e.g., `hasAggregator`, `hasFilter`). Adjusted test cases to align with the updated structure and added tests for empty data normalization and denormalization. Improved code readability and ensured better handling of edge cases in export data processing.
2025-03-13 14:18:54 +01:00
4f030eb11a
Add date normalization and denormalization functionality
Introduce methods to normalize and denormalize DateTime objects using specific formats. Also, implement corresponding unit tests to ensure correct handling of single and multiple Doctrine entities, as well as date normalization.
2025-03-12 10:00:39 +01:00
0d2a487ae7
Add new normalization methods on filters, aggregators exports and formatter by applying rector rule 2025-03-11 22:28:42 +01:00
229f9b7125
Rename getVersion to getNormalizationVersion.
This change improves clarity by making the method name more descriptive and aligned with its purpose. All relevant interfaces, classes, and tests have been updated accordingly to reflect this renaming.
2025-03-10 21:37:32 +01:00
2c91d2e10f
Add normalization and denormalization for RollingDate
Introduce methods to normalize and recreate RollingDate objects, ensuring consistent serialization and deserialization. Includes corresponding tests for both cases with and without a pivot date.
2025-03-10 21:07:54 +01:00
1751c65731
add missing arguments to method alterQuery (wip) 2025-02-24 16:49:15 +01:00
2c812fc5fe
Generate export using denormalization 2025-02-23 23:16:30 +01:00
1f1d38acef
infrastructure for normalizing form config [WIP] 2025-02-21 15:08:09 +01:00
0a34f9086f
Add event subscriber for document restoration on cancel
Implement an event subscriber to restore documents to their last kept version when a workflow transition ends in a non-positive final state. Includes corresponding unit tests and an unreleased feature change log entry.
2025-02-14 15:08:42 +01:00
37227a3aeb Add attachments to workflow 2025-02-03 21:15:00 +00:00
3af7824d01
Refactor transaction handling for signature state changes, to wrap them into transactions
Wrap signature state changes in transactions to prevent race conditions and ensure data integrity. Update controller and test class names to reflect broader state change capabilities. Enhance documentation with comments to clarify transaction requirements and procedure details for signature operations.
2024-12-06 12:37:17 +01:00
401db94d6c php cs fixer of GenderDocGenNormalizerTest 2024-11-26 18:09:40 +01:00
5afb92d549 add unit test for GenderDocGenNormalizer and move file to MainBundle 2024-11-26 18:04:12 +01:00
3e0731f06e
Create an symfony app's skeleton to ease the development
[WIP] first import of automated recipes

[WIP] fix configuration file to be able to compile kernel and serve route

[WIP] first build of assets

[WIP] Continue working on configuration to load a page

[WIP] Reset the bin directory

[WIP] remove default migrations files

[WIP] fix configuration for running tests

[WIP] Installation instructions

Fix the default firewall in test login

[WIP] fix cs

[WIP] update gitlab-ci

[WIP] update gitlab-ci

[WIP] update gitlab ci

[WIP] fix config for running tests

[WIP] fix gitlab ci

[WIP] try tests/bootstrap php file from symfony bridge instead of phpunit recipe

remove kernel.php file

fix loading of entrypoint.json in test

[wip] increase memory limit for phpstan in test/ci

[WIP]: set the correct timezone directly within the phpunit.xml.dist file

[WIP]: fix security configuration

WIP: fix config for testing
2024-11-22 09:45:05 +01:00
3a1947df9e
Add entity workflow title to notification
Introduced `EntityWorkflowManager` to `NotificationOnTransition` to fetch and include the entity workflow title in notifications. Updated relevant tests to support the new functionality and verify the entity title retrieval process.
2024-11-19 12:01:31 +01:00
9a44cf060f
Add workflow title to notification emails for workflow transition, to user groups
Incorporated the workflow title into notification emails to provide more context to users. Updated the NotificationToUserGroupsOnTransition class and its tests to include the title from EntityWorkflowManager. Adjusted the French email templates to display the workflow title correctly.
2024-11-18 15:05:03 +01:00
b7e27536bd
Merge remote-tracking branch 'origin/master' into signature-app-master 2024-11-14 12:18:07 +01:00
829fb669fe
Update Workflow Permission Handling
Refactor the `WorkflowRelatedEntityPermissionHelper` to enhance permission checks for workflow-related entities. This includes updating methods, improving test coverage, and incorporating `MockClock` for date-sensitive operations.
2024-11-14 12:07:21 +01:00
903a87c589
Merge branch '323-related-entity-permission-give-from-workflow' into signature-app-master 2024-11-13 22:44:29 +01:00
c99dda0126
Rename WorkflowStoredObjectPermissionHelper to WorkflowRelatedEntityPermissionHelper and create method isAllowedByWorkflow
Refactored class names and namespaces from WorkflowStoredObjectPermissionHelper to WorkflowRelatedEntityPermissionHelper across various modules. Updated associated tests and voter classes to reflect the changes, ensuring consistency and clarity in the codebase.
2024-11-13 22:41:23 +01:00
5ad11041e0
Add line splitting in user render string functionality
Introduce a new option to split lines in user job and scope render strings based on a specified character limit. Implement a corresponding test to verify the correct behavior of this feature.
2024-11-13 17:54:58 +01:00
ba2d8663f1
Add line splitting in user render string functionality
Introduce a new option to split lines in user job and scope render strings based on a specified character limit. Implement a corresponding test to verify the correct behavior of this feature.
2024-11-13 17:54:20 +01:00
d6c55c830b
Persist EntityWorkflow and its steps with EntityManager
Refactored NotificationToUserGroupsOnTransition to utilize EntityManager for persisting EntityWorkflowStep. This ensures entities have generated IDs, leading to proper email notifications during workflow transitions.
2024-11-13 12:40:53 +01:00
79621e8ab7
Add guard to block signatures on related entities without objects
Implemented a guard to prevent signatures on related entities that lack a stored object. It also includes corresponding tests and added translation for the error message in French.
2024-11-12 18:14:30 +01:00
bfa58177e0
fix url for granting access to workflow by key 2024-11-12 17:48:44 +01:00
e5148f603b
Add TransitionHasSignerIfSignature validator
Introduced a new validator `TransitionHasSignerIfSignature` to enforce that a signature transition must have a designated signer. Included related tests, updated DTO annotations, and added translations for new validation messages.
2024-11-07 19:55:09 +01:00
ac353ec3bc
fix cs 2024-11-06 17:10:53 +01:00
7aca08c89e
Allow to remove the canceled workflow to be deleted, if canceled
- OP#812
- https://champs-libres.openproject.com/work_packages/812
2024-11-06 17:10:48 +01:00
5c0a383909
Add null check to canRun method in CancelStaleWorkflowCronJob
Ensure the canRun method in CancelStaleWorkflowCronJob returns true when the cron job execution is null. This change includes updating the corresponding test case to cover the new behavior.
2024-11-04 14:16:52 +01:00
bf85e9bb71
When a user applies a signature in a workflow, the signer is the futureDestUser of the next step
See:
- Vendee/accent-suivi-developpement#1252
- https://champs-libres.openproject.com/wp/768
- OP#768
2024-10-24 15:49:59 +02:00
fd69568842
Add workflow guard to block external send without public view
Introduce `EntityWorkflowGuardSendExternalIfNoPublicView` class to prevent workflows from transitioning to an external send state if the entity lacks a public view. Included unit tests to verify functionality for entities both with and without public views.
2024-10-23 15:26:25 +02:00
261bc88b5e
Add suggested persons and third parties methods
Introduced getSuggestedPersons and getSuggestedThirdParties methods across various WorkflowHandlers. These methods integrate with ProvidePersonsAssociated and ProvideThirdPartiesAssociated services to fetch related entities, enhancing the workflow handling capabilities.
2024-10-23 11:41:19 +02:00
85dc9bdb2f
Add getSuggestedUsers method in EntityWorkflowManager
Implemented the method to retrieve a list of suggested users for an entity workflow, filtering out duplicates. Added corresponding unit tests to verify the method's functionality and ensure its correctness in various scenarios.
2024-10-22 23:35:13 +02:00
527cf23d4f
Fix Canceling of stale workflow cronjob
Refactor workflow cancellation logic to encapsulate transition checks in a dedicated method, and update CronJob handling to use entity workflows instead of IDs. Enhance test coverage to ensure proper handling and instantiate mocks for EntityManagerInterface.
2024-10-21 17:42:00 +02:00
7b322d7bab
Rename signature templates by removing underscores
Standardized template names in WorkflowController and WorkflowAddSignatureController for better consistency. Updated references and renamed template files accordingly.
2024-10-21 17:41:59 +02:00
91a4b45607
Add notification to user groups on workflow transition
Implemented NotificationToUserGroupsOnTransition to send group emails upon workflow completion. Also updated NotificationOnTransition to prevent double notifications and created a unit test for the new functionality.
2024-10-18 19:25:03 +02:00
d283d62049
!fixup Automatically execute body renderer when posting an 2024-10-15 11:10:31 +02:00
1313b6f138
Automatically execute body renderer when posting an email in Chill
+ adaptation of services which already uses body renderer
2024-10-10 14:06:00 +02:00
c329a1f1f8
fixup! Add message handling for public view creation 2024-10-10 09:39:45 +02:00
82e2b9a0f6
Add message handling for public view creation
Introduce `PostPublicViewMessage` and `PostPublicViewMessageHandler` to handle external user views on public links by applying workflow transitions. Integrate with `WorkflowViewSendPublicController` and add relevant tests.
2024-10-09 21:39:27 +02:00
5c0f3cb317
Implement the controller action to view the EntityworkflowSend 2024-10-07 15:35:36 +02:00
a0b5c208eb
Send an email when a workflow is send to an external
- create an event subscriber to catch the workflow which arrive to a "sentExternal" step;
- add a messenger's message to handle the generation of the email;
- add a simple message, and a simple controller for viewing the document
- add dedicated tests
2024-10-04 13:52:18 +02:00