diff --git a/src/Bundle/ChillDocStoreBundle/Controller/StoredObjectRestoreVersionApiController.php b/src/Bundle/ChillDocStoreBundle/Controller/StoredObjectRestoreVersionApiController.php index 7e9c12943..e3b4702f5 100644 --- a/src/Bundle/ChillDocStoreBundle/Controller/StoredObjectRestoreVersionApiController.php +++ b/src/Bundle/ChillDocStoreBundle/Controller/StoredObjectRestoreVersionApiController.php @@ -40,7 +40,7 @@ final readonly class StoredObjectRestoreVersionApiController $this->entityManager->flush(); return new JsonResponse( - $this->serializer->serialize($newVersion, 'json', [AbstractNormalizer::GROUPS => ['read', StoredObjectVersionNormalizer::WITH_POINT_IN_TIMES_CONTEXT]]), + $this->serializer->serialize($newVersion, 'json', [AbstractNormalizer::GROUPS => ['read', StoredObjectVersionNormalizer::WITH_POINT_IN_TIMES_CONTEXT, StoredObjectVersionNormalizer::WITH_RESTORED_CONTEXT]]), json: true ); } diff --git a/src/Bundle/ChillDocStoreBundle/Controller/StoredObjectVersionApiController.php b/src/Bundle/ChillDocStoreBundle/Controller/StoredObjectVersionApiController.php index 0ffbfc719..819eb9f84 100644 --- a/src/Bundle/ChillDocStoreBundle/Controller/StoredObjectVersionApiController.php +++ b/src/Bundle/ChillDocStoreBundle/Controller/StoredObjectVersionApiController.php @@ -61,7 +61,7 @@ final readonly class StoredObjectVersionApiController $this->serializer->serialize( new Collection($items, $paginator), 'json', - [AbstractNormalizer::GROUPS => ['read', StoredObjectVersionNormalizer::WITH_POINT_IN_TIMES_CONTEXT]] + [AbstractNormalizer::GROUPS => ['read', StoredObjectVersionNormalizer::WITH_POINT_IN_TIMES_CONTEXT, StoredObjectVersionNormalizer::WITH_RESTORED_CONTEXT]] ), json: true ); diff --git a/src/Bundle/ChillDocStoreBundle/Resources/public/module/document_action_buttons_group/index.ts b/src/Bundle/ChillDocStoreBundle/Resources/public/module/document_action_buttons_group/index.ts index 77eb8c2c9..f9cf13a97 100644 --- a/src/Bundle/ChillDocStoreBundle/Resources/public/module/document_action_buttons_group/index.ts +++ b/src/Bundle/ChillDocStoreBundle/Resources/public/module/document_action_buttons_group/index.ts @@ -3,6 +3,7 @@ import DocumentActionButtonsGroup from "../../vuejs/DocumentActionButtonsGroup.v import {createApp} from "vue"; import {StoredObject, StoredObjectStatusChange} from "../../types"; import {is_object_ready} from "../../vuejs/StoredObjectButton/helpers"; +import ToastPlugin from "vue-toast-notification"; const i18n = _createI18n({}); @@ -48,6 +49,6 @@ window.addEventListener('DOMContentLoaded', function (e) { } }); - app.use(i18n).mount(el); + app.use(i18n).use(ToastPlugin).mount(el); }) }); diff --git a/src/Bundle/ChillDocStoreBundle/Resources/public/types.ts b/src/Bundle/ChillDocStoreBundle/Resources/public/types.ts index a6ce41512..f93e9c5b7 100644 --- a/src/Bundle/ChillDocStoreBundle/Resources/public/types.ts +++ b/src/Bundle/ChillDocStoreBundle/Resources/public/types.ts @@ -64,6 +64,7 @@ export interface StoredObjectStatusChange { export interface StoredObjectVersionWithPointInTime extends StoredObjectVersionPersisted { "point-in-times": StoredObjectPointInTime[]; + "from-restored": StoredObjectVersionPersisted|null; } export interface StoredObjectPointInTime { diff --git a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentActionButtonsGroup.vue b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentActionButtonsGroup.vue index 614dc7a78..9c7dac095 100644 --- a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentActionButtonsGroup.vue +++ b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/DocumentActionButtonsGroup.vue @@ -14,7 +14,7 @@
  • - +
  • diff --git a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/DownloadButton.vue b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/DownloadButton.vue index 92f82dc9d..d1efabcee 100644 --- a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/DownloadButton.vue +++ b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/DownloadButton.vue @@ -1,11 +1,11 @@ @@ -20,6 +20,7 @@ interface DownloadButtonConfig { atVersion: StoredObjectVersion, classes: { [k: string]: boolean }, filename?: string, + displayActionStringInButton: boolean, } interface DownloadButtonState { @@ -28,7 +29,7 @@ interface DownloadButtonState { href_url: string, } -const props = defineProps(); +const props = withDefaults(defineProps(), {displayActionStringInButton: true}); const state: DownloadButtonState = reactive({is_ready: false, is_running: false, href_url: "#"}); const open_button = ref(null); diff --git a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/HistoryButton.vue b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/HistoryButton.vue index 108256909..547416879 100644 --- a/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/HistoryButton.vue +++ b/src/Bundle/ChillDocStoreBundle/Resources/public/vuejs/StoredObjectButton/HistoryButton.vue @@ -36,11 +36,15 @@ const download_version_and_open_modal = async function (): Promise { } } +const onRestoreVersion = ({newVersion}: {newVersion: StoredObjectVersionWithPointInTime}) => { + state.versions.unshift(newVersion); +} +