diff --git a/src/components/entity/activity.vue b/src/components/entity/activity.vue index e46af48b7..c890a9436 100644 --- a/src/components/entity/activity.vue +++ b/src/components/entity/activity.vue @@ -57,17 +57,23 @@ const feed = computed(() => { let versionIndex = entityVersions.length - 1; for (const audit of audits) { if (audit.action === 'entity.update.version') { - const { submission } = audit.details; + const { submission } = audit.details.source; const entityVersion = entityVersions[versionIndex]; versionIndex -= 1; groups.push([{ entry: audit, submission, entityVersion }]); } else if (audit.action === 'entity.create') { const group = [{ entry: audit }]; const { details } = audit; - if (details.sourceEvent?.action === 'submission.update') - group.push({ entry: details.sourceEvent }); - if (details.submissionCreate != null) - group.push({ entry: details.submissionCreate, submission: details.submission }); + // this will insert a feed entry for the submission approval event + if (details.source?.event?.action === 'submission.update') + group.push({ entry: details.source.event }); + // this will insert a feed entry for the submission creation + if (details.source?.submission != null) { + group.push({ + entry: { action: 'submission.create', loggedAt: details.source.submission.createdAt }, + submission: details.source.submission + }); + } groups.push(group); } else { groups.push([{ entry: audit }]); diff --git a/src/components/entity/basic-details.vue b/src/components/entity/basic-details.vue index 14661f7a8..f54eff92b 100644 --- a/src/components/entity/basic-details.vue +++ b/src/components/entity/basic-details.vue @@ -18,16 +18,16 @@ except according to the terms contained in the LICENSE file.
{{ $t('entity.entityId') }}
{{ entity.uuid }}
-
+
{{ $t('creatingSubmission') }}
- - {{ submission.currentVersion.instanceName ?? instanceId }} + + {{ submission.currentVersion.instanceName ?? submission.instanceId }}
@@ -65,23 +65,16 @@ const projectId = inject('projectId'); // created. const { entity, audits } = useRequestData(); -// Using `ref` and watchEffect() for instanceId and `submission` rather than -// `computed` so that they don't change whenever `audits` is refreshed. -const instanceId = ref(undefined); +// Using `ref` and watchEffect() for `submission` rather than +// `computed` so that it doesn't change whenever `audits` is refreshed. const submission = ref(undefined); watchEffect(() => { - if (instanceId.value !== undefined || !audits.dataExists) return; + if (submission.value !== undefined || !audits.dataExists) return; const audit = audits.find(({ action }) => action === 'entity.create'); // `audit` should always exist in production, but it doesn't always exist in // testing. if (audit == null) return; - const { submissionCreate } = audit.details; - if (submissionCreate != null) { - instanceId.value = submissionCreate.details.instanceId; - submission.value = audit.details.submission; - } else { - instanceId.value = null; - } + submission.value = audit.details.source?.submission; }); const { submissionPath } = useRoutes(); diff --git a/src/components/entity/feed-entry.vue b/src/components/entity/feed-entry.vue index 0babcd844..1bf90e5a9 100644 --- a/src/components/entity/feed-entry.vue +++ b/src/components/entity/feed-entry.vue @@ -15,20 +15,20 @@ except according to the terms contained in the LICENSE file.