diff --git a/.changes/unreleased/DX-20250430-144550.yaml b/.changes/unreleased/DX-20250430-144550.yaml deleted file mode 100644 index 7d9f0c32b..000000000 --- a/.changes/unreleased/DX-20250430-144550.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: DX -body: Remove dead code for wopi-link module -time: 2025-04-30T14:45:50.406111606+02:00 -custom: - Issue: "352" - SchemaChange: No schema change diff --git a/.changes/unreleased/DX-20250528-165813.yaml b/.changes/unreleased/DX-20250528-165813.yaml deleted file mode 100644 index f13945e76..000000000 --- a/.changes/unreleased/DX-20250528-165813.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: DX -body: Replace library node-sass by sass, and upgrade bootstrap to version 5.3 (yarn upgrade / install is required) -time: 2025-05-28T16:58:13.226870341+02:00 -custom: - Issue: "" - SchemaChange: No schema change diff --git a/.changes/unreleased/Feature-20250211-142243.yaml b/.changes/unreleased/Feature-20250211-142243.yaml new file mode 100644 index 000000000..4f0b25e88 --- /dev/null +++ b/.changes/unreleased/Feature-20250211-142243.yaml @@ -0,0 +1,6 @@ +kind: Feature +body: Allow the merge of two accompanying period works +time: 2025-02-11T14:22:43.134106669+01:00 +custom: + Issue: "359" + SchemaChange: No schema change diff --git a/.changes/unreleased/Feature-20250424-142211.yaml b/.changes/unreleased/Feature-20250424-142211.yaml deleted file mode 100644 index e1f5297c3..000000000 --- a/.changes/unreleased/Feature-20250424-142211.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: Feature -body: Add the document file name to the document title when a user upload a document, - unless there is already a document title. -time: 2025-04-24T14:22:11.800975422+02:00 -custom: - Issue: "377" - SchemaChange: No schema change diff --git a/.changes/unreleased/Feature-20250520-095628.yaml b/.changes/unreleased/Feature-20250520-095628.yaml deleted file mode 100644 index 4b1fba30c..000000000 --- a/.changes/unreleased/Feature-20250520-095628.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Feature -body: Add desactivation date for social action and issue csv export -time: 2025-05-20T09:56:28.108941934+02:00 -custom: - Issue: "" - SchemaChange: No schema change diff --git a/.changes/unreleased/Feature-20250523-133341.yaml b/.changes/unreleased/Feature-20250523-133341.yaml deleted file mode 100644 index 1a5513a0d..000000000 --- a/.changes/unreleased/Feature-20250523-133341.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Feature -body: Add Emoji and Fullscreen feature to ckeditor configuration -time: 2025-05-23T13:33:41.645095128+02:00 -custom: - Issue: "" - SchemaChange: No schema change diff --git a/.changes/unreleased/Feature-20250523-133434.yaml b/.changes/unreleased/Feature-20250523-133434.yaml deleted file mode 100644 index 31dced03a..000000000 --- a/.changes/unreleased/Feature-20250523-133434.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Feature -body: Create editor which allow us to toggle between rich and simple text editor -time: 2025-05-23T13:34:34.56795603+02:00 -custom: - Issue: "321" - SchemaChange: No schema change diff --git a/.changes/unreleased/Fixed-20250424-133943.yaml b/.changes/unreleased/Fixed-20250424-133943.yaml deleted file mode 100644 index c11c42ac0..000000000 --- a/.changes/unreleased/Fixed-20250424-133943.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: Fixed -body: trying to prevent bug of typeerror in doc-history + improved display of document - history -time: 2025-04-24T13:39:43.878468232+02:00 -custom: - Issue: "376" - SchemaChange: No schema change diff --git a/.changes/unreleased/Fixed-20250424-163746.yaml b/.changes/unreleased/Fixed-20250424-163746.yaml deleted file mode 100644 index 79c07b080..000000000 --- a/.changes/unreleased/Fixed-20250424-163746.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: Fixed -body: Display previous participation in acc course work even if the person has left - the acc course -time: 2025-04-24T16:37:46.970203594+02:00 -custom: - Issue: "381" - SchemaChange: No schema change diff --git a/.changes/unreleased/Fixed-20250505-102715.yaml b/.changes/unreleased/Fixed-20250505-102715.yaml deleted file mode 100644 index 5d47c25af..000000000 --- a/.changes/unreleased/Fixed-20250505-102715.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixed -body: Fix display of text in calendar events -time: 2025-05-05T10:27:15.461493066+02:00 -custom: - Issue: "372" - SchemaChange: No schema change diff --git a/.changes/unreleased/Fixed-20250514-145339.yaml b/.changes/unreleased/Fixed-20250514-145339.yaml deleted file mode 100644 index 862ea764b..000000000 --- a/.changes/unreleased/Fixed-20250514-145339.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: Fixed -body: Add missing translation for user_group.no_user_groups -time: 2025-05-14T14:53:39.53927329+02:00 -custom: - Issue: "" - SchemaChange: No schema change diff --git a/.changes/unreleased/Fixed-20250604-165550.yaml b/.changes/unreleased/Fixed-20250604-165550.yaml new file mode 100644 index 000000000..0544c9402 --- /dev/null +++ b/.changes/unreleased/Fixed-20250604-165550.yaml @@ -0,0 +1,6 @@ +kind: Fixed +body: Display the list of participant in the results, even if there is only one participant and that the search result display the requestor +time: 2025-06-04T16:55:50.107852336+02:00 +custom: + Issue: "390" + SchemaChange: No schema change diff --git a/.changes/unreleased/Fixed-20250611-164623.yaml b/.changes/unreleased/Fixed-20250611-164623.yaml new file mode 100644 index 000000000..8bb956c34 --- /dev/null +++ b/.changes/unreleased/Fixed-20250611-164623.yaml @@ -0,0 +1,6 @@ +kind: Fixed +body: Fix admin entity edit actions for event admin entities and activity reason (category) entities +time: 2025-06-11T16:46:23.113506434+02:00 +custom: + Issue: "" + SchemaChange: No schema change diff --git a/.changes/unreleased/Fixed-20250619-170142.yaml b/.changes/unreleased/Fixed-20250619-170142.yaml deleted file mode 100644 index d9ee78e1b..000000000 --- a/.changes/unreleased/Fixed-20250619-170142.yaml +++ /dev/null @@ -1,7 +0,0 @@ -kind: Fixed -body: | - Allow null and cast as string to setContent method for NewsItem -time: 2025-06-19T17:01:42.125730402+02:00 -custom: - Issue: "392" - SchemaChange: No schema change diff --git a/.changes/unreleased/Fixed-20250702-135534.yaml b/.changes/unreleased/Fixed-20250702-135534.yaml new file mode 100644 index 000000000..75a911301 --- /dev/null +++ b/.changes/unreleased/Fixed-20250702-135534.yaml @@ -0,0 +1,6 @@ +kind: Fixed +body: 'Fix translations for social action fields in admin form: results, goals, evaluations' +time: 2025-07-02T13:55:34.599050626+02:00 +custom: + Issue: "" + SchemaChange: No schema change diff --git a/.changes/unreleased/UX-20250423-172624.yaml b/.changes/unreleased/UX-20250423-172624.yaml deleted file mode 100644 index 2a17e4195..000000000 --- a/.changes/unreleased/UX-20250423-172624.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: UX -body: Remove default filter in_progress for the page 'my tasks'; Allows for new tasks to be displayed upon opening of the page -time: 2025-04-23T17:26:24.45777387+02:00 -custom: - Issue: "374" - SchemaChange: No schema change diff --git a/.changes/unreleased/UX-20250617-192650.yaml b/.changes/unreleased/UX-20250617-192650.yaml new file mode 100644 index 000000000..810758b10 --- /dev/null +++ b/.changes/unreleased/UX-20250617-192650.yaml @@ -0,0 +1,6 @@ +kind: UX +body: Improve labeling of fields in person resource creation form +time: 2025-06-17T19:26:50.599703116+02:00 +custom: + Issue: "" + SchemaChange: No schema change diff --git a/.changes/v3.12.0.md b/.changes/v3.12.0.md new file mode 100644 index 000000000..cfed2e013 --- /dev/null +++ b/.changes/v3.12.0.md @@ -0,0 +1,22 @@ +## v3.12.0 - 2025-06-30 +### Feature +* ([#377](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/377)) Add the document file name to the document title when a user upload a document, unless there is already a document title. +* Add desactivation date for social action and issue csv export +* Add Emoji and Fullscreen feature to ckeditor configuration +* ([#321](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/321)) Create editor which allow us to toggle between rich and simple text editor +* Do not remove workflow which are automatically canceled after staling for more than 30 days +### Fixed +* ([#376](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/376)) trying to prevent bug of typeerror in doc-history + improved display of document history +* ([#381](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/381)) Display previous participation in acc course work even if the person has left the acc course +* ([#372](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/372)) Fix display of text in calendar events +* Add missing translation for user_group.no_user_groups +* Fix admin entity edit actions for event admin entities and activity reason (category) entities +* ([#392](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/392)) Allow null and cast as string to setContent method for NewsItem + +* ([#393](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/393)) Doc Generation: the "dump only" method send the document as an email attachment. +### DX +* ([#352](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/352)) Remove dead code for wopi-link module +* Replace library node-sass by sass, and upgrade bootstrap to version 5.3 (yarn upgrade / install is required) +### UX +* ([#374](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/374)) Remove default filter in_progress for the page 'my tasks'; Allows for new tasks to be displayed upon opening of the page +* Improve labeling of fields in person resource creation form diff --git a/.changes/v3.12.1.md b/.changes/v3.12.1.md new file mode 100644 index 000000000..fbf067913 --- /dev/null +++ b/.changes/v3.12.1.md @@ -0,0 +1,3 @@ +## v3.12.1 - 2025-06-30 +### Fixed +* Fix loading of the list of documents diff --git a/CHANGELOG.md b/CHANGELOG.md index b1b9aa894..a00af6c44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,53 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), and is generated by [Changie](https://github.com/miniscruff/changie). +## v3.12.1 - 2025-06-30 +### Fixed +* Fix loading of the list of documents + +## v3.12.0 - 2025-06-30 +### Feature +* ([#377](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/377)) Add the document file name to the document title when a user upload a document, unless there is already a document title. +* Add desactivation date for social action and issue csv export +* Add Emoji and Fullscreen feature to ckeditor configuration +* ([#321](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/321)) Create editor which allow us to toggle between rich and simple text editor +* Do not remove workflow which are automatically canceled after staling for more than 30 days +### Fixed +* ([#376](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/376)) trying to prevent bug of typeerror in doc-history + improved display of document history +* ([#381](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/381)) Display previous participation in acc course work even if the person has left the acc course +* ([#372](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/372)) Fix display of text in calendar events +* Add missing translation for user_group.no_user_groups +* Fix admin entity edit actions for event admin entities and activity reason (category) entities +* ([#392](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/392)) Allow null and cast as string to setContent method for NewsItem + +* ([#393](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/393)) Doc Generation: the "dump only" method send the document as an email attachment. +### DX +* ([#352](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/352)) Remove dead code for wopi-link module +* Replace library node-sass by sass, and upgrade bootstrap to version 5.3 (yarn upgrade / install is required) +### UX +* ([#374](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/374)) Remove default filter in_progress for the page 'my tasks'; Allows for new tasks to be displayed upon opening of the page +* Improve labeling of fields in person resource creation form + +## v3.11.0 - 2025-04-17 +### Feature +* ([#365](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/365)) Add counters of actions and activities, with 2 boxes to (1) show the number of active actions on total actions and (2) show the number of activities in a accompanying period, and pills in menus for showing the number of active actions and the number of activities. +* ([#364](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/364)) Added a second phone number "telephone2" to the thirdParty entity. Adapted twig templates and vuejs apps to handle this phone number + + **Schema Change**: Add columns or tables +* Signature: add a button to go directly to the signature zone, even if there is only one +### Fixed +* Fixed wrong translations in the on-the-fly for creation of thirdParty +* Fixed update of phone number in on-the-fly edition of thirdParty +* Fixed closing of modal when editing thirdParty in accompanying course works +* Shorten the delay between two execution of AccompanyingPeriodStepChangeCronjob, to ensure at least one execution in a day +* ([#102](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/102)) Fix display of title in document list +* When cleaning the old stored object versions, do not throw an error if the stored object is not found on disk +* Add consistent log prefix and key to logs when stale workflows are automatically canceled +* ([#380](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/380)) Remove the "not null" validation constraint on recently added properties on HouseholdComposition + +### DX +* Add new chill-col style for displaying title and aside in a flex table + ## v3.10.3 - 2025-03-18 ### DX * Eslint fixes diff --git a/package.json b/package.json index 807ec367a..f9232b832 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "@hotwired/stimulus": "^3.0.0", "@luminateone/eslint-baseline": "^1.0.9", "@symfony/stimulus-bridge": "^3.2.0", + "@symfony/ux-translator": "file:vendor/symfony/ux-translator/assets", "@symfony/webpack-encore": "^4.1.0", "@tsconfig/node20": "^20.1.4", "@types/dompurify": "^3.0.5", diff --git a/src/Bundle/ChillActivityBundle/Controller/ActivityReasonCategoryController.php b/src/Bundle/ChillActivityBundle/Controller/ActivityReasonCategoryController.php index 0d337416b..6ccddcc97 100644 --- a/src/Bundle/ChillActivityBundle/Controller/ActivityReasonCategoryController.php +++ b/src/Bundle/ChillActivityBundle/Controller/ActivityReasonCategoryController.php @@ -48,28 +48,6 @@ class ActivityReasonCategoryController extends AbstractController ]); } - /** - * Displays a form to edit an existing ActivityReasonCategory entity. - */ - #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/{id}/edit', name: 'chill_activity_activityreasoncategory_edit')] - public function editAction(mixed $id) - { - $em = $this->managerRegistry->getManager(); - - $entity = $em->getRepository(ActivityReasonCategory::class)->find($id); - - if (!$entity) { - throw $this->createNotFoundException('Unable to find ActivityReasonCategory entity.'); - } - - $editForm = $this->createEditForm($entity); - - return $this->render('@ChillActivity/ActivityReasonCategory/edit.html.twig', [ - 'entity' => $entity, - 'edit_form' => $editForm->createView(), - ]); - } - /** * Lists all ActivityReasonCategory entities. */ @@ -100,29 +78,10 @@ class ActivityReasonCategoryController extends AbstractController ]); } - /** - * Finds and displays a ActivityReasonCategory entity. - */ - #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/{id}/show', name: 'chill_activity_activityreasoncategory_show')] - public function showAction(mixed $id) - { - $em = $this->managerRegistry->getManager(); - - $entity = $em->getRepository(ActivityReasonCategory::class)->find($id); - - if (!$entity) { - throw $this->createNotFoundException('Unable to find ActivityReasonCategory entity.'); - } - - return $this->render('@ChillActivity/ActivityReasonCategory/show.html.twig', [ - 'entity' => $entity, - ]); - } - /** * Edits an existing ActivityReasonCategory entity. */ - #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/{id}/update', name: 'chill_activity_activityreasoncategory_update', methods: ['POST', 'PUT'])] + #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/{id}/update', name: 'chill_activity_activityreasoncategory_update')] public function updateAction(Request $request, mixed $id) { $em = $this->managerRegistry->getManager(); @@ -139,7 +98,7 @@ class ActivityReasonCategoryController extends AbstractController if ($editForm->isSubmitted() && $editForm->isValid()) { $em->flush(); - return $this->redirectToRoute('chill_activity_activityreasoncategory_edit', ['id' => $id]); + return $this->redirectToRoute('chill_activity_activityreasoncategory', ['id' => $id]); } return $this->render('@ChillActivity/ActivityReasonCategory/edit.html.twig', [ @@ -178,7 +137,7 @@ class ActivityReasonCategoryController extends AbstractController { $form = $this->createForm(ActivityReasonCategoryType::class, $entity, [ 'action' => $this->generateUrl('chill_activity_activityreasoncategory_update', ['id' => $entity->getId()]), - 'method' => 'PUT', + 'method' => 'POST', ]); $form->add('submit', SubmitType::class, ['label' => 'Update']); diff --git a/src/Bundle/ChillActivityBundle/Controller/ActivityReasonController.php b/src/Bundle/ChillActivityBundle/Controller/ActivityReasonController.php index 37d04d367..7512b21ed 100644 --- a/src/Bundle/ChillActivityBundle/Controller/ActivityReasonController.php +++ b/src/Bundle/ChillActivityBundle/Controller/ActivityReasonController.php @@ -17,7 +17,6 @@ use Chill\ActivityBundle\Repository\ActivityReasonRepository; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; /** * ActivityReason controller. @@ -50,28 +49,6 @@ class ActivityReasonController extends AbstractController ]); } - /** - * Displays a form to edit an existing ActivityReason entity. - */ - #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/{id}/edit', name: 'chill_activity_activityreason_edit')] - public function editAction(mixed $id) - { - $em = $this->managerRegistry->getManager(); - - $entity = $em->getRepository(ActivityReason::class)->find($id); - - if (null === $entity) { - throw new NotFoundHttpException('Unable to find ActivityReason entity.'); - } - - $editForm = $this->createEditForm($entity); - - return $this->render('@ChillActivity/ActivityReason/edit.html.twig', [ - 'entity' => $entity, - 'edit_form' => $editForm->createView(), - ]); - } - /** * Lists all ActivityReason entities. */ @@ -102,29 +79,10 @@ class ActivityReasonController extends AbstractController ]); } - /** - * Finds and displays a ActivityReason entity. - */ - #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/{id}/show', name: 'chill_activity_activityreason_show')] - public function showAction(mixed $id) - { - $em = $this->managerRegistry->getManager(); - - $entity = $em->getRepository(ActivityReason::class)->find($id); - - if (!$entity) { - throw $this->createNotFoundException('Unable to find ActivityReason entity.'); - } - - return $this->render('@ChillActivity/ActivityReason/show.html.twig', [ - 'entity' => $entity, - ]); - } - /** * Edits an existing ActivityReason entity. */ - #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/{id}/update', name: 'chill_activity_activityreason_update', methods: ['POST', 'PUT'])] + #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/{id}/update', name: 'chill_activity_activityreason_update')] public function updateAction(Request $request, mixed $id) { $em = $this->managerRegistry->getManager(); @@ -180,7 +138,7 @@ class ActivityReasonController extends AbstractController { $form = $this->createForm(ActivityReasonType::class, $entity, [ 'action' => $this->generateUrl('chill_activity_activityreason_update', ['id' => $entity->getId()]), - 'method' => 'PUT', + 'method' => 'POST', ]); $form->add('submit', SubmitType::class, ['label' => 'Update']); diff --git a/src/Bundle/ChillActivityBundle/Resources/public/vuejs/Activity/store.js b/src/Bundle/ChillActivityBundle/Resources/public/vuejs/Activity/store.js index f29e2e6d4..8d09d2dd3 100644 --- a/src/Bundle/ChillActivityBundle/Resources/public/vuejs/Activity/store.js +++ b/src/Bundle/ChillActivityBundle/Resources/public/vuejs/Activity/store.js @@ -2,7 +2,7 @@ import "es6-promise/auto"; import { createStore } from "vuex"; import { postLocation } from "./api"; import prepareLocations from "./store.locations.js"; -import { makeFetch } from "ChillMainAssets/lib/api/apiMethods"; +import {fetchResults, makeFetch} from "ChillMainAssets/lib/api/apiMethods"; const debug = process.env.NODE_ENV !== "production"; //console.log('window.activity', window.activity); @@ -365,11 +365,11 @@ const store = createStore({ const accompanyingPeriodId = state.activity.accompanyingPeriod.id; const url = `/api/1.0/person/accompanying-course/${accompanyingPeriodId}/works.json`; try { - const works = await makeFetch("GET", url); - // console.log("works", works); + const works = await fetchResults(url); + // console.log('works', works); commit("setAccompanyingPeriodWorks", works); } catch (error) { - console.error("Failed to fetch accompanying period works:", error); + console.error('Failed to fetch works:', error); } }, getWhoAmI({ commit }) { diff --git a/src/Bundle/ChillActivityBundle/Resources/views/ActivityReason/index.html.twig b/src/Bundle/ChillActivityBundle/Resources/views/ActivityReason/index.html.twig index 855c9386d..ee36958c3 100644 --- a/src/Bundle/ChillActivityBundle/Resources/views/ActivityReason/index.html.twig +++ b/src/Bundle/ChillActivityBundle/Resources/views/ActivityReason/index.html.twig @@ -3,7 +3,7 @@ {% block admin_content %}

