From 3da9fddd64ab9dafb9e779d10b7eb29e2fec9443 Mon Sep 17 00:00:00 2001 From: Niels Hartvig Date: Sat, 24 Feb 2018 21:31:10 +1000 Subject: [PATCH] U4-10688 Obsolete property editors showing Please be aware that if you do have obsolete property editors in use and set the setting "showDeprecatedPropertyEditors" to false you'll get an exception. --- src/Umbraco.Core/CoreBootManager.cs | 2 +- .../PropertyEditors/PropertyEditorResolver.cs | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Core/CoreBootManager.cs b/src/Umbraco.Core/CoreBootManager.cs index a0455d820a..27118cc52a 100644 --- a/src/Umbraco.Core/CoreBootManager.cs +++ b/src/Umbraco.Core/CoreBootManager.cs @@ -461,7 +461,7 @@ namespace Umbraco.Core ApplicationCache.RuntimeCache, new ManifestParser(new DirectoryInfo(IOHelper.MapPath("~/App_Plugins")), ApplicationCache.RuntimeCache)); - PropertyEditorResolver.Current = new PropertyEditorResolver(ServiceProvider, ProfilingLogger.Logger, () => PluginManager.ResolvePropertyEditors(), builder); + PropertyEditorResolver.Current = new PropertyEditorResolver(ServiceProvider, ProfilingLogger.Logger, () => PluginManager.ResolvePropertyEditors(), builder, UmbracoConfig.For.UmbracoSettings().Content); ParameterEditorResolver.Current = new ParameterEditorResolver(ServiceProvider, ProfilingLogger.Logger, () => PluginManager.ResolveParameterEditors(), builder); //setup the validators resolver with our predefined validators diff --git a/src/Umbraco.Core/PropertyEditors/PropertyEditorResolver.cs b/src/Umbraco.Core/PropertyEditors/PropertyEditorResolver.cs index ba1df58879..4cd966301a 100644 --- a/src/Umbraco.Core/PropertyEditors/PropertyEditorResolver.cs +++ b/src/Umbraco.Core/PropertyEditors/PropertyEditorResolver.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; using Umbraco.Core.Cache; +using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.Logging; using Umbraco.Core.IO; using Umbraco.Core.Manifest; @@ -39,10 +40,11 @@ namespace Umbraco.Core.PropertyEditors _unioned = new Lazy>(() => Values.Union(builder.PropertyEditors).ToList()); } - internal PropertyEditorResolver(IServiceProvider serviceProvider, ILogger logger, Func> typeListProducerList, ManifestBuilder builder) + internal PropertyEditorResolver(IServiceProvider serviceProvider, ILogger logger, Func> typeListProducerList, ManifestBuilder builder, IContentSection contentSection) : base(serviceProvider, logger, typeListProducerList, ObjectLifetimeScope.Application) { - _unioned = new Lazy>(() => SanitizeNames(Values.Union(builder.PropertyEditors).ToList())); + _unioned = new Lazy>(() => SanitizeNames(Values.Union(builder.PropertyEditors) + .Where(x=>x.IsDeprecated == false || contentSection != null && contentSection.ShowDeprecatedPropertyEditors).ToList())); } private static List SanitizeNames(List editors) @@ -74,4 +76,4 @@ namespace Umbraco.Core.PropertyEditors return PropertyEditors.SingleOrDefault(x => x.Alias == alias); } } -} \ No newline at end of file +}