From b43f0a098648a6b2b1eb9018a91ad6aeaa8de9bd Mon Sep 17 00:00:00 2001 From: Per Ploug Date: Tue, 19 May 2015 11:57:49 +0200 Subject: [PATCH] Fixed up a couple of mapping errors --- .../Models/Mapping/ContentTypeModelMappingTests.cs | 4 +++- .../Models/ContentEditing/ContentTypeDisplay.cs | 2 +- .../Models/ContentEditing/PropertyTypeGroupDisplay.cs | 4 ++-- src/Umbraco.Web/Models/Mapping/ContentTypeModelMapper.cs | 3 +++ src/Umbraco.Web/Models/Mapping/EntityModelMapper.cs | 7 +++++++ .../Models/Mapping/PropertyTypeGroupResolver.cs | 6 +++--- 6 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/Umbraco.Tests/Models/Mapping/ContentTypeModelMappingTests.cs b/src/Umbraco.Tests/Models/Mapping/ContentTypeModelMappingTests.cs index 5195b15dc5..4f92a1bc4e 100644 --- a/src/Umbraco.Tests/Models/Mapping/ContentTypeModelMappingTests.cs +++ b/src/Umbraco.Tests/Models/Mapping/ContentTypeModelMappingTests.cs @@ -139,6 +139,8 @@ namespace Umbraco.Tests.Models.Mapping Assert.AreEqual(contentType.AllowedAsRoot, result.AllowedAsRoot); Assert.AreEqual(contentType.IsContainer, result.EnableListView); + Assert.AreEqual(contentType.DefaultTemplate.Alias, result.DefaultTemplate.Alias); + //TODO: Now we need to assert all of the more complicated parts Assert.AreEqual(2, result.Groups.Count()); Assert.AreEqual(2, result.Groups.ElementAt(0).Properties.Count()); @@ -154,7 +156,7 @@ namespace Umbraco.Tests.Models.Mapping AllowedTemplates = new List(), AvailableContentTypes = new List(), AvailableTemplates = new List(), - DefaultTemplate = "template1", + DefaultTemplate = new EntityBasic(){ Alias = "test" }, Description = "hello world", Icon = "tree-icon", Id = 1234, diff --git a/src/Umbraco.Web/Models/ContentEditing/ContentTypeDisplay.cs b/src/Umbraco.Web/Models/ContentEditing/ContentTypeDisplay.cs index d1ec50d9a9..70eeb63339 100644 --- a/src/Umbraco.Web/Models/ContentEditing/ContentTypeDisplay.cs +++ b/src/Umbraco.Web/Models/ContentEditing/ContentTypeDisplay.cs @@ -32,7 +32,7 @@ namespace Umbraco.Web.Models.ContentEditing public IEnumerable AvailableTemplates { get; set; } [DataMember(Name = "defaultTemplate")] - public string DefaultTemplate { get; set; } + public EntityBasic DefaultTemplate { get; set; } // Allowed parent node types (can include root) diff --git a/src/Umbraco.Web/Models/ContentEditing/PropertyTypeGroupDisplay.cs b/src/Umbraco.Web/Models/ContentEditing/PropertyTypeGroupDisplay.cs index 20f7d1b4b5..4a95ba556a 100644 --- a/src/Umbraco.Web/Models/ContentEditing/PropertyTypeGroupDisplay.cs +++ b/src/Umbraco.Web/Models/ContentEditing/PropertyTypeGroupDisplay.cs @@ -32,8 +32,8 @@ namespace Umbraco.Web.Models.ContentEditing // indicating where they've come from. These models don't have to be an exact representation // of their data structures, they should be structured in the simplest format in order for // us to pass data to and from the editor, and that's it. - [DataMember(Name = "groups")] - public IEnumerable Groups { get; set; } + // [DataMember(Name = "groups")] + // public IEnumerable Groups { get; set; } //Indicate if this tab was inherited [DataMember(Name = "inherited")] diff --git a/src/Umbraco.Web/Models/Mapping/ContentTypeModelMapper.cs b/src/Umbraco.Web/Models/Mapping/ContentTypeModelMapper.cs index 4c364c9f72..b61676722a 100644 --- a/src/Umbraco.Web/Models/Mapping/ContentTypeModelMapper.cs +++ b/src/Umbraco.Web/Models/Mapping/ContentTypeModelMapper.cs @@ -57,12 +57,15 @@ namespace Umbraco.Web.Models.Mapping config.CreateMap() //Ignore because this is not actually used for content types .ForMember(display => display.Trashed, expression => expression.Ignore()) + //Ignore for now, this will need to be manually mapped or mapped with a resolver // since there is no source property to map from .ForMember(display => display.AvailableContentTypes, expression => expression.Ignore()) + //Ignore for now, this will need to be manually mapped or mapped with a resolver // since there is no source property to map from .ForMember(display => display.AvailableTemplates, expression => expression.Ignore()) + .ForMember(display => display.EnableListView, expression => expression.MapFrom(type => type.IsContainer)) .ForMember( dto => dto.Groups, diff --git a/src/Umbraco.Web/Models/Mapping/EntityModelMapper.cs b/src/Umbraco.Web/Models/Mapping/EntityModelMapper.cs index fb0a809c24..2c04365e91 100644 --- a/src/Umbraco.Web/Models/Mapping/EntityModelMapper.cs +++ b/src/Umbraco.Web/Models/Mapping/EntityModelMapper.cs @@ -45,6 +45,13 @@ namespace Umbraco.Web.Models.Mapping .ForMember(dto => dto.Trashed, expression => expression.Ignore()) .ForMember(x => x.AdditionalData, expression => expression.Ignore()); + config.CreateMap() + .ForMember(basic => basic.Icon, expression => expression.UseValue("icon-layout")) + .ForMember(basic => basic.Path, expression => expression.UseValue("")) + .ForMember(basic => basic.ParentId, expression => expression.UseValue(-1)) + .ForMember(dto => dto.Trashed, expression => expression.Ignore()) + .ForMember(x => x.AdditionalData, expression => expression.Ignore()); + config.CreateMap() //default to document icon .ForMember(x => x.Icon, expression => expression.Ignore()) diff --git a/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupResolver.cs b/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupResolver.cs index 030e7872de..1a1259b452 100644 --- a/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupResolver.cs +++ b/src/Umbraco.Web/Models/Mapping/PropertyTypeGroupResolver.cs @@ -31,13 +31,13 @@ namespace Umbraco.Web.Models.Mapping var genericGroup = new PropertyTypeGroupDisplay() { Name = "properties", Id = 0, ParentGroupId = 0 }; genericGroup.Properties = MapProperties(source.PropertyTypes); - genericGroup.Groups = new List(); + //genericGroup.Groups = new List(); foreach (var group in propGroups.Where(pg => pg.ParentId.HasValue == false)) { var mapped = new PropertyTypeGroupDisplay() { Id = group.Id, ParentGroupId = 0, Name = group.Name, SortOrder = group.SortOrder }; mapped.Properties = MapProperties(group.PropertyTypes); - mapped.Groups = MapChildGroups(mapped, propGroups); + //mapped.Groups = MapChildGroups(mapped, propGroups); groups.Add(mapped); } @@ -54,7 +54,7 @@ namespace Umbraco.Web.Models.Mapping var mapped = new PropertyTypeGroupDisplay() { Id = child.Id, ParentGroupId = child.ParentId.Value, Name = child.Name, SortOrder = child.SortOrder }; mapped.Name += child.PropertyTypes.Count.ToString(); mapped.Properties = MapProperties(child.PropertyTypes); - mapped.Groups = MapChildGroups(mapped, groups); + //mapped.Groups = MapChildGroups(mapped, groups); mappedGroups.Add(mapped); }