{{ 'ActivityReason list'|trans }}

- +
@@ -29,10 +29,7 @@ diff --git a/src/Bundle/ChillActivityBundle/Resources/views/ActivityReasonCategory/index.html.twig b/src/Bundle/ChillActivityBundle/Resources/views/ActivityReasonCategory/index.html.twig index 5f48180b3..f64ce359d 100644 --- a/src/Bundle/ChillActivityBundle/Resources/views/ActivityReasonCategory/index.html.twig +++ b/src/Bundle/ChillActivityBundle/Resources/views/ActivityReasonCategory/index.html.twig @@ -3,7 +3,7 @@ {% block admin_content %}

{{ 'ActivityReasonCategory list'|trans }}

-
{{ 'Name'|trans }}
  • - -
  • -
  • - +
+
@@ -23,10 +23,7 @@ diff --git a/src/Bundle/ChillDocGeneratorBundle/Resources/public/vuejs/_components/PickTemplate.vue b/src/Bundle/ChillDocGeneratorBundle/Resources/public/vuejs/_components/PickTemplate.vue index 6639b0477..1bcc95fd0 100644 --- a/src/Bundle/ChillDocGeneratorBundle/Resources/public/vuejs/_components/PickTemplate.vue +++ b/src/Bundle/ChillDocGeneratorBundle/Resources/public/vuejs/_components/PickTemplate.vue @@ -58,6 +58,7 @@ diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AccompanyingPeriodWorkSelector/AccompanyingPeriodWorkList.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AccompanyingPeriodWorkSelector/AccompanyingPeriodWorkList.vue new file mode 100644 index 000000000..c3615c959 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AccompanyingPeriodWorkSelector/AccompanyingPeriodWorkList.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AccompanyingPeriodWorkSelector/AccompanyingPeriodWorkSelectorModal.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AccompanyingPeriodWorkSelector/AccompanyingPeriodWorkSelectorModal.vue new file mode 100644 index 000000000..ad6c4c82f --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/_components/AccompanyingPeriodWorkSelector/AccompanyingPeriodWorkSelectorModal.vue @@ -0,0 +1,101 @@ + + + diff --git a/src/Bundle/ChillPersonBundle/Resources/views/AccompanyingCourseWork/show.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/AccompanyingCourseWork/show.html.twig index 438a6fb7f..176861d75 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/AccompanyingCourseWork/show.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/AccompanyingCourseWork/show.html.twig @@ -68,6 +68,14 @@ {% endif %} + {% if work.accompanyingPeriod.getWorks|length > 1 %} +
  • + + + {{ 'Merge'|trans }} + +
  • + {% endif %} {% if is_granted('CHILL_MAIN_ACCOMPANYING_PERIOD_WORK_UPDATE', work) %}
  • + +
    +

    {{ 'acpw_duplicate.to keep'|trans ~ ':' }}

    +
    +
    + {{ details.details(acpw, accompanyingCourse) }} +
    +
    +
    + +

    {{ 'acpw_duplicate.Assign duplicate'|trans }}

    + {{ form_start(form) }} + {%- if form.acpw is defined -%} + {{ form_row(form.acpw) }} +
    + {% endif %} + {{ form_rest(form) }} + +
    + + {{ form_end(form) }} + + +{% endblock %} + +{% block js %} + {{ parent() }} + {{ encore_entry_script_tags('mod_duplicate_selector') }} +{% endblock %} + +{% block css %} + {{ parent() }} + {{ encore_entry_link_tags('mod_duplicate_selector') }} +{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/AccompanyingPeriodWorkDuplicate/confirm.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/AccompanyingPeriodWorkDuplicate/confirm.html.twig new file mode 100644 index 000000000..92d65b7c3 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/AccompanyingPeriodWorkDuplicate/confirm.html.twig @@ -0,0 +1,72 @@ +{% extends "@ChillPerson/AccompanyingCourse/layout.html.twig" %} + +{% import '@ChillPerson/AccompanyingPeriodWorkDuplicate/_details.html.twig' as details %} + +{% block title %}{{ 'acpw_duplicate.title'|trans }}{% endblock %} + +{% block content %} +
    + +

    {{ 'acpw_duplicate.title'|trans }}

    +
    +

    {{ 'acpw_duplicate.description'|trans }}

    +
    + +
    +
    +

    {{ 'acpw_duplicate.to delete'|trans ~ ':' }}

    +
    +
    + {{ details.details(acpw2, accompanyingCourse) }} +
    +
    +
    +
    + +
    +
    +

    {{ 'acpw_duplicate.to keep'|trans ~ ':' }}

    +
    +
    + {{ details.details(acpw, accompanyingCourse) }} +
    +
    +
    +
    + + {{ form_start(form) }} + +
    + +
    +
    + {{ form_widget(form.confirm) }} +
    +
    + {{ form_label(form.confirm) }} +
    +
    +
    + + + + {{ form_end(form) }} + +
    +{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Person/list_with_period.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Person/list_with_period.html.twig index 7d06c51c3..41bc51864 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Person/list_with_period.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Person/list_with_period.html.twig @@ -96,11 +96,11 @@ {% endif %} - {% if acp.currentParticipations|length > 1 %} + {% if acp.currentParticipations|length > 1 or (acp.currentParticipations|first).person is not same as person %}

    - {{ 'Participants'|trans }} + {{ 'accompanying_period.Participants_without_count'|trans({count: acp.currentParticipations|length}) }}

    diff --git a/src/Bundle/ChillPersonBundle/Resources/views/PersonResource/form.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/PersonResource/form.html.twig index 9bda2856b..5542074fa 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/PersonResource/form.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/PersonResource/form.html.twig @@ -10,28 +10,28 @@
    {% if resource is defined and resource.person is not null %} - + {% else %} - + {% endif %}
    {% if resource is defined and resource.thirdparty is not null %} - + {% else %} - + {% endif %}
    {% if resource is defined and resource.freeText is not null %} - + {% else %} - + {% endif %}
    diff --git a/src/Bundle/ChillPersonBundle/Service/AccompanyingPeriodWork/AccompanyingPeriodWorkMergeService.php b/src/Bundle/ChillPersonBundle/Service/AccompanyingPeriodWork/AccompanyingPeriodWorkMergeService.php new file mode 100644 index 000000000..ba0f93ce3 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Service/AccompanyingPeriodWork/AccompanyingPeriodWorkMergeService.php @@ -0,0 +1,112 @@ +em->wrapInTransaction(function (EntityManagerInterface $entityManager) use ($toKeep, $toDelete) { + $this->alterStartDate($toKeep, $toDelete); + $this->alterEndDate($toKeep, $toDelete); + $this->concatenateComments($toKeep, $toDelete); + $this->transferWorkflowsSQL($toKeep, $toDelete); + $this->updateReferencesSQL($toKeep, $toDelete); + $entityManager->remove($toDelete); + }); + + return $toKeep; + } + + private function transferWorkflowsSQL(AccompanyingPeriodWork $toKeep, AccompanyingPeriodWork $toDelete): void + { + $this->em->getConnection()->executeQuery( + "UPDATE chill_main_workflow_entity w + SET relatedentityid = :toKeepId + WHERE w.relatedentityid = :toDeleteId + AND w.relatedentityclass = 'Chill\\PersonBundle\\Entity\\AccompanyingPeriod\\AccompanyingPeriodWork'", + ['toKeepId' => $toKeep->getId(), 'toDeleteId' => $toDelete->getId()] + ); + } + + private function alterStartDate(AccompanyingPeriodWork $toKeep, AccompanyingPeriodWork $toDelete): void + { + $startDate = min($toKeep->getStartDate(), $toDelete->getStartDate()); + $toKeep->setStartDate($startDate); + } + + private function alterEndDate(AccompanyingPeriodWork $toKeep, AccompanyingPeriodWork $toDelete): void + { + if (null === $toKeep->getEndDate() || null === $toDelete->getEndDate()) { + $toKeep->setEndDate(null); + + return; + } + + $endDate = max($toKeep->getEndDate(), $toDelete->getEndDate()); + $toKeep->setEndDate($endDate); + } + + private function concatenateComments(AccompanyingPeriodWork $toKeep, AccompanyingPeriodWork $toDelete): void + { + $toKeep->setNote($toKeep->getNote()."\n\n-----------------\n\n".$toDelete->getNote()); + $toKeep->getPrivateComment()->concatenateComments($toDelete->getPrivateComment()); + } + + private function updateReferencesSQL(AccompanyingPeriodWork $toKeep, AccompanyingPeriodWork $toDelete): void + { + foreach ($toDelete->getAccompanyingPeriodWorkEvaluations() as $evaluation) { + $toKeep->addAccompanyingPeriodWorkEvaluation($evaluation); + } + + foreach ($toDelete->getReferrers() as $referrer) { + // we only keep the current referrer + $toKeep->addReferrer($referrer); + } + + foreach ($toDelete->getPersons() as $person) { + $toKeep->addPerson($person); + } + + if (null === $toKeep->getHandlingThierParty()) { + $toKeep->setHandlingThierParty($toDelete->getHandlingThierParty()); + } + + foreach ($toDelete->getThirdParties() as $thirdParty) { + $toKeep->addThirdParty($thirdParty); + } + + foreach ($toDelete->getGoals() as $goal) { + $toKeep->addGoal($goal); + } + + foreach ($toDelete->getResults() as $result) { + $toKeep->addResult($result); + } + } +} diff --git a/src/Bundle/ChillPersonBundle/Tests/Service/AccompanyingPeriodWork/AccompanyingPeriodWorkMergeServiceTest.php b/src/Bundle/ChillPersonBundle/Tests/Service/AccompanyingPeriodWork/AccompanyingPeriodWorkMergeServiceTest.php new file mode 100644 index 000000000..e69c8beee --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Tests/Service/AccompanyingPeriodWork/AccompanyingPeriodWorkMergeServiceTest.php @@ -0,0 +1,205 @@ +prophesize(EntityManagerInterface::class); + $entityManager->wrapInTransaction(Argument::type('callable'))->will(function ($args) use ($entityManager) { + call_user_func_array($args[0], [$entityManager->reveal()]); + })->shouldBeCalled(); + $entityManager->remove($toRemove)->shouldBeCalled(); + + $connection = $this->prophesize(Connection::class); + $connection->executeQuery(Argument::type('string'), Argument::type('array'))->shouldBeCalled(); + + $entityManager->getConnection()->willReturn($connection->reveal()); + + return new AccompanyingPeriodWorkMergeService($entityManager->reveal()); + } + + /** + * @dataProvider provideStartDateMoveData + */ + public function testStartDateMove(AccompanyingPeriodWork $toKeep, AccompanyingPeriodWork $toDelete, ?\DateTime $expected): void + { + $service = $this->buildMergeService($toDelete); + $return = $service->merge($toKeep, $toDelete); + + self::assertEquals($expected, $return->getStartDate()); + } + + public static function provideStartDateMoveData(): array + { + return [ + 'Earliest date kept when toKeep is earlier' => [ + (new AccompanyingPeriodWork())->setStartDate(new \DateTime('2023-01-01')), + (new AccompanyingPeriodWork())->setStartDate(new \DateTime('2023-06-01')), + new \DateTime('2023-01-01'), + ], + 'Earliest date kept when toDelete is earlier' => [ + (new AccompanyingPeriodWork())->setStartDate(new \DateTime('2023-06-01')), + (new AccompanyingPeriodWork())->setStartDate(new \DateTime('2023-01-01')), + new \DateTime('2023-01-01'), + ], + 'Same start dates remain unchanged' => [ + (new AccompanyingPeriodWork())->setStartDate(new \DateTime('2023-01-01')), + (new AccompanyingPeriodWork())->setStartDate(new \DateTime('2023-01-01')), + new \DateTime('2023-01-01'), + ], + ]; + } + + /** + * @dataProvider provideEndDateMoveData + */ + public function testEndDateMove(AccompanyingPeriodWork $toKeep, AccompanyingPeriodWork $toDelete, ?\DateTimeImmutable $expected): void + { + $service = $this->buildMergeService($toDelete); + $return = $service->merge($toKeep, $toDelete); + + self::assertEquals($expected, $return->getEndDate()); + } + + public static function provideEndDateMoveData(): array + { + return [ + 'Oldest date kept when toKeep is older' => [ + (new AccompanyingPeriodWork())->setEndDate(new \DateTimeImmutable('2022-01-01'))->setStartDate(new \DateTime('2021-01-01')), + (new AccompanyingPeriodWork())->setEndDate(new \DateTimeImmutable('2023-06-01'))->setStartDate(new \DateTime('2021-01-01')), + new \DateTimeImmutable('2023-06-01'), + ], + 'Oldest date kept when toDelete is older' => [ + (new AccompanyingPeriodWork())->setEndDate(new \DateTimeImmutable('2023-06-01'))->setStartDate(new \DateTime('2021-01-01')), + (new AccompanyingPeriodWork())->setEndDate(new \DateTimeImmutable('2022-01-01'))->setStartDate(new \DateTime('2021-01-01')), + new \DateTimeImmutable('2023-06-01'), + ], + 'Same end dates remain unchanged' => [ + (new AccompanyingPeriodWork())->setEndDate(new \DateTimeImmutable('2023-01-01'))->setStartDate(new \DateTime('2021-01-01')), + (new AccompanyingPeriodWork())->setEndDate(new \DateTimeImmutable('2023-01-01'))->setStartDate(new \DateTime('2021-01-01')), + new \DateTimeImmutable('2023-01-01'), + ], + 'End date is null if toKeep is null' => [ + (new AccompanyingPeriodWork())->setEndDate(null)->setStartDate(new \DateTime('2021-01-01')), + (new AccompanyingPeriodWork())->setEndDate(new \DateTimeImmutable('2023-01-01'))->setStartDate(new \DateTime('2021-01-01')), + null, + ], + 'End date is null if toDelete is null' => [ + (new AccompanyingPeriodWork())->setEndDate(new \DateTimeImmutable('2023-01-01'))->setStartDate(new \DateTime('2021-01-01')), + (new AccompanyingPeriodWork())->setEndDate(null)->setStartDate(new \DateTime('2021-01-01')), + null, + ], + 'End date is null if both are null' => [ + (new AccompanyingPeriodWork())->setEndDate(null)->setStartDate(new \DateTime('2021-01-01')), + (new AccompanyingPeriodWork())->setEndDate(null)->setStartDate(new \DateTime('2021-01-01')), + null, + ], + ]; + } + + /** + * @dataProvider provideMoveHandlingThirdPartyData + */ + public function testMoveHandlingThirdParty(AccompanyingPeriodWork $toKeep, AccompanyingPeriodWork $toDelete, ?ThirdParty $expected): void + { + $service = $this->buildMergeService($toDelete); + $return = $service->merge($toKeep, $toDelete); + + self::assertSame($expected, $return->getHandlingThierParty()); + } + + public static function provideMoveHandlingThirdPartyData(): iterable + { + yield 'Third party not change when existing in kept' => [ + (new AccompanyingPeriodWork())->setStartDate(new \DateTimeImmutable('2022-01-01'))->setHandlingThierParty($tpA = new ThirdParty()), + (new AccompanyingPeriodWork())->setStartDate(new \DateTimeImmutable('2022-01-01'))->setHandlingThierParty(new ThirdParty()), + $tpA, + ]; + + yield 'Third party will change when not existing in kept' => [ + (new AccompanyingPeriodWork())->setStartDate(new \DateTimeImmutable('2022-01-01')), + (new AccompanyingPeriodWork())->setStartDate(new \DateTimeImmutable('2022-01-01'))->setHandlingThierParty($tpB = new ThirdParty()), + $tpB, + ]; + + yield 'Third party do not change when not existing in removed' => [ + (new AccompanyingPeriodWork())->setStartDate(new \DateTimeImmutable('2022-01-01'))->setHandlingThierParty($tpC = new ThirdParty()), + (new AccompanyingPeriodWork())->setStartDate(new \DateTimeImmutable('2022-01-01')), + $tpC, + ]; + } + + public function testMerge(): void + { + $accompanyingPeriodWork = new AccompanyingPeriodWork(); + $accompanyingPeriodWork->setStartDate(new \DateTime('2022-01-01')); + $accompanyingPeriodWork->addReferrer($userA = new User()); + $accompanyingPeriodWork->addReferrer($userC = new User()); + $accompanyingPeriodWork->addAccompanyingPeriodWorkEvaluation($evaluationA = new AccompanyingPeriodWorkEvaluation()); + $accompanyingPeriodWork->setNote('blabla'); + $accompanyingPeriodWork->addThirdParty($thirdPartyA = new ThirdParty()); + + $toDelete = new AccompanyingPeriodWork(); + $toDelete->setStartDate(new \DateTime('2022-01-01')); + $toDelete->addReferrer($userB = new User()); + $toDelete->addReferrer($userC); + $toDelete->addAccompanyingPeriodWorkEvaluation($evaluationB = new AccompanyingPeriodWorkEvaluation()); + $toDelete->setNote('boum'); + $toDelete->addThirdParty($thirdPartyB = new ThirdParty()); + $toDelete->addGoal($goalA = new AccompanyingPeriodWorkGoal()); + $toDelete->addResult($resultA = new Result()); + + $service = $this->buildMergeService($toDelete); + $service->merge($accompanyingPeriodWork, $toDelete); + + self::assertTrue($accompanyingPeriodWork->getReferrers()->contains($userA)); + self::assertTrue($accompanyingPeriodWork->getReferrers()->contains($userB)); + self::assertTrue($accompanyingPeriodWork->getReferrers()->contains($userC)); + + self::assertTrue($accompanyingPeriodWork->getAccompanyingPeriodWorkEvaluations()->contains($evaluationA)); + self::assertTrue($accompanyingPeriodWork->getAccompanyingPeriodWorkEvaluations()->contains($evaluationB)); + foreach ($accompanyingPeriodWork->getAccompanyingPeriodWorkEvaluations() as $evaluation) { + self::assertSame($accompanyingPeriodWork, $evaluation->getAccompanyingPeriodWork()); + } + + self::assertStringContainsString('blabla', $accompanyingPeriodWork->getNote()); + self::assertStringContainsString('boum', $toDelete->getNote()); + + self::assertTrue($accompanyingPeriodWork->getThirdParties()->contains($thirdPartyA)); + self::assertTrue($accompanyingPeriodWork->getThirdParties()->contains($thirdPartyB)); + + self::assertTrue($accompanyingPeriodWork->getGoals()->contains($goalA)); + self::assertTrue($accompanyingPeriodWork->getResults()->contains($resultA)); + } +} diff --git a/src/Bundle/ChillPersonBundle/chill.webpack.config.js b/src/Bundle/ChillPersonBundle/chill.webpack.config.js index e4c6ed3af..effbec70f 100644 --- a/src/Bundle/ChillPersonBundle/chill.webpack.config.js +++ b/src/Bundle/ChillPersonBundle/chill.webpack.config.js @@ -6,7 +6,6 @@ module.exports = function (encore, entries) { encore.addAliases({ ChillPersonAssets: __dirname + "/Resources/public", }); - encore.addEntry( "vue_household_members_editor", __dirname + "/Resources/public/vuejs/HouseholdMembersEditor/index.js", @@ -31,7 +30,6 @@ module.exports = function (encore, entries) { "vue_export_action_goal_result", __dirname + "/Resources/public/vuejs/ExportFormActionGoalResult/index.js", ); - encore.addEntry( "mod_set_referrer", __dirname + "/Resources/public/mod/AccompanyingPeriod/setReferrer.js", @@ -66,4 +64,8 @@ module.exports = function (encore, entries) { "page_create_person", __dirname + "/Resources/public/page/person/create-person.js", ); + encore.addEntry( + "mod_duplicate_selector", + __dirname + "/Resources/public/mod/DuplicateSelector/AccompanyingPeriodWorkSelector.ts", + ); }; diff --git a/src/Bundle/ChillPersonBundle/translations/messages+intl-icu.fr.yaml b/src/Bundle/ChillPersonBundle/translations/messages+intl-icu.fr.yaml index f81efac8c..ae7ac6284 100644 --- a/src/Bundle/ChillPersonBundle/translations/messages+intl-icu.fr.yaml +++ b/src/Bundle/ChillPersonBundle/translations/messages+intl-icu.fr.yaml @@ -13,6 +13,14 @@ Requestor: >- neutral {Demandeur·euse} } +accompanying_period: + Participants_without_count: >- + {count, plural, + =0 {Participant} + =1 {Participant} + other {Participants} + } + person: from_the: depuis le And himself: >- diff --git a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml index 47d4feed3..09fe02f5e 100644 --- a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml @@ -208,7 +208,7 @@ Pediod closing form is not valid: Le formulaire n'est pas valide Accompanying user: Accompagnant No accompanying user: Aucun accompagnant No data given: Pas d'information -Participants: Usagers impliquées +Participants: Usagers impliqués Create an accompanying course: Créer un parcours Accompanying courses of users: Parcours des utilisateurs This accompanying course is still a draft: Ce parcours est encore à l'état brouillon. @@ -265,6 +265,10 @@ no comment found: "Aucun commentaire" Select a type: "Choisissez un type" Select a person: "Choisissez un usager" Kind: "Type" +person_resource: + person_non_prof: "Usager/ Tiers non-professionnel" + thirdparty_prof: "Tiers professionnel" + freetext: "Description libre" # pickAPersonType @@ -1498,6 +1502,18 @@ entity_display_title: Work (n°%w%): "Action d'accompagnement (n°%w%)" Accompanying Course (n°%w%): "Parcours d'accompagnement (n°%w%)" +acpw_duplicate: + title: Fusionner les actions d'accompagnement + description: Cette fusion conservera la date de début la plus ancienne, la date de fin la plus récente, toutes les évaluations, documents et workflows. Les agents traitants seront additionnés ainsi que les tiers intervenants. Les commentaires seront mis l'un à la suite de l'autre. + Select accompanying period work: Selectionner un action d'accompagnement + Assign duplicate: Désigner un action d'accompagnement doublon + Accompanying period work to delete: Action d'accompagnement à supprimer + Accompanying period work to delete explanation: Cet action d'accompagnement sera supprimé. + Accompanying period work to keep: Action d'accompagnement à conserver + to keep: Action d'accompagnement à conserver + to delete: Action d'accompagnement à supprimer + Successfully merged: Action d'accompagnement fusionnée avec succès. + my_parcours_filters: referrer_parcours_and_acpw: Agent traitant ou réferent referrer_acpw: Agent traitant d'une action diff --git a/src/Bundle/ChillThirdPartyBundle/Resources/public/types.ts b/src/Bundle/ChillThirdPartyBundle/Resources/public/types.ts new file mode 100644 index 000000000..20ae3309b --- /dev/null +++ b/src/Bundle/ChillThirdPartyBundle/Resources/public/types.ts @@ -0,0 +1,47 @@ +import { + Address, + Center, + Civility, + DateTime, + User, +} from "ChillMainAssets/types"; + +export interface Thirdparty { + acronym: string | null; + active: boolean; + address: Address | null; + canonicalized: string | null; + categories: ThirdpartyCategory[]; + centers: Center[]; + children: Thirdparty[]; + civility: Civility | null; + comment: string | null; + contactDataAnonymous: boolean; + createdAt: DateTime; + createdBy: User | null; + email: string | null; + firstname: string | null; + id: number | null; + kind: string; + name: string; + nameCompany: string | null; + parent: Thirdparty | null; + profession: string; + telephone: string | null; + thirdPartyTypes: ThirdpartyType[] | null; + updatedAt: DateTime | null; + updatedBy: User | null; +} + +interface ThirdpartyType { + key: string; + value: string; +} + +export interface ThirdpartyCategory { + id: number; + active: boolean; + name: { + fr: string; + }; +} diff --git a/src/Bundle/ChillWopiBundle/src/Resources/public/module/pending/index.ts b/src/Bundle/ChillWopiBundle/src/Resources/public/module/pending/index.ts index 98dbac4d4..faeb00540 100644 --- a/src/Bundle/ChillWopiBundle/src/Resources/public/module/pending/index.ts +++ b/src/Bundle/ChillWopiBundle/src/Resources/public/module/pending/index.ts @@ -1,8 +1,6 @@ import { is_object_ready } from "../../../../../../ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/helpers"; import { StoredObject, - StoredObjectStatus, - StoredObjectStatusChange, } from "../../../../../../ChillDocStoreBundle/Resources/public/types"; async function reload_if_needed( diff --git a/symfony.lock b/symfony.lock index ee44b19d8..6409f0c1d 100644 --- a/symfony.lock +++ b/symfony.lock @@ -14,6 +14,15 @@ "config/routes/annotations.yaml" ] }, + "doctrine/deprecations": { + "version": "1.1", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "1.0", + "ref": "87424683adc81d7dc305eefec1fced883084aab9" + } + }, "doctrine/doctrine-bundle": { "version": "2.13", "recipe": {
  • {{ 'Name'|trans }}
    • - -
    • -
    • - +