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:
@@ -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));
|
||||
});
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user