diff --git a/src/Umbraco.Core/Constants-DataTypes.cs b/src/Umbraco.Core/Constants-DataTypes.cs
index d5d0e99dab..0e95e57b1b 100644
--- a/src/Umbraco.Core/Constants-DataTypes.cs
+++ b/src/Umbraco.Core/Constants-DataTypes.cs
@@ -7,7 +7,7 @@ namespace Umbraco.Core
///
/// Defines the identifiers for Umbraco data types as constants for easy centralized access/management.
///
- public static class DataTypes
+ internal static class DataTypes
{
public static class ReservedPreValueKeys
diff --git a/src/Umbraco.Core/Models/DataTypeDefinitionExtensions.cs b/src/Umbraco.Core/Models/DataTypeExtensions.cs
similarity index 79%
rename from src/Umbraco.Core/Models/DataTypeDefinitionExtensions.cs
rename to src/Umbraco.Core/Models/DataTypeExtensions.cs
index 45c4420820..47702de2c5 100644
--- a/src/Umbraco.Core/Models/DataTypeDefinitionExtensions.cs
+++ b/src/Umbraco.Core/Models/DataTypeExtensions.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
namespace Umbraco.Core.Models
{
- public static class DataTypeDefinitionExtensions
+ internal static class DataTypeExtensions
{
private static readonly ISet IdsOfBuildInDataTypes = new HashSet()
{
@@ -37,11 +37,19 @@ namespace Umbraco.Core.Models
///
/// Returns true if this date type is build-in/default.
///
- /// The data type definition.
+ /// The data type definition.
///
- public static bool IsBuildInDataType(this IDataTypeDefinition dataTypeDefinition)
+ public static bool IsBuildInDataType(this IDataTypeDefinition dataType)
{
- return IdsOfBuildInDataTypes.Contains(dataTypeDefinition.Key);
+ return IsBuildInDataType(dataType.Key);
+ }
+
+ ///
+ /// Returns true if this date type is build-in/default.
+ ///
+ public static bool IsBuildInDataType(Guid key)
+ {
+ return IdsOfBuildInDataTypes.Contains(key);
}
}
}
diff --git a/src/Umbraco.Core/Services/DateTypeServiceExtensions.cs b/src/Umbraco.Core/Services/DateTypeServiceExtensions.cs
index 63006653ab..bea83558a5 100644
--- a/src/Umbraco.Core/Services/DateTypeServiceExtensions.cs
+++ b/src/Umbraco.Core/Services/DateTypeServiceExtensions.cs
@@ -1,17 +1,20 @@
using System;
+using Umbraco.Core.Models;
namespace Umbraco.Core.Services
{
- public static class DateTypeServiceExtensions
+ internal static class DateTypeServiceExtensions
{
public static bool IsDataTypeIgnoringUserStartNodes(this IDataTypeService dataTypeService, Guid key)
{
+ if (DataTypeExtensions.IsBuildInDataType(key)) return false; //built in ones can never be ignoring start nodes
+
var dataType = dataTypeService.GetDataTypeDefinitionById(key);
if (dataType != null)
{
var preValues = dataTypeService.GetPreValuesCollectionByDataTypeId(dataType.Id);
- if (preValues.PreValuesAsDictionary.TryGetValue(
+ if (preValues.FormatAsDictionary().TryGetValue(
Constants.DataTypes.ReservedPreValueKeys.IgnoreUserStartNodes, out var preValue))
return preValue.Value.InvariantEquals("1");
}