diff --git a/.changes/unreleased/Fixed-20251003-224044.yaml b/.changes/unreleased/Fixed-20251003-224044.yaml new file mode 100644 index 000000000..c5b3e7304 --- /dev/null +++ b/.changes/unreleased/Fixed-20251003-224044.yaml @@ -0,0 +1,6 @@ +kind: Fixed +body: Fix the rendering of list of StoredObjectVersions, where there are kept version (before converting to pdf) and intermediate versions deleted +time: 2025-10-03T22:40:44.685474863+02:00 +custom: + Issue: "" + SchemaChange: No schema change diff --git a/src/Bundle/ChillDocStoreBundle/Controller/StoredObjectVersionApiController.php b/src/Bundle/ChillDocStoreBundle/Controller/StoredObjectVersionApiController.php index 819eb9f84..1dbcb6159 100644 --- a/src/Bundle/ChillDocStoreBundle/Controller/StoredObjectVersionApiController.php +++ b/src/Bundle/ChillDocStoreBundle/Controller/StoredObjectVersionApiController.php @@ -59,7 +59,7 @@ final readonly class StoredObjectVersionApiController return new JsonResponse( $this->serializer->serialize( - new Collection($items, $paginator), + new Collection(array_values($items->toArray()), $paginator), 'json', [AbstractNormalizer::GROUPS => ['read', StoredObjectVersionNormalizer::WITH_POINT_IN_TIMES_CONTEXT, StoredObjectVersionNormalizer::WITH_RESTORED_CONTEXT]] ), diff --git a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/HistoryButton/HistoryButtonListItem.vue b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/HistoryButton/HistoryButtonListItem.vue index bf5e3fffb..bd8502e96 100644 --- a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/HistoryButton/HistoryButtonListItem.vue +++ b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/HistoryButton/HistoryButtonListItem.vue @@ -3,9 +3,9 @@ import { StoredObject, StoredObjectPointInTime, StoredObjectVersionWithPointInTime, -} from "./../../../types"; +} from "ChillDocStoreAssets/types"; import UserRenderBoxBadge from "ChillMainAssets/vuejs/_components/Entity/UserRenderBoxBadge.vue"; -import { ISOToDatetime } from "./../../../../../../ChillMainBundle/Resources/public/chill/js/date"; +import { ISOToDatetime } from "ChillMainAssets/chill/js/date"; import FileIcon from "ChillDocStoreAssets/vuejs/FileIcon.vue"; import RestoreVersionButton from "ChillDocStoreAssets/vuejs/StoredObjectButton/HistoryButton/RestoreVersionButton.vue"; import DownloadButton from "ChillDocStoreAssets/vuejs/StoredObjectButton/DownloadButton.vue"; diff --git a/src/Bundle/ChillDocStoreBundle/Tests/Controller/StoredObjectVersionApiControllerTest.php b/src/Bundle/ChillDocStoreBundle/Tests/Controller/StoredObjectVersionApiControllerTest.php index 27154831d..36d225ddf 100644 --- a/src/Bundle/ChillDocStoreBundle/Tests/Controller/StoredObjectVersionApiControllerTest.php +++ b/src/Bundle/ChillDocStoreBundle/Tests/Controller/StoredObjectVersionApiControllerTest.php @@ -40,6 +40,10 @@ class StoredObjectVersionApiControllerTest extends \PHPUnit\Framework\TestCase $storedObject->registerVersion(); } + // remove one version in the history + $v5 = $storedObject->getVersions()->get(5); + $storedObject->removeVersion($v5); + $security = $this->prophesize(Security::class); $security->isGranted(StoredObjectRoleEnum::SEE->value, $storedObject) ->willReturn(true) @@ -53,6 +57,7 @@ class StoredObjectVersionApiControllerTest extends \PHPUnit\Framework\TestCase self::assertEquals($response->getStatusCode(), 200); self::assertIsArray($body); self::assertArrayHasKey('results', $body); + self::assertIsList($body['results']); self::assertCount(10, $body['results']); }