From fc9fbe52dc3a7019b2b46ae933806f5ec0852125 Mon Sep 17 00:00:00 2001 From: Maria Date: Wed, 23 Oct 2024 11:37:16 +0100 Subject: [PATCH 1/9] WIP: credit block --- .../Views/Shared/_CreditBlock.cshtml | 7 ++ .../0012-credits-block-component.cjs | 103 ++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml create mode 100644 Contentful-Schema/migrations/0012-credits-block-component.cjs diff --git a/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml b/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml new file mode 100644 index 00000000..dfdc9e3b --- /dev/null +++ b/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml @@ -0,0 +1,7 @@ +@using Childrens_Social_Care_CPD.Contentful.Models; + +@{ + var contextModel = (ContextModel)ViewData["ContextModel"]; + // CHANGE THIS + var breadcrumbs = contextModel.BreadcrumbTrail; +} \ No newline at end of file diff --git a/Contentful-Schema/migrations/0012-credits-block-component.cjs b/Contentful-Schema/migrations/0012-credits-block-component.cjs new file mode 100644 index 00000000..a56c9379 --- /dev/null +++ b/Contentful-Schema/migrations/0012-credits-block-component.cjs @@ -0,0 +1,103 @@ +module.exports = async function (migration, { makeRequest }) { + const creditsBlock = migration + .createContentType("creditsBlock") + .name("Credits Block") + .description( + "Shows who developed a resource, the date it was published and the date it was last updated." + ); + + creditsBlock + .createField("developerOfResource") + .name("Developer of resource") + .type("RichText") + .localized(false) + .required(true) + .validations([ + { + enabledMarks: [], + message: "Marks are not allowed", + }, + { + enabledNodeTypes: ["hyperlink"], + message: "Only link to Url nodes are allowed", + }, + { + nodes: {}, + }, + ]) + .disabled(false) + .omitted(false); + + creditsBlock + .createField("secondaryDevelopersOfResource") + .name("Secondary developer(s) of resource") + .type("RichText") + .localized(false) + .required(false) + .validations([ + { + enabledMarks: [], + message: "Marks are not allowed", + }, + { + enabledNodeTypes: ["hyperlink"], + message: "Only link to Url nodes are allowed", + }, + { + nodes: {}, + }, + ]) + .disabled(false) + .omitted(false); + + creditsBlock + .createField("datePublished") + .name("Date published") + .type("Date") + .localized(false) + .required(true) + .validations([]) + .disabled(false) + .omitted(false); + creditsBlock + .createField("dateLastUpdated") + .name("Date last updated") + .type("Date") + .localized(false) + .required(false) + .validations([]) + .disabled(false) + .omitted(false); + + creditsBlock.changeFieldControl( + "developerOfResource", + "builtin", + "richTextEditor", + { + helpText: + "Who created this resource? You can make their name a hyperlink to their website if appropriate.", + } + ); + + creditsBlock.changeFieldControl( + "secondaryDevelopersOfResource", + "builtin", + "richTextEditor", + { + helpText: + "Optional: Include anyone that this resource was created in collaboration with. E.g. 'DfE'.", + } + ); + + creditsBlock.changeFieldControl("datePublished", "builtin", "datePicker", { + ampm: "24", + format: "dateonly", + helpText: "What date was this resource first published on?", + }); + + creditsBlock.changeFieldControl("dateLastUpdated", "builtin", "datePicker", { + ampm: "24", + format: "dateonly", + helpText: "When was this resource last updated?", + }); +}; From 65a9922e45542ec8ecf643f4ffe6b4f10d5ced2d Mon Sep 17 00:00:00 2001 From: Matt Barton Date: Wed, 23 Oct 2024 11:39:17 +0100 Subject: [PATCH 2/9] WIP: attempt to put page publish dates in context model --- .../Controllers/ContentController.cs | 6 +++++- Childrens-Social-Care-CPD/Models/ContextModel.cs | 8 +++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Childrens-Social-Care-CPD/Controllers/ContentController.cs b/Childrens-Social-Care-CPD/Controllers/ContentController.cs index c9b1e4f0..11bd1b3d 100644 --- a/Childrens-Social-Care-CPD/Controllers/ContentController.cs +++ b/Childrens-Social-Care-CPD/Controllers/ContentController.cs @@ -116,7 +116,11 @@ public async Task Index(string pageName = "home", bool preference PreferenceSet: preferenceSet, BackLink: content.BackLink, FeedbackSubmitted: fs, - BreadcrumbTrail: await BuildBreadcrumbTrail(new List>(), content, pagesVisited, cancellationToken)); + BreadcrumbTrail: await BuildBreadcrumbTrail(new List>(), content, pagesVisited, cancellationToken), + PublishDates: new PublishDates( + FirstPublishedAt: content.Sys.CreatedAt, + LastPublishedAt: content.Sys.UpdatedAt + )); ViewData["ContextModel"] = contextModel; ViewData["StateModel"] = new StateModel(); diff --git a/Childrens-Social-Care-CPD/Models/ContextModel.cs b/Childrens-Social-Care-CPD/Models/ContextModel.cs index efe45782..4ed26982 100644 --- a/Childrens-Social-Care-CPD/Models/ContextModel.cs +++ b/Childrens-Social-Care-CPD/Models/ContextModel.cs @@ -2,6 +2,11 @@ namespace Childrens_Social_Care_CPD.Models; +public record PublishDates ( + DateTime ?FirstPublishedAt, + DateTime ?LastPublishedAt +); + public record ContextModel( string Id, string Title, @@ -12,7 +17,8 @@ public record ContextModel( bool HideConsent = false, ContentLink BackLink = null, bool FeedbackSubmitted = false, - List> BreadcrumbTrail = null) + List> BreadcrumbTrail = null, + PublishDates PublishDates = null) { public Stack ContentStack { get; } = new Stack(); } From a20b449e4b3bc125b92c735ae3d613e45ff1cdee Mon Sep 17 00:00:00 2001 From: Matt Barton Date: Wed, 23 Oct 2024 11:45:14 +0100 Subject: [PATCH 3/9] Harden creation of PublishDates object --- Childrens-Social-Care-CPD/Controllers/ContentController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Childrens-Social-Care-CPD/Controllers/ContentController.cs b/Childrens-Social-Care-CPD/Controllers/ContentController.cs index 11bd1b3d..8698449e 100644 --- a/Childrens-Social-Care-CPD/Controllers/ContentController.cs +++ b/Childrens-Social-Care-CPD/Controllers/ContentController.cs @@ -118,8 +118,8 @@ public async Task Index(string pageName = "home", bool preference FeedbackSubmitted: fs, BreadcrumbTrail: await BuildBreadcrumbTrail(new List>(), content, pagesVisited, cancellationToken), PublishDates: new PublishDates( - FirstPublishedAt: content.Sys.CreatedAt, - LastPublishedAt: content.Sys.UpdatedAt + FirstPublishedAt: content.Sys?.CreatedAt, + LastPublishedAt: content.Sys?.UpdatedAt )); ViewData["ContextModel"] = contextModel; From a6ec99dcbb7f122e5eef64dc01ade8e949d6be34 Mon Sep 17 00:00:00 2001 From: Maria Date: Wed, 23 Oct 2024 12:06:16 +0100 Subject: [PATCH 4/9] WIP: Credit block --- .../Contentful/EntityResolver.cs | 1 + .../Contentful/Models/CreditBlock.cs | 10 +++++++++ .../Contentful/PartialsFactory.cs | 1 + .../Views/Shared/_CreditBlock.cshtml | 9 ++++++-- ...nt.cjs => 0012-credit-block-component.cjs} | 22 +++++++++---------- 5 files changed, 30 insertions(+), 13 deletions(-) create mode 100644 Childrens-Social-Care-CPD/Contentful/Models/CreditBlock.cs rename Contentful-Schema/migrations/{0012-credits-block-component.cjs => 0012-credit-block-component.cjs} (84%) diff --git a/Childrens-Social-Care-CPD/Contentful/EntityResolver.cs b/Childrens-Social-Care-CPD/Contentful/EntityResolver.cs index 9261daec..4b7fc89d 100644 --- a/Childrens-Social-Care-CPD/Contentful/EntityResolver.cs +++ b/Childrens-Social-Care-CPD/Contentful/EntityResolver.cs @@ -27,6 +27,7 @@ public Type Resolve(string contentTypeId) "contentLink" => typeof(ContentLink), "contentsAnchor" => typeof(ContentsAnchor), "contentSeparator" => typeof(ContentSeparator), + "creditBlock" => typeof(CreditBlock), "detailedPathway" => typeof(DetailedPathway), "detailedRole" => typeof(DetailedRole), "details" => typeof(Details), diff --git a/Childrens-Social-Care-CPD/Contentful/Models/CreditBlock.cs b/Childrens-Social-Care-CPD/Contentful/Models/CreditBlock.cs new file mode 100644 index 00000000..0064cde0 --- /dev/null +++ b/Childrens-Social-Care-CPD/Contentful/Models/CreditBlock.cs @@ -0,0 +1,10 @@ +using Contentful.Core.Models; + +namespace Childrens_Social_Care_CPD.Contentful.Models; + +public class CreditBlock : IContent +{ + public Document DeveloperOfResource { get; set; } + public Document SecondaryDevelopersOfResource { get; set; } + +} diff --git a/Childrens-Social-Care-CPD/Contentful/PartialsFactory.cs b/Childrens-Social-Care-CPD/Contentful/PartialsFactory.cs index 49f45916..9c5631b1 100644 --- a/Childrens-Social-Care-CPD/Contentful/PartialsFactory.cs +++ b/Childrens-Social-Care-CPD/Contentful/PartialsFactory.cs @@ -26,6 +26,7 @@ public static string GetPartialFor(IContent item) ContentLink => "_ContentLink", ContentSeparator => "_ContentSeparator", ContentsAnchor => "_ContentsAnchor", + CreditBlock => "_CreditBlock", DetailedRole => "_DetailedRole", DetailedPathway => "_DetailedPathway", Details => "_Details", diff --git a/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml b/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml index dfdc9e3b..b69c332c 100644 --- a/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml +++ b/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml @@ -3,5 +3,10 @@ @{ var contextModel = (ContextModel)ViewData["ContextModel"]; // CHANGE THIS - var breadcrumbs = contextModel.BreadcrumbTrail; -} \ No newline at end of file + // var breadcrumbs = contextModel.BreadcrumbTrail; +} + +
+ @contextModel.PublishDates.FirstPublishedAt + @contextModel.PublishDates.LastPublishedAt +
\ No newline at end of file diff --git a/Contentful-Schema/migrations/0012-credits-block-component.cjs b/Contentful-Schema/migrations/0012-credit-block-component.cjs similarity index 84% rename from Contentful-Schema/migrations/0012-credits-block-component.cjs rename to Contentful-Schema/migrations/0012-credit-block-component.cjs index a56c9379..1d8b921b 100644 --- a/Contentful-Schema/migrations/0012-credits-block-component.cjs +++ b/Contentful-Schema/migrations/0012-credit-block-component.cjs @@ -1,12 +1,12 @@ module.exports = async function (migration, { makeRequest }) { - const creditsBlock = migration - .createContentType("creditsBlock") - .name("Credits Block") + const creditBlock = migration + .createContentType("creditBlock") + .name("Credit Block") .description( "Shows who developed a resource, the date it was published and the date it was last updated." ); - creditsBlock + creditBlock .createField("developerOfResource") .name("Developer of resource") .type("RichText") @@ -28,7 +28,7 @@ module.exports = async function (migration, { makeRequest }) { .disabled(false) .omitted(false); - creditsBlock + creditBlock .createField("secondaryDevelopersOfResource") .name("Secondary developer(s) of resource") .type("RichText") @@ -50,7 +50,7 @@ module.exports = async function (migration, { makeRequest }) { .disabled(false) .omitted(false); - creditsBlock + creditBlock .createField("datePublished") .name("Date published") .type("Date") @@ -59,7 +59,7 @@ module.exports = async function (migration, { makeRequest }) { .validations([]) .disabled(false) .omitted(false); - creditsBlock + creditBlock .createField("dateLastUpdated") .name("Date last updated") .type("Date") @@ -69,7 +69,7 @@ module.exports = async function (migration, { makeRequest }) { .disabled(false) .omitted(false); - creditsBlock.changeFieldControl( + creditBlock.changeFieldControl( "developerOfResource", "builtin", "richTextEditor", @@ -79,7 +79,7 @@ module.exports = async function (migration, { makeRequest }) { } ); - creditsBlock.changeFieldControl( + creditBlock.changeFieldControl( "secondaryDevelopersOfResource", "builtin", "richTextEditor", @@ -89,13 +89,13 @@ module.exports = async function (migration, { makeRequest }) { } ); - creditsBlock.changeFieldControl("datePublished", "builtin", "datePicker", { + creditBlock.changeFieldControl("datePublished", "builtin", "datePicker", { ampm: "24", format: "dateonly", helpText: "What date was this resource first published on?", }); - creditsBlock.changeFieldControl("dateLastUpdated", "builtin", "datePicker", { + creditBlock.changeFieldControl("dateLastUpdated", "builtin", "datePicker", { ampm: "24", format: "dateonly", helpText: "When was this resource last updated?", From 0f7ee068b9d7b2cb515845d603388c943bad0542 Mon Sep 17 00:00:00 2001 From: Matt Barton Date: Wed, 23 Oct 2024 23:28:50 +0100 Subject: [PATCH 5/9] feat: implement credit block component --- .../Contentful/EntityResolverTests.cs | 1 + .../Contentful/PartialsFactoryTests.cs | 1 + .../Contentful/Renderers/IRenderer.cs | 3 +- .../Contentful/Renderers/ParagraphRenderer.cs | 20 +++++-- .../Views/Shared/_CreditBlock.cshtml | 26 +++++++-- .../Views/Shared/_RichText.cshtml | 4 +- .../0012-credit-block-component.cjs | 55 +++++++++---------- 7 files changed, 68 insertions(+), 42 deletions(-) diff --git a/Childrens-Social-Care-CPD-Tests/Contentful/EntityResolverTests.cs b/Childrens-Social-Care-CPD-Tests/Contentful/EntityResolverTests.cs index 9a46502a..97e24c8e 100644 --- a/Childrens-Social-Care-CPD-Tests/Contentful/EntityResolverTests.cs +++ b/Childrens-Social-Care-CPD-Tests/Contentful/EntityResolverTests.cs @@ -24,6 +24,7 @@ public class EntityResolverTests [TestCase("contentLink", typeof(ContentLink))] [TestCase("contentsAnchor", typeof(ContentsAnchor))] [TestCase("contentSeparator", typeof(ContentSeparator))] + [TestCase("creditBlock", typeof(CreditBlock))] [TestCase("detailedPathway", typeof(DetailedPathway))] [TestCase("detailedRole", typeof(DetailedRole))] [TestCase("details", typeof(Details))] diff --git a/Childrens-Social-Care-CPD-Tests/Contentful/PartialsFactoryTests.cs b/Childrens-Social-Care-CPD-Tests/Contentful/PartialsFactoryTests.cs index dbf46327..b04dd707 100644 --- a/Childrens-Social-Care-CPD-Tests/Contentful/PartialsFactoryTests.cs +++ b/Childrens-Social-Care-CPD-Tests/Contentful/PartialsFactoryTests.cs @@ -23,6 +23,7 @@ public partial class PartialsFactoryTests new object[] { new ContentLink(), "_ContentLink" }, new object[] { new ContentSeparator(), "_ContentSeparator" }, new object[] { new ContentsAnchor(), "_ContentsAnchor" }, + new object[] { new CreditBlock(), "_CreditBlock" }, new object[] { new DetailedPathway(), "_DetailedPathway" }, new object[] { new DetailedRole(), "_DetailedRole" }, new object[] { new Details(), "_Details" }, diff --git a/Childrens-Social-Care-CPD/Contentful/Renderers/IRenderer.cs b/Childrens-Social-Care-CPD/Contentful/Renderers/IRenderer.cs index 8e51e95b..2920cb0e 100644 --- a/Childrens-Social-Care-CPD/Contentful/Renderers/IRenderer.cs +++ b/Childrens-Social-Care-CPD/Contentful/Renderers/IRenderer.cs @@ -2,9 +2,10 @@ namespace Childrens_Social_Care_CPD.Contentful.Renderers; -public record RendererOptions(string Css = default) +public record RendererOptions(string Css = default, string RenderStyle = null) { public bool HasCss => Css != default; + public bool RenderInline => RenderStyle == "inline"; } public interface IRenderer diff --git a/Childrens-Social-Care-CPD/Contentful/Renderers/ParagraphRenderer.cs b/Childrens-Social-Care-CPD/Contentful/Renderers/ParagraphRenderer.cs index b7f33508..e85e38bf 100644 --- a/Childrens-Social-Care-CPD/Contentful/Renderers/ParagraphRenderer.cs +++ b/Childrens-Social-Care-CPD/Contentful/Renderers/ParagraphRenderer.cs @@ -5,12 +5,19 @@ namespace Childrens_Social_Care_CPD.Contentful.Renderers; -internal class ParagraphRenderer(IRenderer textRenderer, IRenderer roleListRenderer, IRenderer hyperlinkRenderer, IRenderer contentLinkRenderer, IRenderer areaOfPracticeListRenderer) : IRenderer +internal class ParagraphRenderer(IRenderer textRenderer, IRenderer roleListRenderer, IRenderer hyperlinkRenderer, IRenderer contentLinkRenderer, IRenderer areaOfPracticeListRenderer) : IRendererWithOptions { - public IHtmlContent Render(Paragraph item) + public IHtmlContent Render(Paragraph item, RendererOptions options = null) { - var p = new TagBuilder("p"); - p.AddCssClass("govuk-body-m"); + TagBuilder p; + if (options?.RenderInline ?? false) { + p = new TagBuilder("span"); + } + else + { + p = new TagBuilder("p"); + p.AddCssClass("govuk-body-m"); + } foreach (var content in item.Content) { @@ -33,4 +40,9 @@ public IHtmlContent Render(Paragraph item) return p; } + + public IHtmlContent Render(Paragraph item) + { + return Render(item, null); + } } diff --git a/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml b/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml index b69c332c..691a23e4 100644 --- a/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml +++ b/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml @@ -1,12 +1,28 @@ @using Childrens_Social_Care_CPD.Contentful.Models; +@model CreditBlock + @{ var contextModel = (ContextModel)ViewData["ContextModel"]; - // CHANGE THIS - // var breadcrumbs = contextModel.BreadcrumbTrail; + var dateFormat = "dd MMMM yyyy"; + ViewData["RenderStyle"] = "inline"; } -
- @contextModel.PublishDates.FirstPublishedAt - @contextModel.PublishDates.LastPublishedAt +
+
+ The resources have been developed by + @if (@Model.SecondaryDevelopersOfResource == null) { + @:. + } + else + { + @:in collaboration with + + } +
+ Published: @contextModel.PublishDates.FirstPublishedAt.Value.ToString(dateFormat) +
+ Last updated: @contextModel.PublishDates.LastPublishedAt.Value.ToString(dateFormat) +
+
\ No newline at end of file diff --git a/Childrens-Social-Care-CPD/Views/Shared/_RichText.cshtml b/Childrens-Social-Care-CPD/Views/Shared/_RichText.cshtml index c1a6816b..13c81b02 100644 --- a/Childrens-Social-Care-CPD/Views/Shared/_RichText.cshtml +++ b/Childrens-Social-Care-CPD/Views/Shared/_RichText.cshtml @@ -12,7 +12,7 @@ @inject IRenderer _heading4Renderer @inject IRenderer _heading5Renderer @inject IRenderer _heading6Renderer -@inject IRenderer _paragraphRenderer +@inject IRendererWithOptions _paragraphRenderer @inject IRenderer _quoteRenderer @inject IRenderer _horizontalRulerRenderer @inject IRenderer _tableRenderer @@ -28,7 +28,7 @@ switch (node) { case HorizontalRuler hr: @_horizontalRulerRenderer.Render(hr) break; - case Paragraph paragraph: @_paragraphRenderer.Render(paragraph) break; + case Paragraph paragraph: @_paragraphRenderer.Render(paragraph, new RendererOptions("", (string)ViewData["RenderStyle"] ?? null)) break; case List list: @_listRenderer.Render(list) break; case Heading1 heading1: @_heading1Renderer.Render(heading1) break; case Heading2 heading2: @_heading2Renderer.Render(heading2) break; diff --git a/Contentful-Schema/migrations/0012-credit-block-component.cjs b/Contentful-Schema/migrations/0012-credit-block-component.cjs index 1d8b921b..4ad55285 100644 --- a/Contentful-Schema/migrations/0012-credit-block-component.cjs +++ b/Contentful-Schema/migrations/0012-credit-block-component.cjs @@ -4,7 +4,22 @@ module.exports = async function (migration, { makeRequest }) { .name("Credit Block") .description( "Shows who developed a resource, the date it was published and the date it was last updated." - ); + ) + .displayField("name"); + + creditBlock + .createField("name") + .name("Name") + .type("Symbol") + .localized(false) + .required(true) + .validations([ + { + unique: true, + }, + ]) + .disabled(false) + .omitted(false); creditBlock .createField("developerOfResource") @@ -50,24 +65,15 @@ module.exports = async function (migration, { makeRequest }) { .disabled(false) .omitted(false); - creditBlock - .createField("datePublished") - .name("Date published") - .type("Date") - .localized(false) - .required(true) - .validations([]) - .disabled(false) - .omitted(false); - creditBlock - .createField("dateLastUpdated") - .name("Date last updated") - .type("Date") - .localized(false) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); + creditBlock.changeFieldControl( + "name", + "builtin", + "singleLine", + { + helpText: + "Name is only for internal reference, and will not display on website", + } + ); creditBlock.changeFieldControl( "developerOfResource", @@ -89,15 +95,4 @@ module.exports = async function (migration, { makeRequest }) { } ); - creditBlock.changeFieldControl("datePublished", "builtin", "datePicker", { - ampm: "24", - format: "dateonly", - helpText: "What date was this resource first published on?", - }); - - creditBlock.changeFieldControl("dateLastUpdated", "builtin", "datePicker", { - ampm: "24", - format: "dateonly", - helpText: "When was this resource last updated?", - }); }; From f748d117a9b98234f114a8672f6491f61a6abe48 Mon Sep 17 00:00:00 2001 From: Matt Barton Date: Thu, 24 Oct 2024 10:23:44 +0100 Subject: [PATCH 6/9] Added test for new behaviour of paragraph renderer --- .../Renderers/ParagraphRendererTests.cs | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Childrens-Social-Care-CPD-Tests/Contentful/Renderers/ParagraphRendererTests.cs b/Childrens-Social-Care-CPD-Tests/Contentful/Renderers/ParagraphRendererTests.cs index 6bbbadf0..f6cd7918 100644 --- a/Childrens-Social-Care-CPD-Tests/Contentful/Renderers/ParagraphRendererTests.cs +++ b/Childrens-Social-Care-CPD-Tests/Contentful/Renderers/ParagraphRendererTests.cs @@ -189,4 +189,34 @@ public void Paragraph_Renders_With_AreaOfPracticeList() // assert actual.Should().Be($"

EEE

"); } + + [Test] + public void Paragraph_Renders_Inline_If_Options_Set() + { + // arrange + var stringWriter = new StringWriter(); + var paragraph = new Paragraph() + { + Content = new List + { + new Hyperlink() + } + }; + + _textRenderer.Render(Arg.Any()).Returns(new HtmlString("AAA")); + _roleListRenderer.Render(Arg.Any()).Returns(new HtmlString("BBB")); + _hyperlinkRenderer.Render(Arg.Any()).Returns(new HtmlString("CCC")); + _contentLinkRenderer.Render(Arg.Any()).Returns(new HtmlString("DDD")); + _areaOfPracticeListRenderer.Render(Arg.Any()).Returns(new HtmlString("EEE")); + + var rendererOptions = new RendererOptions("", "inline"); + + // act + var htmlContent = _sut.Render(paragraph, rendererOptions); + htmlContent.WriteTo(stringWriter, new HtmlTestEncoder()); + var actual = stringWriter.ToString(); + + // assert + actual.Should().Be($"CCC"); + } } From 46a455ee3fa6f45f40bfc309ee8b4958b87b21f8 Mon Sep 17 00:00:00 2001 From: Matt Barton Date: Thu, 24 Oct 2024 10:36:17 +0100 Subject: [PATCH 7/9] Added credit block component script to manifest and archive --- Contentful-Schema/migrations/manifest.txt | 3 ++- .../migrations/migrations.tar.gz | Bin 5357 -> 5801 bytes 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Contentful-Schema/migrations/manifest.txt b/Contentful-Schema/migrations/manifest.txt index 279c875f..8ff06a7a 100644 --- a/Contentful-Schema/migrations/manifest.txt +++ b/Contentful-Schema/migrations/manifest.txt @@ -8,4 +8,5 @@ 0008-details-component.cjs 0009-asset-download-component.cjs 0010-breadcrumbs.cjs -0011-create-agency-standards-page-category.cjs \ No newline at end of file +0011-create-agency-standards-page-category.cjs +0012-credit-block-component.cjs \ No newline at end of file diff --git a/Contentful-Schema/migrations/migrations.tar.gz b/Contentful-Schema/migrations/migrations.tar.gz index 843908a38b9d781ebfb7b56c67ba62979f70bc4b..f8ffb4cd5d5ebeaa6fbd1e91122a4fc3ec6d01c9 100644 GIT binary patch literal 5801 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 literal 5357 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 Date: Thu, 24 Oct 2024 10:47:42 +0100 Subject: [PATCH 8/9] Update component script, and rebuild archive --- .../0012-credit-block-component.cjs | 29 ++++++++++++++++++ .../migrations/migrations.tar.gz | Bin 5801 -> 5833 bytes 2 files changed, 29 insertions(+) diff --git a/Contentful-Schema/migrations/0012-credit-block-component.cjs b/Contentful-Schema/migrations/0012-credit-block-component.cjs index 4ad55285..4cbe2c35 100644 --- a/Contentful-Schema/migrations/0012-credit-block-component.cjs +++ b/Contentful-Schema/migrations/0012-credit-block-component.cjs @@ -95,4 +95,33 @@ module.exports = async function (migration, { makeRequest }) { } ); + /* + * Add creditBlock to list of content types allowed in content pages + */ + const contentTypeId = "content", + linkingFieldId = "items", + creditBlockTypeId = "creditBlock"; + + const response = await makeRequest({ + method: "GET", + url: `/content_types?sys.id[in]=${contentTypeId}`, + }); + + const validations = response.items[0].fields + .filter((field) => field.id == linkingFieldId)[0] + .items.validations.map((rule) => { + if ( + rule.linkContentType && + !rule.linkContentType.includes(creditBlockTypeId) + ) { + rule.linkContentType.push(creditBlockTypeId); + } + return rule; + }); + + migration.editContentType(contentTypeId).editField(linkingFieldId).items({ + type: "Link", + linkType: "Entry", + validations: validations, + }); }; diff --git a/Contentful-Schema/migrations/migrations.tar.gz b/Contentful-Schema/migrations/migrations.tar.gz index f8ffb4cd5d5ebeaa6fbd1e91122a4fc3ec6d01c9..09c76c2d7a622fde36255f8093586ca2254a6856 100644 GIT binary patch literal 5833 zcmV;)7B=Z0iwFRn7aC^(1MNNAlH0g)yLn1Y@{mtJRH>txElC!2ol7~VW^8A7Dz?|_ z@$SZPxz3?PXvCNzwIt>7tZQEKCHaW_R$lUy$8-ZA36LN~UB{j!syr5P?* zLAOuZ#?a{ZzagKt)`Nnu2tw0`uFT9Z9GQOTx%zyNZ89mShl4`m|G$#ZZIfAO&*)=g z*crBm$KAHkIvx&Aj=TMS|DZo4&o3{|UqAWb@|S0=PkL zMiKoF2kmZ({`;Md@eOJ3pf8#52dDp;XDxs#>8H8phXHv^CJT2Q+MY`eXZE#k;?E=U z`G7zedu|XCoGcgKC&(ISV5t~dW1pHKed4(xb;CEeb9z`4`D;f>F4vqv!X+e-REkA| zv2V|@(!)3wL+zY|^ixP+mXaGgoD!2b_VpAZoCPJp6t*ynjLh+eYu{VA7BSgBQn%}@ z!~TqQl-OhZK0f1mhh%w0=CWt*= zIHphLHXT#qO<1>DwYak~Fm^C^%-eslsbd}1LOXP5?da@)We`|NV@}PR#@L&5bjUD# zbvqk*jvViJW7DyJr`F-bbOI`+`1H4h?L$K7FXZ@-kl$iB3J%{XnE$MNVOY5KZwq=# zu!@F~dY62@R}o>398GV$nGFbz;!B}MAT@&uj-jVKmE>UR!t)$zx?4n*0w$f93n%== zgeiHbqOC^V=FeBPQ^FcauynU0EU^jnoPMNE&MYFCM2?|LpxkTfuZW>^!YZ@Lc2CJW zqd__i(tTfUI+eh4XZJX^yzycNtAl11YEn3QU)$s98(1**h+kl~5aJi6{~-WOXVMwk zVEwRa4Skv<lr^R9I}O@7ONQ%P{t=+_YdZr#@ft^RtX{GrZ46&1evq*Ys3h*^jPs zOAyuu;ZQY5-2Vo_o;HZorv}?b;vSG0;*gj=C8pzeH#Cj1yGFUOcnJ;R=9oVoQ;^AQ z_qu81p(V=DS(c%@EJJTuhW@e)gS-r$54fdP)3Jlx@m;uOa!viblo626hu;=nm^;bn zY(yBhjhfQ_r`52d2?o z2Z0d7Kt|kt1J<&I?S!_AKLel}9Al(n^7*bzH40~});1D+Z$lc0DRt(^il}rC44`F? zfyoKT&6I+eQr1l2-YR^#MMKu(Y;ZPjJx*Ehl84$l`9tyi6TewQE zV#YAlC&BwYv+U6GqhY-}yI1-Dm8}2mG)>E5+8_|Ko1xbf%VX0H=`3h^Zd1&I)f7c5 z>wi1__OR0b?j`8;zr%LFcibCR`rij1c1QI}8%6YQ^xK0J{dbLSztaEiBV_cyW^n6{ zCFL({Qy}+#ps(p~3ko~p-4S{G&#YmTLAn9J97g2{=44!xG_pJ%S7$ofA1Q-D7AF^mf9s2<- zlE;rzXgPx7NjX-btm$dZ%=saTM|=QeuFakhmeNXb(&SHnBLApMXxZ-AS%468sNntR zNW-aX%g-0VG*wn*nw2k~h6~?iHJwR%If2)BuC*wzM)Ki-G8__%jrq71E`>pkwUkmY zWHLn^Wr@1V+GA-hanzroD3eN-kbf$FG!z)_&c5Q^OX2^z%{d5C(Q+Ta4`6@Y4OV_0 zR_FgZop#0l?Iq;!e@3S_>~t#r@4<)NQN7Ye;rV~Jou+?C?pFNYK0*%vr?CRiFoK`6 zOki;Cj;EfVu@2B#2B<~Ek(f9_6Bz@dCTi>hYUg;O|IrTY5o(`!^Pzc7!l}s)^nE&^ zK7|FxBBNVkl2NnC$C+xZcG)Q)m=&ntanUW?;uP`}^+{{rJQ&uY`J`aS1PaJv8IlvW2=q#TWZ}?G z?|A5z&F*sbvA)RY;X{yA%|GSpSW%?|7va@fNAv(}g*Uy7e z>d_*_sLB&%%8PiGRfa0bD9556wWJO;qdi?+Z_4Jtiu%&kHKnC=q#Ni)bpxQNNb^;r z+M=91Htkh*tV{MuQ&8$rN=M5^a0Sh5X`QT28=I?#Ez-a;-RphJ&tH2`^uN6(TF~PW zVCc=arw3YH|7-O7!%F|VkC3PTJvlLsjY|Lf;KS~yUTLF<{<|>e()T|HMyJyM?jvld z|AlS%(IfJN$x*S9Anx!n_ltAujrYczm(m@?xm5}50-{mmmlCqtHg=2=+x|kT=Qy!O zfb|38#mz6h!c7r}nG_Ru=pKaU`_LB@!HbvYQi??>W|si6J3_UW9$^iFWCwD$caw;x zX<&<$3cT=oN`x3cTM$Ky>#_x?I;&P8Vgu=!mPK58!)OnR;S5KUdNgVkQ9)$njyjZx zM3E$dauVt?+T0t1|4;~VHLAz!!Y%@+|A`LEyP>wS~X=8ktu{U&fd zu4VdGAZ!F6@!IomcW(d9&i^ayREMzo=Bpxz~5;>yDcNNXOtI)@TUdZ`OB$0St-YZ}E(e%k;ZlT2cm|tEy z+d8+I!dJp>mS!|G;fmonun z!X-8|jW|WHlzy|$-&G8x!v77L=6LM+AY{7R)B`T%|JuW}{=a9mEBv|;|GFpb z?n%Y|J^Zjcs#n{{r+)*eKBNEd^(y`UUc%=5A0dyviy48RIU9gV_RATw_5*%FGT#e5 za^v|Q$PIOz$YAe0ntiO6?;df6k^7p%IdCucf%Z!l|Js*6iiOgoDTVe-lgY=%?L@c}A)I(N)5CH17Oda4;& z0bfT~b5SkzwAZP+(ukbQH1lm`oq?Ca0z1Y`hGe~r%i@W)G-2=$VFzRG#n zkP4J=48}VUr`<^dhO;|0R3>3McQRUpp-`Xuo|7J*A&(t(nd!C@&X+Y=mt9`eqhYKIzjFsF#0lAo13ZNq$ra^GKqafpl@gvJYv+U?wGdd+P+Y-FA%W-`M{3+~i@Y#z8F(fvMd+S`Idg0f zaTlID5(+CxszEw zMaU1?tUJQm`p$q#LLDq-Gn3hvYNkdO@++R5r1Nh8excvNwMTx{(H9F)85}&xX3ZLE z-_zhH@!3o2su6dLARcmzxiO@--K<%r%5q6X6LMA(b}?!5qinmVz*aYsxSsjSql<)Q#R>5XZl7DhR<9Tw^q{;`4u;t zV-BBfycF+IlIK{R*(g{CSs1ucT< z3$m!W(xm*scZn=FzT-7{ON+6#nt0^Zsxa1S&D*X_EphUvB?tV*KB*>-s=Oub)>~2v_bd8KN|#nCO!<1q9+O}#s4nh&AwfC+8!}ITQ}*3t zl!vzhT=S!S&4#f#qwZq$lY!Okzj~ccb^f=PkYoSV>!0+E%Kq!&huu-V(nhiW&wkeb z8{Yq`&i{5F%Afxgn|meG~3Wm=8YI)y_uD|?^QXL{I=HoYM;&!?hwYN=0s zvS(dxiAym7pMeUq) z?d-upjU(6M#|3kq6wG-@Fz5NeoJRw5o(jx)ATa+~z@oJM&`VbIg*W>7Dlbcg`>@Py$f`;@1MP?t$Beia@lsU z!Cg6iE_k$=Zw7Yuca**~7f-94lfgKB$qAu?@#p}qoPR#GXxU42WzPaj9sy=;406u) zm%8Tra+Mxch=Zd4IT1Ue<=wcBXIfhl2+QezhV5>zH!zGY>i@g_UZwxpN09YD$0sN4 z&T+RjJVr%OuUozU_wd8+s9tHK(Enc_K2-W|_l(N_!(PG`{Qsfh+;@=~FPlnF#Y{?@ z@iJRDVZy8AE2B12N~9ipz$B7RQ#=H|f@Q~M!UY#NCZ12C36GKxt37BCu0IN+XN^tZ zGacH*{u6Y_#zhvB@zqYiwQN!wEhQc7W*(0cc)gtO{>0J*pE=y>YFd6jY)hSlxO)Nn9=7nk?=9x+S#^-aLLs09 zbLglQOetlbb88Ym>zsQ!TGoMo#8Jo4W|5_pA>#pGE{ZO%jN@LdiNzthGqR|lax{%q zNjGH>n^?+5RmaNH+YxV-t|V2cOGPE>?nuJ?PTE7`xZiIL2QU!Fy?*5Y=HZ9kQN7$o zA^mrT-A;=B`@=!?{^wr8rt%-~g`6woEDVV_aV8H*^GbfOO_2&q@q%l3CRXH(x#>gt zE9S#Nkv3kj1okT9VQ{qm+g{tSDwPT?XRkd~Qvesq z+`03##$5VvS5F}Ju~jdcn*2f7q!k!1({@_qN8#y*H2G_>Z|u;ae5Q>knm?gT9fVK} zr8$RALNanp_d`pf)zVT3?EgmO{}&o_$G6+|{#(NTZ@|DMtB4!Z+9{~4nH$7=uI zeb|Qow~}|8m-_%FgipcOH1HPwm`Xl?&shShPIyXPENClTb=F>VUjLf2=z!iI@LCt3 z*YXKWmU{&*;TKqo`ON)h#V@eF$eB_=>lawQ?5w%yEa5imAvo(JxZM4XINut6f_Z=M z&hDF7cMuf)PX~7bKoK{I+uAu`S^dwTXLJYb{LdH;29^G2A3@RofYjYFj8-4-ew_5$ z$Cdu)!H3;Zz1&9e{f_~A|4*iWNUzTS_Y$^r|AWsU=H0E-VZM|<_0~E|AWDkvG6>4m zAbw9hV&UyeZ%*-8K4K3W>_P|QJfN~0y!o*hId(9`T&|T#bx_dfe1=tY`y=wrg>WYj zXoO|SCs)=V*VpnEU@?dh-u)jZ5et~UBO)^3*|49=ve(NZnoAm__9DJp;d6ICpg_VP@88Db737WRRg^U*I{z>@+S>4zzp-A8Z_fDUdU6!L)%b7K zePh;RWPv^lmoZ`oT<3{8ej8SGAGK9JolqYHLdtEVn7#@zFDXWE=qRw``#LC7tpI>- zz0t#yzEH6Yre9$f;Ur;k?OZgQ|4iO`3y{0r*hRPPvm1i2)x8<`;E=dgh;U~72%*1ZVKe|y<}@$};A-+%30o=4%Q zXXnZ9b4>^ijP`L}hs!iQn&U3kZoj7P-*UWu`>jCmw<(1G9e~G^d8#DxUgg$~Lm*8pa(ESQ;QBN+eT@0WpiaNmns6-tNQt@=q=rvD#w z)9Zh4i1+_0{on2b?!QfRo6;P4pHSm_fP=$4LW);#&>5uQ#+!@@YO;6Y*a8?8=n7K- z9-DF`gc*8Ge2yNg3cYzYd8H?au|V#db(mP%p(SR{@qUC!#TVlabf%LBtJzZ=>_h!t Tg(_5`3fl1hV9xVD0LB0SNWHNg literal 5801 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 From ccba8ed20549acce03654e8ac2832062e98d0ffe Mon Sep 17 00:00:00 2001 From: Matt Barton Date: Thu, 24 Oct 2024 11:43:02 +0100 Subject: [PATCH 9/9] Retool the way fullstops are rendered --- Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml b/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml index 691a23e4..1ae79196 100644 --- a/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml +++ b/Childrens-Social-Care-CPD/Views/Shared/_CreditBlock.cshtml @@ -11,10 +11,7 @@
The resources have been developed by - @if (@Model.SecondaryDevelopersOfResource == null) { - @:. - } - else + @if (@Model.SecondaryDevelopersOfResource != null) { @:in collaboration with