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 @@
+
+
+
+
+
{{ description }}
+
{{ question }}
+
+
+
+
+
+
+
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 @@
+