diff --git a/cloudscribe.SimpleContent.sln b/cloudscribe.SimpleContent.sln index 330d912a..95874a6c 100644 --- a/cloudscribe.SimpleContent.sln +++ b/cloudscribe.SimpleContent.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29209.152 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35527.113 d17.12 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{5243DE57-7C89-4208-8876-405E13605D16}" EndProject diff --git a/src/cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5/Views/ContentSettings/Index.cshtml b/src/cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5/Views/ContentSettings/Index.cshtml index 9a14c914..85adf5a6 100644 --- a/src/cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5/Views/ContentSettings/Index.cshtml +++ b/src/cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5/Views/ContentSettings/Index.cshtml @@ -303,30 +303,30 @@
-

@sr["EditorialDetailsExplanation"]

+

@sr["Show / hide the following information below the main content of pages (site default)."]

-
+
- +
-
+
- +
-
+
- +
-
+
- +
@if (uiOptions.ShowBlogSettings) diff --git a/src/cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5/cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5.csproj b/src/cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5/cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5.csproj index 73472a70..2fe06734 100644 --- a/src/cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5/cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5.csproj +++ b/src/cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5/cloudscribe.Core.SimpleContent.CompiledViews.Bootstrap5.csproj @@ -2,7 +2,7 @@ Bootstrap 5 pre-compiled views for cloudscribe Core and SimpleContent integration - 8.0.2 + 8.0.3 net8.0 Joe Audette true diff --git a/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/Edit.cshtml b/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/Edit.cshtml index cae4b9d1..0f08313b 100644 --- a/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/Edit.cshtml +++ b/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/Edit.cshtml @@ -55,33 +55,7 @@
-
-

@sr["EditorialDetailsExplanation"]

-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
+
diff --git a/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditWithTemplate.cshtml b/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditWithTemplate.cshtml index 4a43eab1..8925190f 100644 --- a/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditWithTemplate.cshtml +++ b/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditWithTemplate.cshtml @@ -64,33 +64,7 @@ @legend -
-

@sr["EditorialDetailsExplanation"]

-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
+
diff --git a/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditorialDetailsPartial.cshtml b/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditorialDetailsPartial.cshtml index 35a9c124..b49cc7dd 100644 --- a/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditorialDetailsPartial.cshtml +++ b/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditorialDetailsPartial.cshtml @@ -3,33 +3,33 @@ @inject ISimpleContentThemeHelper themeHelper
- @if (Model.CurrentPage.ShowCreatedDate != false && Model.CurrentPage.ShowCreatedBy != false && Model.CurrentPage.CreatedByUser != null) + @if (Model.ShowCreatedDate.HasValue && Model.ShowCreatedDate != false && Model.ShowCreatedBy.HasValue && Model.ShowCreatedBy != false && Model.CurrentPage.CreatedByUser != null) { @sr["Created"]: @Model.CurrentPage.CreatedUtc.ToString("dd/MM/yyyy") By: @Model.CurrentPage.CreatedByUser } - else if (Model.CurrentPage.ShowCreatedDate != false) + else if (Model.ShowCreatedDate.HasValue && Model.ShowCreatedDate != false) { @sr["Created"]: @Model.CurrentPage.CreatedUtc.ToString("dd/MM/yyyy") } - else if (Model.CurrentPage.ShowCreatedBy != false && Model.CurrentPage.CreatedByUser != null) + else if (Model.ShowCreatedBy.HasValue && Model.ShowCreatedBy != false && Model.CurrentPage.CreatedByUser != null) { @sr["Created By"]: @Model.CurrentPage.CreatedByUser } - @if ((Model.CurrentPage.ShowCreatedDate != false || Model.CurrentPage.ShowCreatedBy != false) && (Model.CurrentPage.ShowLastModifiedDate != false || Model.CurrentPage.ShowLastModifiedBy != false)) + @if ((Model.ShowCreatedDate.HasValue && Model.ShowCreatedDate != false || Model.ShowCreatedBy.HasValue && Model.ShowCreatedBy != false) && (Model.ShowLastModifiedDate.HasValue && Model.ShowLastModifiedDate != false || Model.ShowLastModifiedBy.HasValue && Model.ShowLastModifiedBy != false)) { @Html.Raw(" | "); } - @if (Model.CurrentPage.ShowLastModifiedDate != false && Model.CurrentPage.ShowLastModifiedBy != false && Model.CurrentPage.LastModifiedByUser != null) + @if (Model.ShowLastModifiedDate.HasValue && Model.ShowLastModifiedDate != false && Model.ShowLastModifiedBy.HasValue && Model.ShowLastModifiedBy != false && Model.CurrentPage.LastModifiedByUser != null) { @sr["Last Updated"]: @Model.CurrentPage.LastModified.ToString("dd/MM/yyyy") By: @Model.CurrentPage.LastModifiedByUser } - else if (Model.CurrentPage.ShowLastModifiedDate != false) + else if (Model.ShowLastModifiedDate.HasValue && Model.ShowLastModifiedDate != false) { @sr["Updated"]: @Model.CurrentPage.LastModified.ToString("dd/MM/yyyy") } - else if (Model.CurrentPage.ShowLastModifiedBy != false && Model.CurrentPage.LastModifiedByUser != null) + else if (Model.ShowLastModifiedBy.HasValue && Model.ShowLastModifiedBy != false && Model.CurrentPage.LastModifiedByUser != null) { @sr["Updated By"]: @Model.CurrentPage.LastModifiedByUser } diff --git a/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditorialShowHidePartial.cshtml b/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditorialShowHidePartial.cshtml new file mode 100644 index 00000000..b35b4296 --- /dev/null +++ b/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditorialShowHidePartial.cshtml @@ -0,0 +1,84 @@ +@model cloudscribe.SimpleContent.Web.ViewModels.PageEditViewModel +@inject IStringLocalizer sr + +
+

@sr["Show / hide the following information below the main content of the page."]

+
+
+
+
 
+
+ @sr["Use Site Default"] +
+
+ @sr["Show on this Page"] +
+
+ @sr["Hide on this Page"] +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditorialShowHidePartialTemplates.cshtml b/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditorialShowHidePartialTemplates.cshtml new file mode 100644 index 00000000..3bd214f3 --- /dev/null +++ b/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/Views/Page/EditorialShowHidePartialTemplates.cshtml @@ -0,0 +1,84 @@ +@model cloudscribe.SimpleContent.Web.ViewModels.PageEditWithTemplateViewModel +@inject IStringLocalizer sr + +
+

@sr["Show / hide the following information below the main content of the page."]

+
+
+
+
 
