diff --git a/src/Umbraco.Core/Persistence/Querying/PocoToSqlExpressionHelper.cs b/src/Umbraco.Core/Persistence/Querying/PocoToSqlExpressionHelper.cs index 555b87f6e4..6c2f7e6727 100644 --- a/src/Umbraco.Core/Persistence/Querying/PocoToSqlExpressionHelper.cs +++ b/src/Umbraco.Core/Persistence/Querying/PocoToSqlExpressionHelper.cs @@ -243,6 +243,10 @@ namespace Umbraco.Core.Persistence.Querying args.RemoveAt(0); } + //TODO: We should probably add the same logic we've done for ModelToSqlExpressionHelper with checking for: + // InvariantStartsWith, InvariantEndsWith, SqlWildcard, etc... + // since we should be able to easily handle that with the Poco objects too. + switch (m.Method.Name) { case "ToUpper": diff --git a/src/Umbraco.Web.UI/config/trees.config b/src/Umbraco.Web.UI/config/trees.config index 6834440077..19d72fd252 100644 --- a/src/Umbraco.Web.UI/config/trees.config +++ b/src/Umbraco.Web.UI/config/trees.config @@ -1,14 +1,14 @@  - - + + - - + + - - + + diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/Trees/TreeDefinitionCollection.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/Trees/TreeDefinitionCollection.cs index 062145bbf7..f1c5d4004b 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/Trees/TreeDefinitionCollection.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/Trees/TreeDefinitionCollection.cs @@ -177,7 +177,7 @@ namespace umbraco.cms.presentation.Trees // tree type contains a comma (meaning it is assembly qualified) if (tree.AssemblyName.IsNullOrWhiteSpace() || tree.Type.Contains(",")) { - return tree.Type == type.GetFullNameWithAssembly(); + return tree.GetRuntimeType() == type; } //otherwise match using legacy match rules diff --git a/src/umbraco.businesslogic/ApplicationTree.cs b/src/umbraco.businesslogic/ApplicationTree.cs index e4ce027fe7..f8e51546f7 100644 --- a/src/umbraco.businesslogic/ApplicationTree.cs +++ b/src/umbraco.businesslogic/ApplicationTree.cs @@ -168,6 +168,17 @@ namespace umbraco.BusinessLogic /// The type. public string Type { get; set; } + private Type _runtimeType; + + /// + /// Returns the CLR type based on it's assembly name stored in the config + /// + /// + internal Type GetRuntimeType() + { + return _runtimeType ?? (_runtimeType = System.Type.GetType(Type)); + } + /// /// Gets or sets the default tree action. ///