From c2d978a0db19fde71b61c3b664dd566bd4c609f4 Mon Sep 17 00:00:00 2001 From: perploug Date: Mon, 27 Jan 2014 22:03:52 +0100 Subject: [PATCH] Enables listview children in dialog trees By default trees doesnt show children of listview nodes, this enables them in dialog trees, otherwise content pickers cannot select childrens of a listview node --- src/Umbraco.Web/Trees/ContentTreeController.cs | 3 ++- src/Umbraco.Web/Trees/ContentTreeControllerBase.cs | 4 +++- src/Umbraco.Web/Trees/MediaTreeController.cs | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web/Trees/ContentTreeController.cs b/src/Umbraco.Web/Trees/ContentTreeController.cs index 246cae6ac4..f5c54e3753 100644 --- a/src/Umbraco.Web/Trees/ContentTreeController.cs +++ b/src/Umbraco.Web/Trees/ContentTreeController.cs @@ -98,7 +98,8 @@ namespace Umbraco.Web.Trees { //Special check to see if it ia a container, if so then we'll hide children. - var isContainer = e.IsContainer(); + //we only perform this check for non-dialog trees since pickers needs access to these nodes + var isContainer = e.IsContainer() && (queryStrings.Get("isDialog") != "true"); var node = CreateTreeNode( e.Id.ToInvariantString(), diff --git a/src/Umbraco.Web/Trees/ContentTreeControllerBase.cs b/src/Umbraco.Web/Trees/ContentTreeControllerBase.cs index 83bf72d974..97185b6f7e 100644 --- a/src/Umbraco.Web/Trees/ContentTreeControllerBase.cs +++ b/src/Umbraco.Web/Trees/ContentTreeControllerBase.cs @@ -177,11 +177,13 @@ namespace Umbraco.Web.Trees //before we get the children we need to see if this is a container node var current = Services.EntityService.Get(int.Parse(id), UmbracoObjectType); - if (current != null && current.IsContainer()) + + if (queryStrings.Get("isDialog") != "true" && current != null && current.IsContainer()) { //no children! return new TreeNodeCollection(); } + return PerformGetTreeNodes(id, queryStrings); } diff --git a/src/Umbraco.Web/Trees/MediaTreeController.cs b/src/Umbraco.Web/Trees/MediaTreeController.cs index ea9a5f230e..013668a914 100644 --- a/src/Umbraco.Web/Trees/MediaTreeController.cs +++ b/src/Umbraco.Web/Trees/MediaTreeController.cs @@ -78,7 +78,7 @@ namespace Umbraco.Web.Trees var entity = (UmbracoEntity)e; //Special check to see if it ia a container, if so then we'll hide children. - var isContainer = entity.IsContainer(); + var isContainer = e.IsContainer() && (queryStrings.Get("isDialog") != "true"); var node = CreateTreeNode( e.Id.ToInvariantString(), @@ -89,6 +89,8 @@ namespace Umbraco.Web.Trees entity.HasChildren && (isContainer == false)); node.AdditionalData.Add("contentType", entity.ContentTypeAlias); + + if (isContainer) node.SetContainerStyle();