+
+ @sr["Use Site Default"] +
+
+ @sr["Show on this Page"] +
+
+ @sr["Hide on this Page"] +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/cloudscribe.SimpleContent.CompiledViews.Bootstrap5.csproj b/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/cloudscribe.SimpleContent.CompiledViews.Bootstrap5.csproj index 12ba8127..ecbcb66d 100644 --- a/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/cloudscribe.SimpleContent.CompiledViews.Bootstrap5.csproj +++ b/src/cloudscribe.SimpleContent.CompiledViews.Bootstrap5/cloudscribe.SimpleContent.CompiledViews.Bootstrap5.csproj @@ -2,7 +2,7 @@ Bootstrap 5 pre-compiled views for cloudscribe.SimpleContent.Web - 8.0.5 + 8.0.6 net8.0 Joe Audette true diff --git a/src/cloudscribe.SimpleContent.Web/Controllers/PageController.cs b/src/cloudscribe.SimpleContent.Web/Controllers/PageController.cs index c67d7b66..148c6aef 100644 --- a/src/cloudscribe.SimpleContent.Web/Controllers/PageController.cs +++ b/src/cloudscribe.SimpleContent.Web/Controllers/PageController.cs @@ -20,6 +20,7 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using System; +using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Threading; @@ -199,6 +200,8 @@ public virtual async Task Index( return NotFound(); } } + + Dictionary showEditorialItems = ShowEditorialItemsResolver(page, viewContext.Project); var model = new PageViewModel(ContentProcessor) { @@ -212,10 +215,10 @@ public virtual async Task Index( HasPublishedVersion = viewContext.HasPublishedVersion, HasDraft = viewContext.HasDraft, ShowingDraft = viewContext.ShowingDraft, - ShowCreatedBy = page.ShowCreatedBy != null ? page.ShowCreatedBy : viewContext.Project.ShowCreatedBy, - ShowCreatedDate = page.ShowCreatedDate != null ? page.ShowCreatedDate : viewContext.Project.ShowCreatedDate, - ShowLastModifiedBy = page.ShowLastModifiedBy != null ? page.ShowLastModifiedBy : viewContext.Project.ShowLastModifiedBy, - ShowLastModifiedDate = page.ShowLastModifiedBy != null ? page.ShowLastModifiedDate : viewContext.Project.ShowLastModifiedDate + ShowCreatedBy = showEditorialItems["ShowCreatedBy"], + ShowCreatedDate = showEditorialItems["ShowCreatedDate"], + ShowLastModifiedBy = showEditorialItems["ShowLastModifiedBy"], + ShowLastModifiedDate = showEditorialItems["ShowLastModifiedDate"] }; if(viewContext.History != null) @@ -250,12 +253,9 @@ public virtual async Task Index( { return View("ChildMenu", model); } - return View(model); } - - [HttpGet] [AllowAnonymous] public virtual async Task NewPage( @@ -406,6 +406,8 @@ protected virtual async Task EditWithTemplate(CancellationToken c return RedirectToRoute(PageRoutes.PageRouteName); } + Dictionary editEditorialItems = EditEditorialItemsResolver(editContext.CurrentPage, editContext.Project); + var model = new PageEditWithTemplateViewModel() { ProjectId = editContext.Project.Id, @@ -431,10 +433,10 @@ protected virtual async Task EditWithTemplate(CancellationToken c DidReplaceDraft = editContext.DidReplaceDraft, DidRestoreDeleted = editContext.DidRestoreDeleted, HasDraft = editContext.CurrentPage.HasDraftVersion(), - ShowCreatedBy = editContext.CurrentPage != null ? editContext.CurrentPage.ShowCreatedBy != null ? (bool)editContext.CurrentPage.ShowCreatedBy : editContext.Project.ShowCreatedBy : editContext.Project.ShowCreatedBy, - ShowCreatedDate = editContext.CurrentPage != null ? editContext.CurrentPage.ShowCreatedDate != null ? (bool)editContext.CurrentPage.ShowCreatedDate : editContext.Project.ShowCreatedDate : editContext.Project.ShowCreatedDate, - ShowLastModifiedBy = editContext.CurrentPage != null ? editContext.CurrentPage.ShowLastModifiedBy != null ? (bool)editContext.CurrentPage.ShowLastModifiedBy : editContext.Project.ShowLastModifiedBy : editContext.Project.ShowLastModifiedBy, - ShowLastModifiedDate = editContext.CurrentPage != null ? editContext.CurrentPage.ShowLastModifiedDate != null ? (bool)editContext.CurrentPage.ShowLastModifiedDate : editContext.Project.ShowLastModifiedDate : editContext.Project.ShowLastModifiedDate + ShowCreatedBy = editEditorialItems["ShowCreatedBy"], + ShowCreatedDate = editEditorialItems["ShowCreatedDate"], + ShowLastModifiedBy = editEditorialItems["ShowLastModifiedBy"], + ShowLastModifiedDate = editEditorialItems["ShowLastModifiedDate"] }; if (editContext.History != null) @@ -545,7 +547,6 @@ public virtual async Task EditWithTemplate(PageEditWithTemplateVi } - [HttpGet] [AllowAnonymous] public virtual async Task Edit( @@ -570,15 +571,17 @@ public virtual async Task Edit( return await EditWithTemplate(cancellationToken, editContext); } + Dictionary editEditorialItems = EditEditorialItemsResolver(editContext.CurrentPage, editContext.Project); + var model = new PageEditViewModel { ProjectId = editContext.Project.Id, DisqusShortname = editContext.Project.DisqusShortName, ProjectDefaultSlug = editContext.Project.DefaultPageSlug, - ShowCreatedBy = editContext.CurrentPage != null ? editContext.CurrentPage.ShowCreatedBy != null ? (bool)editContext.CurrentPage.ShowCreatedBy : editContext.Project.ShowCreatedBy : editContext.Project.ShowCreatedBy, - ShowCreatedDate = editContext.CurrentPage != null ? editContext.CurrentPage.ShowCreatedDate != null ? (bool)editContext.CurrentPage.ShowCreatedDate : editContext.Project.ShowCreatedDate : editContext.Project.ShowCreatedDate, - ShowLastModifiedBy = editContext.CurrentPage != null ? editContext.CurrentPage.ShowLastModifiedBy != null ? (bool)editContext.CurrentPage.ShowLastModifiedBy : editContext.Project.ShowLastModifiedBy : editContext.Project.ShowLastModifiedBy, - ShowLastModifiedDate = editContext.CurrentPage != null ? editContext.CurrentPage.ShowLastModifiedDate != null ? (bool)editContext.CurrentPage.ShowLastModifiedDate : editContext.Project.ShowLastModifiedDate : editContext.Project.ShowLastModifiedDate + ShowCreatedBy = editEditorialItems["ShowCreatedBy"], + ShowCreatedDate = editEditorialItems["ShowCreatedDate"], + ShowLastModifiedBy = editEditorialItems["ShowLastModifiedBy"], + ShowLastModifiedDate = editEditorialItems["ShowLastModifiedDate"] }; var routeVals = new RouteValueDictionary @@ -673,10 +676,6 @@ public virtual async Task Edit( model.HistoryArchiveDate = editContext.History.ArchivedUtc; model.HistoryId = editContext.History.Id; } - model.ShowCreatedBy = editContext.CurrentPage.ShowCreatedBy != null ? (bool)editContext.CurrentPage.ShowCreatedBy : editContext.Project.ShowCreatedBy; - model.ShowCreatedDate = editContext.CurrentPage.ShowCreatedDate != null ? (bool)editContext.CurrentPage.ShowCreatedDate : editContext.Project.ShowCreatedDate; - model.ShowLastModifiedBy = editContext.CurrentPage.ShowLastModifiedBy != null ? (bool)editContext.CurrentPage.ShowLastModifiedBy : editContext.Project.ShowLastModifiedBy; - model.ShowLastModifiedDate = editContext.CurrentPage.ShowLastModifiedDate != null ? (bool)editContext.CurrentPage.ShowLastModifiedDate : editContext.Project.ShowLastModifiedDate; var tzId = await TimeZoneIdResolver.GetUserTimeZoneId(); @@ -701,6 +700,7 @@ public virtual async Task Edit(PageEditViewModel model) { var editContextRequest = new PageEditContextRequest(User, null, model.Id, null); var editContext = await Mediator.Send(editContextRequest); + if (!editContext.IsValidRequest) { Log.LogInformation("redirecting to index because project settings not found"); @@ -1305,7 +1305,6 @@ public virtual async Task History( } - [HttpGet] [Authorize] public virtual async Task CanEdit(CancellationToken cancellationToken) @@ -1322,552 +1321,98 @@ public virtual async Task CanEdit(CancellationToken cancellationT return Ok(canEdit); } + public Dictionary ShowEditorialItemsResolver(IPage page, IProjectSettings viewContextProject) + { + Dictionary showItems = []; + if (page.ShowCreatedBy.HasValue) + { + //page has setting so must have been overidden so use it + showItems.Add("ShowCreatedBy", (bool)page.ShowCreatedBy); + } + else + { + showItems.Add("ShowCreatedBy", viewContextProject.ShowCreatedBy); + } - //[HttpGet] - //[AllowAnonymous] - //public virtual async Task EditWithTemplate( - // CancellationToken cancellationToken, - // string slug, - // Guid? historyId = null - // ) - //{ - // var project = await ProjectService.GetCurrentProjectSettings(); - - // if (project == null) - // { - // Log.LogInformation("redirecting to index because project settings not found"); - // return RedirectToRoute(PageRoutes.PageRouteName); - // } - - // var canEdit = await User.CanEditPages(project.Id, AuthorizationService); - // if (!canEdit) - // { - // Log.LogInformation("redirecting to index because user cannot edit"); - // return RedirectToRoute(PageRoutes.PageRouteName); - // } - - // var page = await PageService.GetPageBySlug(slug, cancellationToken); - // ContentHistory history = null; - // var didReplaceDraft = false; - // var didRestoreDeleted = false; - - // if (historyId.HasValue) - // { - // history = await HistoryQueries.Fetch(project.Id, historyId.Value).ConfigureAwait(false); - // if(history != null) - // { - // if(page == null) // page was deleted, restore it from history - // { - // page = new Page(); - // history.CopyTo(page); - // if(history.IsDraftHx) - // { - // page.PromoteDraftTemporarilyForRender(); - // } - // didRestoreDeleted = true; - // } - // else - // { - // didReplaceDraft = page.HasDraftVersion(); - // var pageCopy = new Page(); - // page.CopyTo(pageCopy); - // if (history.IsDraftHx) - // { - // pageCopy.DraftAuthor = history.DraftAuthor; - // pageCopy.DraftContent = history.DraftContent; - // pageCopy.DraftSerializedModel = history.DraftSerializedModel; - // } - // else - // { - // pageCopy.DraftAuthor = history.Author; - // pageCopy.DraftContent = history.Content; - // pageCopy.DraftSerializedModel = history.SerializedModel; - // } - - // page = pageCopy; - // } - // } - // } - - // if (page == null) - // { - // Log.LogError($"redirecting to index because page was not found for slug {slug}"); - // return RedirectToRoute(PageRoutes.PageRouteName); - // } - // ViewData["Title"] = string.Format(CultureInfo.CurrentUICulture, StringLocalizer["Edit - {0}"], page.Title); - - // var template = await TemplateService.GetTemplate(project.Id, page.TemplateKey); - // if (template == null) - // { - // Log.LogError($"redirecting to index because content template {page.TemplateKey} was not found"); - // return RedirectToRoute(PageRoutes.PageRouteName); - // } - - // var model = new PageEditWithTemplateViewModel() - // { - // ProjectId = project.Id, - // DisqusShortname = project.DisqusShortName, - // Author = page.Author, - // Id = page.Id, - // CorrelationKey = page.CorrelationKey, - // IsPublished = page.IsPublished, - // ShowMenu = page.ShowMenu, - // MetaDescription = page.MetaDescription, - // PageOrder = page.PageOrder, - // ParentId = page.ParentId, - // ParentSlug = page.ParentSlug, - // ShowHeading = page.ShowHeading, - // Slug = page.Slug, - // Title = page.Title, - // MenuFilters = page.MenuFilters, - // ViewRoles = page.ViewRoles, - // ShowComments = page.ShowComments, - // Template = template, - // TemplateModel = TemplateService.DesrializeTemplateModel(page, template), - // ProjectDefaultSlug = project.DefaultPageSlug, - // DidReplaceDraft = didReplaceDraft, - // DidRestoreDeleted = didRestoreDeleted - // }; - - // if(history != null) - // { - // model.HistoryArchiveDate = history.ArchivedUtc; - // model.HistoryId = history.Id; - // } - - // if (page.PubDate.HasValue) - // { - // model.PubDate = TimeZoneHelper.ConvertToLocalTime(page.PubDate.Value, project.TimeZoneId); - // } - - // if (page.DraftPubDate.HasValue) - // { - // model.DraftPubDate = TimeZoneHelper.ConvertToLocalTime(page.DraftPubDate.Value, project.TimeZoneId); - // } - - // if (!string.IsNullOrWhiteSpace(page.DraftAuthor)) - // { - // model.Author = page.DraftAuthor; - // } - - // if (model.TemplateModel == null) - // { - // Log.LogError($"redirecting to index model desrialization failed for page {page.Title}"); - // return RedirectToRoute(PageRoutes.PageRouteName); - // } - - // return View(model); - //} - - //[HttpGet] - //[AllowAnonymous] - //public virtual async Task Edit( - // CancellationToken cancellationToken, - // string slug = "", - // string parentSlug = "", - // string type ="", - // Guid? historyId = null - // ) - //{ - // var project = await ProjectService.GetCurrentProjectSettings(); - - // if (project == null) - // { - // Log.LogInformation("redirecting to index because project settings not found"); - // return RedirectToRoute(PageRoutes.PageRouteName); - // } - - // var canEdit = await User.CanEditPages(project.Id, AuthorizationService); - // if(!canEdit) - // { - // Log.LogInformation("redirecting to index because user cannot edit"); - // return RedirectToRoute(PageRoutes.PageRouteName); - // } - - // if (slug == "none") { slug = string.Empty; } - - // var model = new PageEditViewModel - // { - // ProjectId = project.Id, - // DisqusShortname = project.DisqusShortName, - // ProjectDefaultSlug = project.DefaultPageSlug - // }; - - // IPage page = null; - // if (!string.IsNullOrEmpty(slug)) - // { - // page = await PageService.GetPageBySlug(slug, cancellationToken); - // } - - // var routeVals = new RouteValueDictionary - // { - // { "slug", slug } - // }; - // if (historyId.HasValue) - // { - // routeVals.Add("historyId", historyId.Value); - // } - - // if (page != null && !string.IsNullOrWhiteSpace(page.TemplateKey)) - // { - // return RedirectToRoute(PageRoutes.PageEditWithTemplateRouteName, routeVals); - // } - - // ContentHistory history = null; - // var didReplaceDraft = false; - // var didRestoreDeleted = false; - - // if (historyId.HasValue) - // { - // history = await HistoryQueries.Fetch(project.Id, historyId.Value).ConfigureAwait(false); - // if (history != null) - // { - // if(!string.IsNullOrWhiteSpace(history.TemplateKey)) - // { - // return RedirectToRoute(PageRoutes.PageEditWithTemplateRouteName, routeVals); - // } - - // if (page == null) // page was deleted, restore it from history - // { - // page = new Page(); - // history.CopyTo(page); - // if (history.IsDraftHx) - // { - // page.PromoteDraftTemporarilyForRender(); - // } - // didRestoreDeleted = true; - // } - // else - // { - // didReplaceDraft = page.HasDraftVersion(); - // var pageCopy = new Page(); - // page.CopyTo(pageCopy); - // if (history.IsDraftHx) - // { - // pageCopy.DraftAuthor = history.DraftAuthor; - // pageCopy.DraftContent = history.DraftContent; - // } - // else - // { - // pageCopy.DraftAuthor = history.Author; - // pageCopy.DraftContent = history.Content; - // } - // page = pageCopy; - // } - - // model.HistoryArchiveDate = history.ArchivedUtc; - // model.HistoryId = history.Id; - // model.DidReplaceDraft = didReplaceDraft; - // model.DidRestoreDeleted = didRestoreDeleted; - // } - // } - - // if (page == null) // new page - // { - // ViewData["Title"] = StringLocalizer["New Page"]; - // model.ParentSlug = parentSlug; - // model.PageOrder = await PageService.GetNextChildPageOrder(parentSlug, cancellationToken); - // model.ContentType = project.DefaultContentType; - - // if (EditOptions.AllowMarkdown && !string.IsNullOrWhiteSpace(type) && type == "markdown") - // { - // model.ContentType = "markdown"; - // } - // if (!string.IsNullOrWhiteSpace(type) && type == "html") - // { - // model.ContentType = "html"; - // } - - // var rootList = await PageService.GetRootPages(cancellationToken).ConfigureAwait(false); - // if(rootList.Count == 0) // expected if home page doesn't exist yet - // { - // var rootPagePath = Url.RouteUrl(PageRoutes.PageRouteName); - // if(string.IsNullOrWhiteSpace(slug)) - // { - // slug = project.DefaultPageSlug; - // model.Title = StringLocalizer["Home"]; - // } - - // } - // model.Author = await AuthorNameResolver.GetAuthorName(User); - // model.Slug = slug; - // } - // else // page not null - // { - // // if the page is protected by view roles return 404 if user is not in an allowed role - // if ((!string.IsNullOrEmpty(page.ViewRoles))) - // { - // if (!User.IsInRoles(page.ViewRoles)) - // { - // Log.LogWarning($"page {page.Title} is protected by roles that user is not in so returning 404"); - // return NotFound(); - // } - // } - - // ViewData["Title"] = string.Format(CultureInfo.CurrentUICulture, StringLocalizer["Edit - {0}"], page.Title); - // if(string.IsNullOrWhiteSpace(page.DraftContent)) - // { - // model.Author = page.Author; - // model.Content = page.Content; - // } - // else - // { - // model.Author = page.DraftAuthor; - // model.Content = page.DraftContent; - // } - - // model.Id = page.Id; - // model.CorrelationKey = page.CorrelationKey; - // model.IsPublished = page.IsPublished; - // model.ShowMenu = page.ShowMenu; - // model.MenuOnly = page.MenuOnly; - // model.MetaDescription = page.MetaDescription; - // model.PageOrder = page.PageOrder; - // model.ParentId = page.ParentId; - // model.ParentSlug = page.ParentSlug; - // model.ShowHeading = page.ShowHeading; - // model.Slug = page.Slug; - // model.ExternalUrl = page.ExternalUrl; - // model.Title = page.Title; - // model.MenuFilters = page.MenuFilters; - // model.ViewRoles = page.ViewRoles; - // model.ShowComments = page.ShowComments; - // model.DisableEditor = page.DisableEditor; - // model.ContentType = page.ContentType; - // if (page.PubDate.HasValue) - // { - // model.PubDate = TimeZoneHelper.ConvertToLocalTime(page.PubDate.Value, project.TimeZoneId); - // } - - // if (page.DraftPubDate.HasValue) - // { - // model.DraftPubDate = TimeZoneHelper.ConvertToLocalTime(page.DraftPubDate.Value, project.TimeZoneId); - // } - // } - - // return View(model); - //} - - //[HttpGet] - //[AllowAnonymous] - //public virtual async Task Index( - // CancellationToken cancellationToken, - // string slug = "", - // bool showDraft = false, - // Guid? historyId = null - // ) - //{ - // var project = await ProjectService.GetCurrentProjectSettings(); - - // if (project == null) - // { - // Log.LogError("project settings not found returning 404"); - // return NotFound(); - // } - - // var canEdit = await User.CanEditPages(project.Id, AuthorizationService); - - // if (string.IsNullOrEmpty(slug) || slug == "none") { slug = project.DefaultPageSlug; } - - // IPage page = await PageService.GetPageBySlug(slug, cancellationToken); - - // await AutoPublishDraftPage.PublishIfNeeded(page); - - // ContentHistory history = null; - // var pageWasDeleted = false; - // var showingDraft = false; - // var hasDraft = false; - // var hasPublishedVersion = false; - // if (page != null) - // { - // hasDraft = page.HasDraftVersion(); - // hasPublishedVersion = page.HasPublishedVersion(); - // } - - // if (canEdit && historyId.HasValue) - // { - // history = await HistoryQueries.Fetch(project.Id, historyId.Value); - // if (history != null) - // { - // if (page == null) //page must have been deleted, restore from hx - // { - // page = new Page(); - // history.CopyTo(page); - // if (history.IsDraftHx) - // { - // page.PromoteDraftTemporarilyForRender(); - // } - // pageWasDeleted = true; - // } - // else - // { - // var pageCopy = new Page(); - // page.CopyTo(pageCopy); - // if (history.IsDraftHx) - // { - // pageCopy.Content = history.DraftContent; - // pageCopy.Author = history.DraftAuthor; - // } - // else - // { - // pageCopy.Content = history.Content; - // pageCopy.Author = history.Author; - // } - - // page = pageCopy; - // } - // } - // } - // else if (canEdit && page != null && (showDraft || !page.HasPublishedVersion())) - // { - // var pageCopy = new Page(); - // page.CopyTo(pageCopy); - // pageCopy.PromoteDraftTemporarilyForRender(); - // page = pageCopy; - // showingDraft = true; - - // } - // else if (page == null) - // { - // var rootList = await PageService.GetRootPages(cancellationToken).ConfigureAwait(false); - // if (canEdit && rootList.Count == 0) - // { - // page = new Page - // { - // ProjectId = project.Id - // }; - // if (HttpContext.Request.Path == "/") - // { - // ViewData["Title"] = StringLocalizer["Home"]; - // page.Title = "No pages found, please click the plus icon to create the home page"; - // } - // else - // { - // ViewData["Title"] = StringLocalizer["No Pages Found"]; - // page.Title = "No pages found, please click the plus icon to create the first page"; - - // } - // } - // else - // { - // if (rootList.Count > 0) - // { - // if (slug == project.DefaultPageSlug) - // { - // // slug was empty and no matching page found for default slug - // // but since there exist root level pages we should - // // show an index menu. - // // esp useful if not using pages as the default route - // // /p or /docs - // ViewData["Title"] = StringLocalizer["Content Index"]; - // var emptyModel = new PageViewModel(ContentProcessor) - // { - // ProjectSettings = project, - // CanEdit = canEdit, - // CommentsAreOpen = false, - // TimeZoneHelper = TimeZoneHelper, - // TimeZoneId = project.TimeZoneId, - // PageTreePath = Url.Action("Tree"), - // NewItemPath = Url.RouteUrl(PageRoutes.NewPageRouteName, new { slug = "" }), - // EditPath = Url.RouteUrl(PageRoutes.PageEditRouteName, new { slug }) - // }; - - // return View("IndexMenu", emptyModel); - // } - - // return NotFound(); - // } - // else - // { - // Response.StatusCode = 404; - // return View("NoPages", 404); - // } - // } - // } - // // page is not null at this point - - // if ((!string.IsNullOrEmpty(page.ViewRoles))) - // { - // if (!User.IsInRoles(page.ViewRoles)) - // { - // Log.LogWarning($"page {page.Title} is protected by roles that user is not in so returning 404"); - // return NotFound(); - // } - // } - - // if (!string.IsNullOrEmpty(page.ExternalUrl)) - // { - // if (canEdit) - // { - // Log.LogWarning($"page {page.Title} has override url {page.ExternalUrl}, redirecting to edit since user can edit"); - // return RedirectToRoute(PageRoutes.PageEditRouteName, new { slug = page.Slug }); - // } - // else - // { - // Log.LogWarning($"page {page.Title} has override url {page.ExternalUrl}, not intended to be viewed so returning 404"); - // return NotFound(); - // } - // } - - // if (!canEdit) - // { - // if (!page.HasPublishedVersion()) - // { - // Log.LogWarning($"page {page.Title} is unpublished and user is not editor so returning 404"); - // return NotFound(); - // } - // } - - // var model = new PageViewModel(ContentProcessor) - // { - // CurrentPage = page, - // ProjectSettings = project, - // CanEdit = canEdit, - // CommentsAreOpen = false, - // TimeZoneHelper = TimeZoneHelper, - // TimeZoneId = project.TimeZoneId, - // PageTreePath = Url.Action("Tree"), - // HasPublishedVersion = hasPublishedVersion, - // HasDraft = hasDraft, - // ShowingDraft = showingDraft - // }; - - // if (history != null) - // { - // model.HistoryId = history.Id; - // model.HistoryArchiveDate = history.ArchivedUtc; - // model.ShowingDeleted = pageWasDeleted; - // } - - // model.EditPath = Url.RouteUrl(PageRoutes.PageEditRouteName, new { slug = model.CurrentPage.Slug }); - - // if (model.CurrentPage.Slug == project.DefaultPageSlug) - // { - // // not setting the parent slug if the current page is home page - // // otherwise it would be awkward to create more root level pages - // model.NewItemPath = Url.RouteUrl(PageRoutes.NewPageRouteName, new { slug = "" }); - // } - // else - // { - // // for non home pages if the user clicks the new link - // // make it use the current page slug as the parent slug for the new item - // model.NewItemPath = Url.RouteUrl(PageRoutes.NewPageRouteName, new { slug = "", parentSlug = model.CurrentPage.Slug }); - // } - // if (!string.IsNullOrWhiteSpace(page.TemplateKey)) - // { - // model.Template = await TemplateService.GetTemplate(project.Id, page.TemplateKey); - // } - - // ViewData["Title"] = page.Title; - - // if (page.MenuOnly) - // { - // return View("ChildMenu", model); - // } - - // return View(model); - //} + if (page.ShowCreatedDate.HasValue) + { + //page has setting so must have been overidden so use it + showItems.Add("ShowCreatedDate", (bool)page.ShowCreatedDate); + } + else + { + showItems.Add("ShowCreatedDate", viewContextProject.ShowCreatedDate); + } + if (page.ShowLastModifiedBy.HasValue) + { + //page has setting so must have been overidden so use it + showItems.Add("ShowLastModifiedBy", (bool)page.ShowLastModifiedBy); + } + else + { + showItems.Add("ShowLastModifiedBy", viewContextProject.ShowLastModifiedBy); + } + + if (page.ShowLastModifiedDate.HasValue) + { + //page has setting so must have been overidden so use it + showItems.Add("ShowLastModifiedDate", (bool)page.ShowLastModifiedDate); + } + else + { + showItems.Add("ShowLastModifiedDate", viewContextProject.ShowLastModifiedDate); + } + + return showItems; + } + + public Dictionary EditEditorialItemsResolver(IPage page, IProjectSettings viewContextProject) + { + Dictionary showItems = []; + + if (page.ShowCreatedBy.HasValue) + { + //page has setting so must have been overidden so use it + showItems.Add("ShowCreatedBy", (bool)page.ShowCreatedBy); + } + else + { + showItems.Add("ShowCreatedBy", null); + } + + if (page.ShowCreatedDate.HasValue) + { + //page has setting so must have been overidden so use it + showItems.Add("ShowCreatedDate", (bool)page.ShowCreatedDate); + } + else + { + showItems.Add("ShowCreatedDate", null); + } + + if (page.ShowLastModifiedBy.HasValue) + { + //page has setting so must have been overidden so use it + showItems.Add("ShowLastModifiedBy", (bool)page.ShowLastModifiedBy); + } + else + { + showItems.Add("ShowLastModifiedBy", null); + } + + if (page.ShowLastModifiedDate.HasValue) + { + //page has setting so must have been overidden so use it + showItems.Add("ShowLastModifiedDate", (bool)page.ShowLastModifiedDate); + } + else + { + showItems.Add("ShowLastModifiedDate", null); + } + + return showItems; + } } } diff --git a/src/cloudscribe.SimpleContent.Web/Services/Page/UpdateTemplatedPageHandler.cs b/src/cloudscribe.SimpleContent.Web/Services/Page/UpdateTemplatedPageHandler.cs index 34878e21..4ec94a18 100644 --- a/src/cloudscribe.SimpleContent.Web/Services/Page/UpdateTemplatedPageHandler.cs +++ b/src/cloudscribe.SimpleContent.Web/Services/Page/UpdateTemplatedPageHandler.cs @@ -190,10 +190,10 @@ private IValidateTemplateModel GetValidator(string name) page.ShowComments = request.ViewModel.ShowComments; page.MenuFilters = request.ViewModel.MenuFilters; page.ViewRoles = request.ViewModel.ViewRoles; - page.ShowCreatedBy = request.ViewModel.ShowCreatedBy == projectSettings.ShowCreatedBy ? null : request.ViewModel.ShowCreatedBy; - page.ShowCreatedDate = request.ViewModel.ShowCreatedDate == projectSettings.ShowCreatedDate ? null : request.ViewModel.ShowCreatedDate; - page.ShowLastModifiedBy = request.ViewModel.ShowLastModifiedBy == projectSettings.ShowLastModifiedBy ? null : request.ViewModel.ShowLastModifiedBy; - page.ShowLastModifiedDate = request.ViewModel.ShowLastModifiedDate == projectSettings.ShowLastModifiedDate ? null : request.ViewModel.ShowLastModifiedDate; + page.ShowCreatedBy = request.ViewModel.ShowCreatedBy; + page.ShowCreatedDate = request.ViewModel.ShowCreatedDate; + page.ShowLastModifiedBy = request.ViewModel.ShowLastModifiedBy; + page.ShowLastModifiedDate = request.ViewModel.ShowLastModifiedDate; if (!string.IsNullOrEmpty(request.ViewModel.ParentSlug)) { diff --git a/src/cloudscribe.SimpleContent.Web/ViewModels/PageEditViewModel.cs b/src/cloudscribe.SimpleContent.Web/ViewModels/PageEditViewModel.cs index 0d929e68..d957a06e 100644 --- a/src/cloudscribe.SimpleContent.Web/ViewModels/PageEditViewModel.cs +++ b/src/cloudscribe.SimpleContent.Web/ViewModels/PageEditViewModel.cs @@ -76,9 +76,9 @@ public PageEditViewModel() public bool DidRestoreDeleted { get; set; } public bool HasDraft { get; set; } - public bool ShowCreatedBy { get; set; } - public bool ShowCreatedDate { get; set; } - public bool ShowLastModifiedBy { get; set; } - public bool ShowLastModifiedDate { get; set; } + public bool? ShowCreatedBy { get; set; } + public bool? ShowCreatedDate { get; set; } + public bool? ShowLastModifiedBy { get; set; } + public bool? ShowLastModifiedDate { get; set; } } } diff --git a/src/cloudscribe.SimpleContent.Web/ViewModels/PageEditWithTemplateViewModel.cs b/src/cloudscribe.SimpleContent.Web/ViewModels/PageEditWithTemplateViewModel.cs index 0179ec71..ef6a6d02 100644 --- a/src/cloudscribe.SimpleContent.Web/ViewModels/PageEditWithTemplateViewModel.cs +++ b/src/cloudscribe.SimpleContent.Web/ViewModels/PageEditWithTemplateViewModel.cs @@ -62,9 +62,9 @@ public class PageEditWithTemplateViewModel public bool DidReplaceDraft { get; set; } public bool DidRestoreDeleted { get; set; } public bool HasDraft { get; set; } - public bool ShowCreatedBy { get; set; } - public bool ShowCreatedDate { get; set; } - public bool ShowLastModifiedBy { get; set; } - public bool ShowLastModifiedDate { get; set; } + public bool? ShowCreatedBy { get; set; } + public bool? ShowCreatedDate { get; set; } + public bool? ShowLastModifiedBy { get; set; } + public bool? ShowLastModifiedDate { get; set; } } } diff --git a/src/cloudscribe.SimpleContent.Web/cloudscribe.SimpleContent.Web.csproj b/src/cloudscribe.SimpleContent.Web/cloudscribe.SimpleContent.Web.csproj index 9bc448f5..d619b015 100644 --- a/src/cloudscribe.SimpleContent.Web/cloudscribe.SimpleContent.Web.csproj +++ b/src/cloudscribe.SimpleContent.Web/cloudscribe.SimpleContent.Web.csproj @@ -2,7 +2,7 @@ A simple, yet flexible content and blog engine for ASP.NET Core that can work with or without a database - 8.0.3 + 8.0.4 net8.0 Joe Audette cloudscribe;blog,content diff --git a/src/sourceDev.WebApp/GlobalResources/CloudscribeCore.en-US.resx b/src/sourceDev.WebApp/GlobalResources/CloudscribeCore.en-US.resx index 3b3ee74b..ab4880a2 100644 --- a/src/sourceDev.WebApp/GlobalResources/CloudscribeCore.en-US.resx +++ b/src/sourceDev.WebApp/GlobalResources/CloudscribeCore.en-US.resx @@ -1273,19 +1273,22 @@ Updated - + Show Created By - + Show Created Date - + Show Last Modified By - + Show Last Modified Date - - Show / Hide the following information on CMS pages below the main content of the page. + + Show / hide the following information below the main content of the page. + + + Show / hide the following information below the main content of pages (site default). \ No newline at end of file diff --git a/src/sourceDev.WebApp/GlobalResources/CloudscribeCore.fr-FR.resx b/src/sourceDev.WebApp/GlobalResources/CloudscribeCore.fr-FR.resx index 1d07fe62..e1efa181 100644 --- a/src/sourceDev.WebApp/GlobalResources/CloudscribeCore.fr-FR.resx +++ b/src/sourceDev.WebApp/GlobalResources/CloudscribeCore.fr-FR.resx @@ -189,19 +189,22 @@ Mis à jour par - + Afficher créé par - + Afficher la date de création - + Afficher Dernière modification par - + Afficher la date de la dernière modification - - Afficher/Masquer les informations suivantes sur les pages CMS sous le contenu principal de la page. + + Afficher/masquer les informations suivantes sous le contenu principal de la page. + + + Afficher/masquer les informations suivantes sous le contenu principal des pages (par défaut du site). \ No newline at end of file diff --git a/src/sourceDev.WebApp/GlobalResources/CloudscribeCore.it-IT.resx b/src/sourceDev.WebApp/GlobalResources/CloudscribeCore.it-IT.resx index 1ac670ca..69a4471a 100644 --- a/src/sourceDev.WebApp/GlobalResources/CloudscribeCore.it-IT.resx +++ b/src/sourceDev.WebApp/GlobalResources/CloudscribeCore.it-IT.resx @@ -1299,19 +1299,22 @@ Aggiornato da - + Mostra Creato da - + Mostra data di creazione - + Mostra ultima modifica di - + Mostra data ultima modifica - - Mostra/Nascondi le seguenti informazioni sulle pagine CMS sotto il contenuto principale della pagina. + + Mostra/nascondi le seguenti informazioni sotto il contenuto principale della pagina. + + + Mostra/nascondi le seguenti informazioni sotto il contenuto principale delle pagine (impostazione predefinita del sito). \ No newline at end of file diff --git a/src/sourceDev.WebApp/GlobalResources/SimpleContent.cy.resx b/src/sourceDev.WebApp/GlobalResources/SimpleContent.cy.resx index 8d5a996a..95bb9bcd 100644 --- a/src/sourceDev.WebApp/GlobalResources/SimpleContent.cy.resx +++ b/src/sourceDev.WebApp/GlobalResources/SimpleContent.cy.resx @@ -159,19 +159,22 @@ Diweddarwyd Gan - + Dangos Crëwyd Gan - + Dangos Dyddiad Creu - + Dangos Addaswyd Diwethaf Gan - + Dangos Dyddiad Addaswyd Diwethaf - - Dangos / Cuddio'r wybodaeth ganlynol ar dudalennau CMS o dan brif gynnwys y dudalen. + + Dangos / cuddio'r wybodaeth ganlynol o dan brif gynnwys y dudalen. + + + Dangos / cuddio'r wybodaeth ganlynol o dan brif gynnwys tudalennau (rhagosodiad y safle). \ No newline at end of file diff --git a/src/sourceDev.WebApp/GlobalResources/SimpleContent.en-US.resx b/src/sourceDev.WebApp/GlobalResources/SimpleContent.en-US.resx index 40c4a8b1..ecdf16b1 100644 --- a/src/sourceDev.WebApp/GlobalResources/SimpleContent.en-US.resx +++ b/src/sourceDev.WebApp/GlobalResources/SimpleContent.en-US.resx @@ -567,19 +567,22 @@ Updated By - + Show Created By - + Show Created Date - + Show Last Modified By - + Show Last Modified Date - - Show / Hide the following information on CMS pages below the main content of the page. + + Show / hide the following information below the main content of the page. + + + Show / hide the following information below the main content of pages (site default). \ No newline at end of file diff --git a/src/sourceDev.WebApp/GlobalResources/SimpleContent.it-IT.resx b/src/sourceDev.WebApp/GlobalResources/SimpleContent.it-IT.resx index 8a1e3351..254c191c 100644 --- a/src/sourceDev.WebApp/GlobalResources/SimpleContent.it-IT.resx +++ b/src/sourceDev.WebApp/GlobalResources/SimpleContent.it-IT.resx @@ -600,19 +600,22 @@ Aggiornato da - + Mostra Creato da - + Mostra data di creazione - + Mostra ultima modifica di - + Mostra data ultima modifica - - Mostra/Nascondi le seguenti informazioni sulle pagine CMS sotto il contenuto principale della pagina. + + Mostra/nascondi le seguenti informazioni sotto il contenuto principale della pagina. + + + Mostra/nascondi le seguenti informazioni sotto il contenuto principale delle pagine (impostazione predefinita del sito). \ No newline at end of file diff --git a/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/2c945759-1c3b-43ac-bf4b-241082ee6166.json b/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/2c945759-1c3b-43ac-bf4b-241082ee6166.json index 3a344ebb..c76ed8ca 100644 --- a/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/2c945759-1c3b-43ac-bf4b-241082ee6166.json +++ b/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/2c945759-1c3b-43ac-bf4b-241082ee6166.json @@ -1 +1 @@ -{"Id":"2c945759-1c3b-43ac-bf4b-241082ee6166","ProjectId":"f83067b4-919d-4910-acd1-4b3b1c210ecf","ParentId":"0","ParentSlug":"","PageOrder":3,"Title":"About","Author":"","Slug":"about","ExternalUrl":null,"CorrelationKey":null,"MetaDescription":"meta meta meta","MetaJson":null,"MetaHtml":null,"Content":"

This could be an about page couldn't it so be true

\r\n\r\n

\"snow

\r\n\r\n

can we edit here then can we go to the beach or something

\r\n\r\n

what about pix and stuff

\r\n","PubDate":"2016-02-24T18:00:00Z","LastModified":"2018-02-05T21:36:50.1081798Z","IsPublished":true,"MenuOnly":false,"ShowMenu":false,"ViewRoles":null,"Categories":[],"Comments":[],"ShowHeading":true,"ShowPubDate":false,"ShowLastModified":false,"ShowCategories":false,"ShowComments":false,"MenuFilters":null,"DisableEditor":false,"Resources":[],"ContentType":"html"} \ No newline at end of file +{"Id":"2c945759-1c3b-43ac-bf4b-241082ee6166","ProjectId":"f83067b4-919d-4910-acd1-4b3b1c210ecf","ParentId":"0","ParentSlug":"","PageOrder":3,"Title":"About","Author":"","Slug":"about","ExternalUrl":null,"CorrelationKey":null,"MetaDescription":"meta meta meta","MetaJson":null,"MetaHtml":null,"Content":"

This could be an about page couldn't it so be true

\r\n\r\n

\"snow

\r\n\r\n

can we edit here then can we go to the beach or something

\r\n\r\n

what about pix and stuff

\r\n","PubDate":"2016-02-24T18:00:00Z","LastModified":"2018-02-05T21:36:50.1081798Z","IsPublished":true,"MenuOnly":false,"ShowMenu":false,"ViewRoles":null,"Categories":[],"Comments":[],"ShowHeading":true,"ShowPubDate":false,"ShowCategories":false,"ShowComments":false,"MenuFilters":null,"DisableEditor":false,"Resources":[],"ContentType":"html"} \ No newline at end of file diff --git a/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/65f4f88c-e9ea-4351-954a-f828b3f8229b.json b/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/65f4f88c-e9ea-4351-954a-f828b3f8229b.json index 97f80c62..91e4bff8 100644 --- a/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/65f4f88c-e9ea-4351-954a-f828b3f8229b.json +++ b/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/65f4f88c-e9ea-4351-954a-f828b3f8229b.json @@ -1 +1 @@ -{"Id":"65f4f88c-e9ea-4351-954a-f828b3f8229b","ProjectId":"f83067b4-919d-4910-acd1-4b3b1c210ecf","ParentId":"2c945759-1c3b-43ac-bf4b-241082ee6166","ParentSlug":"about","PageOrder":3,"Title":"Child Page","Author":"Admin","Slug":"child-page","ExternalUrl":null,"CorrelationKey":null,"MetaDescription":null,"MetaJson":null,"MetaHtml":null,"Content":"

this is content isn't it? yes yes yes it is

\r\n\r\n

so cool! draft

\r\n","PubDate":"2018-11-14T13:58:19.1919Z","LastModified":"2018-12-16T15:57:32.6883459Z","IsPublished":true,"MenuOnly":false,"ShowMenu":false,"ViewRoles":null,"Categories":[],"Comments":[],"ShowHeading":true,"ShowPubDate":false,"ShowLastModified":false,"ShowCategories":false,"ShowComments":false,"MenuFilters":null,"DisableEditor":false,"Resources":[],"ContentType":"html","CreatedUtc":"2018-11-13T13:58:25.4011049Z","CreatedByUser":null,"LastModifiedByUser":"admin","DraftContent":null,"DraftAuthor":null,"DraftPubDate":null,"TemplateKey":null,"SerializedModel":null,"DraftSerializedModel":null,"Serializer":null} \ No newline at end of file +{"Id":"65f4f88c-e9ea-4351-954a-f828b3f8229b","ProjectId":"f83067b4-919d-4910-acd1-4b3b1c210ecf","ParentId":"2c945759-1c3b-43ac-bf4b-241082ee6166","ParentSlug":"about","PageOrder":3,"Title":"Child Page","Author":"Admin","Slug":"child-page","ExternalUrl":null,"CorrelationKey":null,"MetaDescription":null,"MetaJson":null,"MetaHtml":null,"Content":"

this is content isn't it? yes yes yes it is

\r\n\r\n

so cool! draft

\r\n","PubDate":"2018-11-14T13:58:19.1919Z","LastModified":"2018-12-16T15:57:32.6883459Z","IsPublished":true,"MenuOnly":false,"ShowMenu":false,"ViewRoles":null,"Categories":[],"Comments":[],"ShowHeading":true,"ShowPubDate":false,"ShowCategories":false,"ShowComments":false,"MenuFilters":null,"DisableEditor":false,"Resources":[],"ContentType":"html","CreatedUtc":"2018-11-13T13:58:25.4011049Z","CreatedByUser":null,"LastModifiedByUser":"admin","DraftContent":null,"DraftAuthor":null,"DraftPubDate":null,"TemplateKey":null,"SerializedModel":null,"DraftSerializedModel":null,"Serializer":null} \ No newline at end of file diff --git a/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/869cf304-6409-4b4d-880a-a6aa00c37075.json b/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/869cf304-6409-4b4d-880a-a6aa00c37075.json index 16296156..c244210d 100644 --- a/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/869cf304-6409-4b4d-880a-a6aa00c37075.json +++ b/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/869cf304-6409-4b4d-880a-a6aa00c37075.json @@ -1 +1 @@ -{"Id":"869cf304-6409-4b4d-880a-a6aa00c37075","ProjectId":"f83067b4-919d-4910-acd1-4b3b1c210ecf","ParentId":"0","ParentSlug":"","PageOrder":3,"Title":"Home","Author":"Admin","Slug":"home","ExternalUrl":null,"CorrelationKey":null,"MetaDescription":null,"MetaJson":null,"MetaHtml":null,"Content":"

Welcome Home!

\r\n\r\n

This is the home page!

\r\n","PubDate":"2017-03-10T18:40:00Z","LastModified":"2022-01-25T13:46:15.9353087Z","IsPublished":true,"MenuOnly":false,"ShowMenu":false,"ViewRoles":null,"Categories":[],"Comments":[],"ShowHeading":true,"ShowPubDate":false,"ShowLastModified":false,"ShowCategories":false,"ShowComments":false,"MenuFilters":null,"DisableEditor":false,"Resources":[],"ContentType":"html","CreatedUtc":"2022-01-25T13:46:15.8644194Z","CreatedByUser":null,"LastModifiedByUser":"admin","DraftContent":"

Welcome Home!

\r\n\r\n

This is the home page!

\r\n","DraftAuthor":"Admin","DraftPubDate":null,"TemplateKey":null,"SerializedModel":null,"DraftSerializedModel":null,"Serializer":null} \ No newline at end of file +{"Id":"869cf304-6409-4b4d-880a-a6aa00c37075","ProjectId":"f83067b4-919d-4910-acd1-4b3b1c210ecf","ParentId":"0","ParentSlug":"","PageOrder":3,"Title":"Home","Author":"Admin","Slug":"home","ExternalUrl":null,"CorrelationKey":null,"MetaDescription":null,"MetaJson":null,"MetaHtml":null,"Content":"

Welcome Home!

\r\n\r\n

This is the home page!

\r\n","PubDate":"2017-03-10T18:40:00Z","LastModified":"2024-12-06T10:52:44.2801681Z","IsPublished":true,"MenuOnly":false,"ShowMenu":false,"ViewRoles":null,"Categories":[],"Comments":[],"ShowHeading":true,"ShowPubDate":false,"ShowLastModified":false,"ShowCategories":false,"ShowComments":false,"MenuFilters":null,"DisableEditor":false,"Resources":[],"ContentType":"html","CreatedUtc":"2022-01-25T13:46:15.8644194Z","CreatedByUser":null,"LastModifiedByUser":"admin","DraftContent":null,"DraftAuthor":null,"DraftPubDate":null,"TemplateKey":null,"SerializedModel":null,"DraftSerializedModel":null,"Serializer":null,"ShowCreatedBy":null,"ShowCreatedDate":null,"ShowLastModifiedBy":null,"ShowLastModifiedDate":null} \ No newline at end of file diff --git a/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/template-page.json b/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/template-page.json index eedb652b..92d9ee95 100644 --- a/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/template-page.json +++ b/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/page/template-page.json @@ -1 +1 @@ -{"Id":"template-page","ProjectId":"f83067b4-919d-4910-acd1-4b3b1c210ecf","ParentId":"2c945759-1c3b-43ac-bf4b-241082ee6166","ParentSlug":"about","PageOrder":8,"Title":"Template page","Author":"","Slug":"template-page","ExternalUrl":"","CorrelationKey":"","MetaDescription":"","MetaJson":null,"MetaHtml":null,"Content":"
\r\n
\r\n\r\n\r\n","PubDate":null,"LastModified":"2019-08-14T13:01:12.8226731Z","IsPublished":false,"MenuOnly":false,"ShowMenu":false,"ViewRoles":"","Categories":[],"Comments":[],"ShowHeading":true,"ShowPubDate":false,"ShowLastModified":false,"ShowCategories":false,"ShowComments":false,"MenuFilters":null,"DisableEditor":false,"Resources":[],"ContentType":"html","CreatedUtc":"2019-08-14T13:01:12.810239Z","CreatedByUser":"admin","LastModifiedByUser":"admin","DraftContent":null,"DraftAuthor":"Admin","DraftPubDate":null,"TemplateKey":"sct-ColumnsWithImages","SerializedModel":null,"DraftSerializedModel":"{\"Layout\":\"SectionsWithImageRenderColumnsPartial\",\"SectionOneHeading\":null,\"SectionOneContent\":null,\"SectionOneResizedUrl\":null,\"SectionOneFullSizeUrl\":null,\"SectionOneAltText\":null,\"SectionTwoHeading\":null,\"SectionTwoContent\":null,\"SectionTwoResizedUrl\":null,\"SectionTwoFullSizeUrl\":null,\"SectionTwoAltText\":null,\"SectionThreeHeading\":null,\"SectionThreeContent\":null,\"SectionThreeResizedUrl\":null,\"SectionThreeFullSizeUrl\":null,\"SectionThreeAltText\":null,\"SectionFourHeading\":null,\"SectionFourContent\":null,\"SectionFourResizedUrl\":null,\"SectionFourFullSizeUrl\":null,\"SectionFourAltText\":null}","Serializer":"Json"} \ No newline at end of file +{"Id":"template-page","ProjectId":"f83067b4-919d-4910-acd1-4b3b1c210ecf","ParentId":"2c945759-1c3b-43ac-bf4b-241082ee6166","ParentSlug":"about","PageOrder":8,"Title":"Template page","Author":"Admin","Slug":"template-page","ExternalUrl":"","CorrelationKey":null,"MetaDescription":null,"MetaJson":null,"MetaHtml":null,"Content":"
\r\n
\r\n

this is a template page, groovy huh?

\r\n\r\n
\r\n
\r\n\r\n\r\n","PubDate":"2024-12-06T11:22:46.4584015Z","LastModified":"2024-12-06T12:32:17.0341262Z","IsPublished":true,"MenuOnly":false,"ShowMenu":false,"ViewRoles":null,"Categories":[],"Comments":[],"ShowHeading":true,"ShowPubDate":false,"ShowLastModified":false,"ShowCategories":false,"ShowComments":false,"MenuFilters":null,"DisableEditor":false,"Resources":[],"ContentType":"html","CreatedUtc":"2019-08-14T13:01:12.810239Z","CreatedByUser":"admin","LastModifiedByUser":"admin","DraftContent":null,"DraftAuthor":null,"DraftPubDate":null,"TemplateKey":"sct-ColumnsWithImages","SerializedModel":"{\"Layout\":\"SectionsWithImageRenderColumnsPartial\",\"SectionOneHeading\":null,\"SectionOneContent\":\"

this is a template page, groovy huh?

\\r\\n\",\"SectionOneResizedUrl\":null,\"SectionOneFullSizeUrl\":null,\"SectionOneAltText\":null,\"SectionTwoHeading\":null,\"SectionTwoContent\":null,\"SectionTwoResizedUrl\":null,\"SectionTwoFullSizeUrl\":null,\"SectionTwoAltText\":null,\"SectionThreeHeading\":null,\"SectionThreeContent\":null,\"SectionThreeResizedUrl\":null,\"SectionThreeFullSizeUrl\":null,\"SectionThreeAltText\":null,\"SectionFourHeading\":null,\"SectionFourContent\":null,\"SectionFourResizedUrl\":null,\"SectionFourFullSizeUrl\":null,\"SectionFourAltText\":null}","DraftSerializedModel":null,"Serializer":"Json","ShowCreatedBy":null,"ShowCreatedDate":null,"ShowLastModifiedBy":null,"ShowLastModifiedDate":null} \ No newline at end of file diff --git a/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/projectsettings/f83067b4-919d-4910-acd1-4b3b1c210ecf.json b/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/projectsettings/f83067b4-919d-4910-acd1-4b3b1c210ecf.json index 7a078f89..f14b0c6e 100644 --- a/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/projectsettings/f83067b4-919d-4910-acd1-4b3b1c210ecf.json +++ b/src/sourceDev.WebApp/nodb_storage/projects/f83067b4-919d-4910-acd1-4b3b1c210ecf/projectsettings/f83067b4-919d-4910-acd1-4b3b1c210ecf.json @@ -1 +1 @@ -{"Id":"f83067b4-919d-4910-acd1-4b3b1c210ecf","Title":"Blog","Description":null,"CopyrightNotice":"","Publisher":"cloudscribe","PublisherLogoUrl":"http://www.vectortemplates.com/raster/batman-logo-big.gif","PublisherLogoWidth":"500px","PublisherLogoHeight":"500px","PublisherEntityType":"Organization","DisqusShortName":null,"PostsPerPage":5,"DaysToComment":0,"ModerateComments":true,"CommentNotificationEmail":null,"BlogMenuLinksToNewestPost":false,"LocalMediaVirtualPath":"/s1/media/images/","CdnUrl":null,"PubDateFormat":"MMMM d. yyyy","IncludePubDateInPostUrls":true,"TimeZoneId":"America/New_York","RecaptchaPublicKey":"6LedcNUSAAAAAHnKfOI2U48m7pMU2Zi3lsLwVSlO","RecaptchaPrivateKey":"6LedcNUSAAAAACf4VQ5sVkxsX4pn9wdLFW9Liiub","DefaultPageSlug":"home","UseDefaultPageAsRootNode":true,"ShowTitle":false,"AddBlogToPagesTree":true,"BlogPagePosition":2,"BlogPageText":"Blog","BlogPageNavComponentVisibility":null,"Image":"","ChannelTimeToLive":60,"LanguageCode":"en-US","ChannelCategoriesCsv":null,"ManagingEditorEmail":"webby@web.com","ChannelRating":"","WebmasterEmail":"webby@web.com","RemoteFeedUrl":null,"RemoteFeedProcessorUseAgentFragment":"","ShowRecentPostsOnDefaultPage":false,"ShowFeaturedPostsOnDefaultPage":true,"FacebookAppId":"1070660436373766","SiteName":"cloudscribe.com","TwitterPublisher":"@cloudscribeWeb","TwitterCreator":"@joeaudette","DefaultContentType":"html","TeaserMode":0,"TeaserTruncationMode":0,"TeaserTruncationLength":20,"DefaultFeedItems":20,"MaxFeedItems":1000,"ShowRelatedPosts":true,"ShowBlogCategories":true,"ShowArchivedPosts":true,"ShowAboutBox":true,"AboutHeading":"About","AboutContent":"

About me!

\r\n","ShowCreatedBy":true,"ShowCreatedDate":true,"ShowLastModifiedBy":true,"ShowLastModifiedDate":true} \ No newline at end of file +{"Id":"f83067b4-919d-4910-acd1-4b3b1c210ecf","Title":"Blog","Description":null,"CopyrightNotice":"","Publisher":"cloudscribe","PublisherLogoUrl":"http://www.vectortemplates.com/raster/batman-logo-big.gif","PublisherLogoWidth":"500px","PublisherLogoHeight":"500px","PublisherEntityType":"Organization","DisqusShortName":null,"PostsPerPage":5,"DaysToComment":0,"ModerateComments":true,"CommentNotificationEmail":null,"BlogMenuLinksToNewestPost":false,"LocalMediaVirtualPath":"/s1/media/images/","CdnUrl":null,"PubDateFormat":"MMMM d. yyyy","IncludePubDateInPostUrls":true,"TimeZoneId":"America/New_York","RecaptchaPublicKey":"6LedcNUSAAAAAHnKfOI2U48m7pMU2Zi3lsLwVSlO","RecaptchaPrivateKey":"6LedcNUSAAAAACf4VQ5sVkxsX4pn9wdLFW9Liiub","DefaultPageSlug":"home","UseDefaultPageAsRootNode":true,"ShowTitle":false,"AddBlogToPagesTree":true,"BlogPagePosition":2,"BlogPageText":"Blog","BlogPageNavComponentVisibility":null,"Image":"","ChannelTimeToLive":60,"LanguageCode":"en-US","ChannelCategoriesCsv":null,"ManagingEditorEmail":"webby@web.com","ChannelRating":"","WebmasterEmail":"webby@web.com","RemoteFeedUrl":null,"RemoteFeedProcessorUseAgentFragment":"","ShowRecentPostsOnDefaultPage":false,"ShowFeaturedPostsOnDefaultPage":true,"FacebookAppId":"1070660436373766","SiteName":"cloudscribe.com","TwitterPublisher":"@cloudscribeWeb","TwitterCreator":"@joeaudette","DefaultContentType":"html","TeaserMode":0,"TeaserTruncationMode":0,"TeaserTruncationLength":20,"DefaultFeedItems":20,"MaxFeedItems":1000,"ShowRelatedPosts":true,"ShowBlogCategories":true,"ShowArchivedPosts":true,"ShowAboutBox":true,"AboutHeading":"About","AboutContent":"

About me!

\r\n","ShowCreatedBy":false,"ShowCreatedDate":false,"ShowLastModifiedBy":false,"ShowLastModifiedDate":false} \ No newline at end of file