diff --git a/AdminUI/LearningHub.Nhs.AdminUI/Scripts/vuesrc/content-structure/treeItem.vue b/AdminUI/LearningHub.Nhs.AdminUI/Scripts/vuesrc/content-structure/treeItem.vue
index 7844cd81d..2070710d4 100644
--- a/AdminUI/LearningHub.Nhs.AdminUI/Scripts/vuesrc/content-structure/treeItem.vue
+++ b/AdminUI/LearningHub.Nhs.AdminUI/Scripts/vuesrc/content-structure/treeItem.vue
@@ -48,7 +48,7 @@
Create reference to this folder
{{item.nodePathDisplayVersionId == 0 ? "Create" : "Edit"}} reference details
Add a reference here
- Remove this reference
+ Remove this reference
@@ -166,7 +166,7 @@
Move
Create reference to this resource
{{item.resourceReferenceDisplayVersionId == 0 ? "Create" : "Edit"}} reference details
- Remove this reference
+ Remove this reference
@@ -253,6 +253,7 @@
canMoveResourceDown: false,
canMoveResourceUp: false,
canMoveResource: false,
+ canRemove: false,
};
},
computed: {
@@ -397,6 +398,7 @@
this.canEditNode = true;
this.canMoveNode = this.item.parent != null;
this.canEditFolderReference = this.item.nodePathDisplayVersionId > 0 || (this.item.nodePaths && this.item.nodePaths.length > 1);
+ this.canRemove = this.item.primaryCatalogueNodeId != this.$store.state.contentStructureState.rootNode.nodeId;
},
recomputeResourceOptions: function () {
this.canMoveResourceUp = this.item.displayOrder > 1;
diff --git a/LearningHub.Nhs.WebUI/Scripts/vuesrc/content-structure-admin/treeItem.vue b/LearningHub.Nhs.WebUI/Scripts/vuesrc/content-structure-admin/treeItem.vue
index fa8627433..5c5f8e014 100644
--- a/LearningHub.Nhs.WebUI/Scripts/vuesrc/content-structure-admin/treeItem.vue
+++ b/LearningHub.Nhs.WebUI/Scripts/vuesrc/content-structure-admin/treeItem.vue
@@ -48,7 +48,7 @@
Create reference to this folder
{{item.nodePathDisplayVersionId == 0 ? "Create" : "Edit"}} reference details
Add a reference here
- Remove this reference
+ Remove this reference
@@ -166,7 +166,7 @@
Move
Create reference to this resource
{{item.resourceReferenceDisplayVersionId == 0 ? "Create" : "Edit"}} reference details
- Remove this reference
+ Remove this reference
@@ -253,6 +253,7 @@
canMoveResourceDown: false,
canMoveResourceUp: false,
canMoveResource: false,
+ canRemove: false,
};
},
computed: {
@@ -397,6 +398,7 @@
this.canEditNode = true;
this.canMoveNode = this.item.parent != null;
this.canEditFolderReference = this.item.nodePathDisplayVersionId > 0 || (this.item.nodePaths && this.item.nodePaths.length > 1);
+ this.canRemove = this.item.primaryCatalogueNodeId != this.$store.state.contentStructureState.rootNode.nodeId;
},
recomputeResourceOptions: function () {
this.canMoveResourceUp = this.item.displayOrder > 1;
diff --git a/WebAPI/LearningHub.Nhs.Database/LearningHub.Nhs.Database.sqlproj b/WebAPI/LearningHub.Nhs.Database/LearningHub.Nhs.Database.sqlproj
index 80d3d47c4..c18fe1cae 100644
--- a/WebAPI/LearningHub.Nhs.Database/LearningHub.Nhs.Database.sqlproj
+++ b/WebAPI/LearningHub.Nhs.Database/LearningHub.Nhs.Database.sqlproj
@@ -547,6 +547,7 @@
+
diff --git a/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Hierarchy/HierarchyEditPublish.sql b/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Hierarchy/HierarchyEditPublish.sql
index 0afd0d97d..32c0f74e0 100644
--- a/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Hierarchy/HierarchyEditPublish.sql
+++ b/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Hierarchy/HierarchyEditPublish.sql
@@ -589,6 +589,14 @@ BEGIN
----------------------------------------------------------
EXEC [hierarchy].[HierarchyNewNodePathForReferedCatalogue] @HierarchyEditId,@AmendUserId,@AmendDate
+
+ ----------------------------------------------------------
+ -- ResourceReference: generate new resource reference
+ ----------------------------------------------------------
+
+ EXEC [hierarchy].[HierarchyNewResourceReferenceForReferedCatalogue] @HierarchyEditId,@AmendUserId,@AmendDate
+
+
----------------------------------------------------------
-- NodePathNode
----------------------------------------------------------
diff --git a/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Hierarchy/HierarchyNewResourceReferenceForReferedCatalogue.sql b/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Hierarchy/HierarchyNewResourceReferenceForReferedCatalogue.sql
new file mode 100644
index 000000000..a5524d8ec
--- /dev/null
+++ b/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Hierarchy/HierarchyNewResourceReferenceForReferedCatalogue.sql
@@ -0,0 +1,93 @@
+-------------------------------------------------------------------------------
+-- Author Sarathlal
+-- Created 11-09-2024
+-- Purpose Move resource in primary catalogue after external reference should reflect secondary catalogue
+--
+-- Modification History
+-- 11-09-2024 SS Initial version
+-------------------------------------------------------------------------------
+CREATE PROCEDURE [hierarchy].[HierarchyNewResourceReferenceForReferedCatalogue]
+(
+ @HierarchyEditId INT,
+ @AmendUserId INT,
+ @AmendDate datetimeoffset(7)
+)
+
+AS
+
+BEGIN
+ BEGIN TRY
+
+ BEGIN TRAN
+ DECLARE @NodePathId int
+ DECLARE @ResourceId INT
+ DECLARE @PrimaryCatalogueNodeId int
+ DECLARE @NodeId int
+ DECLARE @ParentNodeId int
+ DECLARE @NewNodePath as NVARCHAR(256)
+ DECLARE @ResourceReferenceId INT
+ DECLARE @ResourceReferenceCursor as CURSOR
+ SET @ResourceReferenceCursor = CURSOR FORWARD_ONLY FOR
+ SELECT
+ ResourceId,
+ PrimaryCatalogueNodeId,
+ ParentNodeId,
+ NodeId,
+ hed.NewNodePath,
+ NodePathId,
+ ResourceReferenceId
+ FROM
+ hierarchy.HierarchyEditDetail hed
+ WHERE
+ HierarchyEditId = @HierarchyEditId
+ AND
+ (
+
+ HierarchyEditDetailTypeId = 5 -- Resource
+ )
+ AND (
+ HierarchyEditDetailOperationId = 1 -- Add
+ OR
+ HierarchyEditDetailOperationId = 2 -- Edit
+ )
+ AND NodeLinkId IS NULL
+ AND [Deleted] = 0
+ OPEN @ResourceReferenceCursor;
+ FETCH NEXT FROM @ResourceReferenceCursor INTO @ResourceId,@PrimaryCatalogueNodeId,@ParentNodeId,@NodeId,@NewNodePath,@NodePathId,@ResourceReferenceId;
+ WHILE @@FETCH_STATUS = 0
+ BEGIN
+
+ INSERT INTO [resources].[ResourceReference]([ResourceId],[NodePathId],[OriginalResourceReferenceId],[IsActive],[Deleted],[CreateUserId],[CreateDate],[AmendUserId],[AmendDate])
+ SELECT @ResourceId,NP.Id,@ResourceReferenceId,1,0,@AmendUserId,@AmendDate,@AmendUserId,@AmendDate
+ FROM
+ hub.[fn_Split](@NewNodePath, '\') nodeInPath
+ INNER JOIN hierarchy.NodePath NP ON NP.NodeId=nodeInPath.value AND CatalogueNodeId!=@PrimaryCatalogueNodeId
+ WHERE nodeInPath.value=@ParentNodeId
+
+ FETCH NEXT FROM @ResourceReferenceCursor INTO @ResourceId,@PrimaryCatalogueNodeId,@ParentNodeId,@NodeId,@NewNodePath,@NodePathId,@ResourceReferenceId;
+
+ END
+
+ CLOSE @ResourceReferenceCursor;
+ DEALLOCATE @ResourceReferenceCursor;
+ COMMIT
+
+ END TRY
+ BEGIN CATCH
+ DECLARE @ErrorMessage NVARCHAR(4000);
+ DECLARE @ErrorSeverity INT;
+ DECLARE @ErrorState INT;
+
+ SELECT
+ @ErrorMessage = ERROR_MESSAGE(),
+ @ErrorSeverity = ERROR_SEVERITY(),
+ @ErrorState = ERROR_STATE();
+
+ IF @@TRANCOUNT > 0
+ ROLLBACK TRAN;
+
+ RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState);
+
+ END CATCH
+END
+GO
\ No newline at end of file