From 7552e315fbfd588fd22469bf063b1eacd4f8b16e Mon Sep 17 00:00:00 2001 From: Callum Whyte Date: Mon, 20 Jan 2025 20:27:54 +1100 Subject: [PATCH 1/4] Allow skipSelect blueprints only when one blueprint exists (#17818) --- .../src/views/content/content.create.controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/content/content.create.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/content.create.controller.js index 54753a94f1..64e366c342 100644 --- a/src/Umbraco.Web.UI.Client/src/views/content/content.create.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/content/content.create.controller.js @@ -86,7 +86,7 @@ function contentCreateController($scope, }); $scope.docType = docType; if (blueprints.length) { - if (blueprintConfig.skipSelect) { + if (blueprintConfig.skipSelect && blueprints.length === 1) { createFromBlueprint(blueprints[0].id); } else { $scope.selectContentType = false; From 25628a8b7602b80abe238b10d18c3e9f02493b90 Mon Sep 17 00:00:00 2001 From: Alex Clark Date: Mon, 20 Jan 2025 03:04:02 -0600 Subject: [PATCH 2/4] Lucene Package Update to Address CVE-2024-43383 (#17942) * Update Lucene Package to 4.8.0-beta00017 * Add Package Reference --------- Co-authored-by: Sebastiaan Janssen --- Directory.Packages.props | 4 +++- src/Umbraco.Examine.Lucene/Umbraco.Examine.Lucene.csproj | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index d0ced18737..eb15199e0a 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -91,6 +91,8 @@ + + @@ -98,4 +100,4 @@ - \ No newline at end of file + diff --git a/src/Umbraco.Examine.Lucene/Umbraco.Examine.Lucene.csproj b/src/Umbraco.Examine.Lucene/Umbraco.Examine.Lucene.csproj index 7e28eb6971..dd9d5a4115 100644 --- a/src/Umbraco.Examine.Lucene/Umbraco.Examine.Lucene.csproj +++ b/src/Umbraco.Examine.Lucene/Umbraco.Examine.Lucene.csproj @@ -10,6 +10,8 @@ + + From 7567990da19eec5c57dcf2227c887febe280a065 Mon Sep 17 00:00:00 2001 From: Kenn Jacobsen Date: Tue, 21 Jan 2025 09:10:43 +0100 Subject: [PATCH 3/4] Add NoopCurrentMemberClaimsProvider so Umbraco can boot without the Delivery API enabled (#18049) --- .../Controllers/Security/CurrentMemberController.cs | 2 +- .../Services/CurrentMemberClaimsProvider.cs | 1 + .../DeliveryApi}/ICurrentMemberClaimsProvider.cs | 2 +- .../DeliveryApi/NoopCurrentMemberClaimsProvider.cs | 6 ++++++ .../DependencyInjection/UmbracoBuilder.CoreServices.cs | 1 + 5 files changed, 10 insertions(+), 2 deletions(-) rename src/{Umbraco.Cms.Api.Delivery/Services => Umbraco.Core/DeliveryApi}/ICurrentMemberClaimsProvider.cs (87%) create mode 100644 src/Umbraco.Core/DeliveryApi/NoopCurrentMemberClaimsProvider.cs diff --git a/src/Umbraco.Cms.Api.Delivery/Controllers/Security/CurrentMemberController.cs b/src/Umbraco.Cms.Api.Delivery/Controllers/Security/CurrentMemberController.cs index 9e71636324..41d1970d06 100644 --- a/src/Umbraco.Cms.Api.Delivery/Controllers/Security/CurrentMemberController.cs +++ b/src/Umbraco.Cms.Api.Delivery/Controllers/Security/CurrentMemberController.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using OpenIddict.Server.AspNetCore; using Umbraco.Cms.Api.Delivery.Routing; -using Umbraco.Cms.Api.Delivery.Services; +using Umbraco.Cms.Core.DeliveryApi; namespace Umbraco.Cms.Api.Delivery.Controllers.Security; diff --git a/src/Umbraco.Cms.Api.Delivery/Services/CurrentMemberClaimsProvider.cs b/src/Umbraco.Cms.Api.Delivery/Services/CurrentMemberClaimsProvider.cs index 3250b24ae6..8a358f11a8 100644 --- a/src/Umbraco.Cms.Api.Delivery/Services/CurrentMemberClaimsProvider.cs +++ b/src/Umbraco.Cms.Api.Delivery/Services/CurrentMemberClaimsProvider.cs @@ -1,4 +1,5 @@ using OpenIddict.Abstractions; +using Umbraco.Cms.Core.DeliveryApi; using Umbraco.Cms.Core.Security; namespace Umbraco.Cms.Api.Delivery.Services; diff --git a/src/Umbraco.Cms.Api.Delivery/Services/ICurrentMemberClaimsProvider.cs b/src/Umbraco.Core/DeliveryApi/ICurrentMemberClaimsProvider.cs similarity index 87% rename from src/Umbraco.Cms.Api.Delivery/Services/ICurrentMemberClaimsProvider.cs rename to src/Umbraco.Core/DeliveryApi/ICurrentMemberClaimsProvider.cs index 902129af6b..cd636cb06e 100644 --- a/src/Umbraco.Cms.Api.Delivery/Services/ICurrentMemberClaimsProvider.cs +++ b/src/Umbraco.Core/DeliveryApi/ICurrentMemberClaimsProvider.cs @@ -1,4 +1,4 @@ -namespace Umbraco.Cms.Api.Delivery.Services; +namespace Umbraco.Cms.Core.DeliveryApi; public interface ICurrentMemberClaimsProvider { diff --git a/src/Umbraco.Core/DeliveryApi/NoopCurrentMemberClaimsProvider.cs b/src/Umbraco.Core/DeliveryApi/NoopCurrentMemberClaimsProvider.cs new file mode 100644 index 0000000000..8080c27562 --- /dev/null +++ b/src/Umbraco.Core/DeliveryApi/NoopCurrentMemberClaimsProvider.cs @@ -0,0 +1,6 @@ +namespace Umbraco.Cms.Core.DeliveryApi; + +public class NoopCurrentMemberClaimsProvider : ICurrentMemberClaimsProvider +{ + public Task> GetClaimsAsync() => Task.FromResult(new Dictionary()); +} diff --git a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.CoreServices.cs b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.CoreServices.cs index a9ffc67f64..ef0e25204c 100644 --- a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.CoreServices.cs +++ b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.CoreServices.cs @@ -454,6 +454,7 @@ public static partial class UmbracoBuilderExtensions builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); + builder.Services.AddTransient(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); From 6bd11bf233fc8d792bb9886f4e4ca7dca8ffb30f Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Tue, 21 Jan 2025 09:19:31 +0100 Subject: [PATCH 4/4] Fixes failing front-end unit test to align with new behaviour from PR #17818 ( Allow skipSelect blueprints only when one blueprint exists). --- .../unit/app/content/create-content-controller.spec.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/test/unit/app/content/create-content-controller.spec.js b/src/Umbraco.Web.UI.Client/test/unit/app/content/create-content-controller.spec.js index 5954a2f984..86495b59ea 100644 --- a/src/Umbraco.Web.UI.Client/test/unit/app/content/create-content-controller.spec.js +++ b/src/Umbraco.Web.UI.Client/test/unit/app/content/create-content-controller.spec.js @@ -1,4 +1,4 @@ -(function () { +(function () { describe("create content dialog", function () { @@ -89,13 +89,16 @@ expect(searcher.search).toHaveBeenCalledWith("blueprintId", "1"); }); - it("skips selection and creates first blueprint when configured to", + it("skips selection and creates first blueprint when configured to and only one blueprint exists", function () { initialize({ allowBlank: true, skipSelect: true }); + // Ensure only one blueprint is available. + allowedTypes[1].blueprints = { "1": "a" }; + scope.createOrSelectBlueprintIfAny(allowedTypes[1]); expect(location.path).toHaveBeenCalledWith("/content/content/edit/1234");