diff --git a/contentcuration/contentcuration/frontend/channelEdit/components/modals/ResubmitToCommunityLibraryModal.vue b/contentcuration/contentcuration/frontend/channelEdit/components/modals/ResubmitToCommunityLibraryModal.vue new file mode 100644 index 0000000000..28b74958d7 --- /dev/null +++ b/contentcuration/contentcuration/frontend/channelEdit/components/modals/ResubmitToCommunityLibraryModal.vue @@ -0,0 +1,71 @@ + + + + diff --git a/contentcuration/contentcuration/frontend/channelEdit/components/sidePanels/PublishSidePanel.vue b/contentcuration/contentcuration/frontend/channelEdit/components/sidePanels/PublishSidePanel.vue index 9c0027442d..403cdebdac 100644 --- a/contentcuration/contentcuration/frontend/channelEdit/components/sidePanels/PublishSidePanel.vue +++ b/contentcuration/contentcuration/frontend/channelEdit/components/sidePanels/PublishSidePanel.vue @@ -154,10 +154,11 @@ import { ref, computed, getCurrentInstance, onMounted } from 'vue'; import SidePanelModal from 'shared/views/SidePanelModal'; - import { Channel } from 'shared/data/resources'; + import { Channel, CommunityLibrarySubmission } from 'shared/data/resources'; import { forceServerSync } from 'shared/data/serverSync'; import { communityChannelsStrings } from 'shared/strings/communityChannelsStrings'; import { LanguagesList } from 'shared/leUtils/Languages'; + import logging from 'shared/logging'; export default { name: 'PublishSidePanel', @@ -330,6 +331,27 @@ await Channel.publish(currentChannel.value.id, version_notes.value); + if (mode.value === PublishModes.LIVE) { + try { + const response = await CommunityLibrarySubmission.fetchCollection({ + channel: currentChannel.value.id, + max_results: 1, + }); + + const submissions = response?.results || []; + + if (submissions.length > 0) { + const latestSubmission = submissions[0]; + emit('showResubmitCommunityLibraryModal', { + channel: { ...currentChannel.value }, + latestSubmissionVersion: latestSubmission.channel_version, + }); + } + } catch (error) { + logging.error(error); + } + } + emit('close'); } } catch (error) { @@ -402,7 +424,7 @@ }; }, - emits: ['close'], + emits: ['close', 'showResubmitCommunityLibraryModal'], }; diff --git a/contentcuration/contentcuration/frontend/channelEdit/views/TreeView/TreeViewBase.vue b/contentcuration/contentcuration/frontend/channelEdit/views/TreeView/TreeViewBase.vue index 6ca82f5d2d..a0618e6ad1 100644 --- a/contentcuration/contentcuration/frontend/channelEdit/views/TreeView/TreeViewBase.vue +++ b/contentcuration/contentcuration/frontend/channelEdit/views/TreeView/TreeViewBase.vue @@ -235,12 +235,20 @@ +