diff --git a/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs b/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs index 0c7dbffd49..e794b5b9bb 100644 --- a/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs +++ b/src/Umbraco.Web/Models/Mapping/ContentModelMapper.cs @@ -51,11 +51,7 @@ namespace Umbraco.Web.Models.Mapping .ForMember( dto => dto.IsContainer, expression => expression.MapFrom(content => content.ContentType.IsContainer)) - .ForMember( - dto => dto.IsChildOfListView, - //TODO: Fix this shorthand .Parent() lookup, at least have an overload to use the current - // application context so it's testable! - expression => expression.MapFrom(content => content.Parent().ContentType.IsContainer)) + .ForMember(display => display.IsChildOfListView, expression => expression.Ignore()) .ForMember( dto => dto.Trashed, expression => expression.MapFrom(content => content.Trashed)) @@ -121,6 +117,11 @@ namespace Umbraco.Web.Models.Mapping /// private static void AfterMap(IContent content, ContentItemDisplay display, IDataTypeService dataTypeService, ILocalizedTextService localizedText) { + //map the IsChildOfListView (this is actually if it is a descendant of a list view!) + //TODO: Fix this shorthand .Ancestors() lookup, at least have an overload to use the current + var ancesctorListView = content.Ancestors().FirstOrDefault(x => x.ContentType.IsContainer); + display.IsChildOfListView = ancesctorListView != null; + //map the tree node url if (HttpContext.Current != null) { diff --git a/src/Umbraco.Web/Models/Mapping/MediaModelMapper.cs b/src/Umbraco.Web/Models/Mapping/MediaModelMapper.cs index 241d5b3c97..9cb680f204 100644 --- a/src/Umbraco.Web/Models/Mapping/MediaModelMapper.cs +++ b/src/Umbraco.Web/Models/Mapping/MediaModelMapper.cs @@ -35,11 +35,7 @@ namespace Umbraco.Web.Models.Mapping .ForMember( dto => dto.ContentTypeAlias, expression => expression.MapFrom(content => content.ContentType.Alias)) - .ForMember( - dto => dto.IsChildOfListView, - //TODO: Fix this shorthand .Parent() lookup, at least have an overload to use the current - // application context so it's testable! - expression => expression.MapFrom(content => content.Parent().ContentType.IsContainer)) + .ForMember(display => display.IsChildOfListView, expression => expression.Ignore()) .ForMember( dto => dto.Trashed, expression => expression.MapFrom(content => content.Trashed))