From ac3a4fd3f405a19a403cbec977a1e7d96c9a0398 Mon Sep 17 00:00:00 2001 From: "Daniel J. Summers" Date: Sat, 21 May 2022 11:00:03 -0400 Subject: [PATCH] Fix prior permalink lookup (a8) - Fix permalink edit links (a7) --- src/MyWebLog.Data/Data.fs | 48 ++++++++++++---------- src/MyWebLog/Handlers/Post.fs | 2 +- src/MyWebLog/appsettings.json | 2 +- src/MyWebLog/themes/admin/page-edit.liquid | 2 +- src/MyWebLog/themes/admin/post-edit.liquid | 2 +- 5 files changed, 31 insertions(+), 25 deletions(-) diff --git a/src/MyWebLog.Data/Data.fs b/src/MyWebLog.Data/Data.fs index db3be7a..4ca164f 100644 --- a/src/MyWebLog.Data/Data.fs +++ b/src/MyWebLog.Data/Data.fs @@ -380,17 +380,20 @@ module Page = |> tryFirst /// Find the current permalink for a page by a prior permalink - let findCurrentPermalink (permalinks : Permalink list) (webLogId : WebLogId) = - rethink { - withTable Table.Page - getAll (objList permalinks) "priorPermalinks" - filter "webLogId" webLogId - pluck [ "permalink" ] - limit 1 - result; withRetryDefault - } - |> tryFirst - + let findCurrentPermalink (permalinks : Permalink list) (webLogId : WebLogId) conn = backgroundTask { + let! result = + (rethink { + withTable Table.Page + getAll (objList permalinks) "priorPermalinks" + filter "webLogId" webLogId + without [ "revisions"; "text" ] + limit 1 + result; withRetryDefault + } + |> tryFirst) conn + return result |> Option.map (fun pg -> pg.permalink) + } + /// Find all pages in the page list for the given web log let findListed (webLogId : WebLogId) = rethink { @@ -506,16 +509,19 @@ module Post = |> verifyWebLog webLogId (fun p -> p.webLogId) /// Find the current permalink for a post by a prior permalink - let findCurrentPermalink (permalinks : Permalink list) (webLogId : WebLogId) = - rethink { - withTable Table.Post - getAll (objList permalinks) "priorPermalinks" - filter "webLogId" webLogId - pluck [ "permalink" ] - limit 1 - result; withRetryDefault - } - |> tryFirst + let findCurrentPermalink (permalinks : Permalink list) (webLogId : WebLogId) conn = backgroundTask { + let! result = + (rethink { + withTable Table.Post + getAll (objList permalinks) "priorPermalinks" + filter "webLogId" webLogId + without [ "revisions"; "text" ] + limit 1 + result; withRetryDefault + } + |> tryFirst) conn + return result |> Option.map (fun post -> post.permalink) + } /// Find posts to be displayed on a category list page let findPageOfCategorizedPosts (webLogId : WebLogId) (catIds : CategoryId list) (pageNbr : int64) postsPerPage = diff --git a/src/MyWebLog/Handlers/Post.fs b/src/MyWebLog/Handlers/Post.fs index fe039ff..afdf646 100644 --- a/src/MyWebLog/Handlers/Post.fs +++ b/src/MyWebLog/Handlers/Post.fs @@ -302,7 +302,7 @@ let private deriveAction ctx : HttpHandler seq = match Data.Post.findCurrentPermalink [ permalink; altLink ] webLog.id conn |> await with | Some link -> yield redirectTo true $"/{Permalink.toString link}" | None -> () - // Prior permalink + // Prior page match Data.Page.findCurrentPermalink [ permalink; altLink ] webLog.id conn |> await with | Some link -> yield redirectTo true $"/{Permalink.toString link}" | None -> () diff --git a/src/MyWebLog/appsettings.json b/src/MyWebLog/appsettings.json index df13854..4cb4a6e 100644 --- a/src/MyWebLog/appsettings.json +++ b/src/MyWebLog/appsettings.json @@ -3,5 +3,5 @@ "hostname": "data02.bitbadger.solutions", "database": "myWebLog_dev" }, - "Generator": "myWebLog 2.0-alpha06" + "Generator": "myWebLog 2.0-alpha08" } diff --git a/src/MyWebLog/themes/admin/page-edit.liquid b/src/MyWebLog/themes/admin/page-edit.liquid index e208a05..46ddb4a 100644 --- a/src/MyWebLog/themes/admin/page-edit.liquid +++ b/src/MyWebLog/themes/admin/page-edit.liquid @@ -16,7 +16,7 @@ value="{{ model.permalink }}"> {%- if model.page_id != "new" %} - Manage Permalinks + Manage Permalinks {% endif -%} diff --git a/src/MyWebLog/themes/admin/post-edit.liquid b/src/MyWebLog/themes/admin/post-edit.liquid index 3f3e88b..ae6bbac 100644 --- a/src/MyWebLog/themes/admin/post-edit.liquid +++ b/src/MyWebLog/themes/admin/post-edit.liquid @@ -16,7 +16,7 @@ value="{{ model.permalink }}"> {%- if model.page_id != "new" %} - Manage Permalinks + Manage Permalinks {% endif -%}