Fixed. The follow navigation was receiving a valid SignalR event, but the stored procedure was generating /Scenes/Details/{id} even though ScenesController only supports /Scenes/Edit/{id}.

This commit is contained in:
Nick Beckley 2026-06-28 21:27:20 +01:00
parent efa606f7c7
commit df03f46ca8
3 changed files with 54 additions and 2 deletions

View File

@ -0,0 +1,52 @@
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
CREATE OR ALTER PROCEDURE dbo.WordCompanion_Runtime_CurrentScene_Validate
@UserID int,
@DocumentGuid uniqueidentifier,
@ProjectID int,
@BookID int,
@ChapterID int,
@SceneID int
AS
BEGIN
SET NOCOUNT ON;
IF @DocumentGuid IS NULL
OR @DocumentGuid = '00000000-0000-0000-0000-000000000000'
OR @ProjectID <= 0
OR @BookID <= 0
OR @ChapterID <= 0
OR @SceneID <= 0
RETURN;
SELECT p.ProjectID AS ProjectId,
b.BookID AS BookId,
c.ChapterID AS ChapterId,
s.SceneID AS SceneId,
CONCAT(N'/Scenes/Edit/', s.SceneID) AS SceneUrl
FROM dbo.Projects p
INNER JOIN dbo.ProjectUserAccess pua ON pua.ProjectID = p.ProjectID
INNER JOIN dbo.Books b ON b.ProjectID = p.ProjectID
INNER JOIN dbo.Chapters c ON c.BookID = b.BookID
INNER JOIN dbo.Scenes s ON s.ChapterID = c.ChapterID
INNER JOIN dbo.ManuscriptDocuments md ON md.ProjectID = p.ProjectID
AND md.BookID = b.BookID
WHERE p.ProjectID = @ProjectID
AND b.BookID = @BookID
AND c.ChapterID = @ChapterID
AND s.SceneID = @SceneID
AND md.DocumentGuid = @DocumentGuid
AND md.IsActive = 1
AND s.IsLinkedToManuscript = 1
AND s.ManuscriptDocumentID = md.ManuscriptDocumentID
AND p.IsArchived = 0
AND b.IsArchived = 0
AND c.IsArchived = 0
AND s.IsArchived = 0
AND pua.UserID = @UserID
AND pua.IsActive = 1;
END;
GO

View File

@ -166,7 +166,7 @@
}
lastSceneId = sceneId;
const sceneUrl = safeRelativeUrl(payload?.sceneUrl || payload?.SceneUrl || "", "/Scenes/Details/");
const sceneUrl = safeRelativeUrl(payload?.sceneUrl || payload?.SceneUrl || "", "/Scenes/Edit/");
navigateIfAllowed(sceneUrl);
});

File diff suppressed because one or more lines are too long