Merge branch 'dev-v7-contenttypeeditor' of https://github.com/umbraco/Umbraco-CMS into dev-v7-contenttypeeditor

Conflicts:
	src/Umbraco.Web/Models/Mapping/ContentTypeModelMapper.cs
This commit is contained in:
Shannon
2015-07-13 15:42:25 +02:00
2 changed files with 15 additions and 10 deletions

View File

@@ -54,6 +54,7 @@ namespace Umbraco.Web.Models.Mapping
.ForMember(dto => dto.PropertyGroups, expression => expression.Ignore())
.AfterMap((source, dest) =>
{
var addedProperties = new List<string>();
//get all properties from groups that are not generic properties or inhertied (-666 id)
@@ -71,7 +72,7 @@ namespace Umbraco.Web.Models.Mapping
{
dest.AddPropertyType(Mapper.Map<PropertyType>(propertyTypeDisplay), groupDisplay.Name);
addedProperties.Add(propertyTypeDisplay.Alias);
}
}
}
//Groups to remove
@@ -102,14 +103,13 @@ namespace Umbraco.Web.Models.Mapping
//Sync allowed child types
var allowedTypes = source.AllowedContentTypes.Select((t, i) => new ContentTypeSort(t, i));
dest.AllowedContentTypes = allowedTypes.ToArray();
//sync compositions
var current = dest.CompositionAliases().ToArray();
var proposed = source.CompositeContentTypes;
var remove = current.Where(x => proposed.Contains(x) == false);
var remove = current.Where(x => proposed.Contains(x) == false);
var add = proposed.Where(x => current.Contains(x) == false);
foreach (var rem in remove)
@@ -117,16 +117,18 @@ namespace Umbraco.Web.Models.Mapping
dest.RemoveContentType(rem);
}
foreach(var a in add)
foreach (var a in add)
{
//TODO: Remove N+1 lookup
var addCt = applicationContext.Services.ContentTypeService.GetContentType(a);
if(addCt != null)
dest.AddContentType(addCt);
if (addCt != null)
dest.AddContentType(addCt);
}
//sync templates
dest.AllowedTemplates = source.AllowedTemplates.Select(x => Mapper.Map<ITemplate>(x));
if(source.DefaultTemplate != null)
dest.SetDefaultTemplate(Mapper.Map<ITemplate>(source.DefaultTemplate));
});