diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs index 68f9a4ad3b..dcb9623336 100644 --- a/src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs @@ -238,7 +238,8 @@ namespace Umbraco.Core.Persistence.Repositories .On(left => left.Id, right => right.PropertyTypeGroupId) .InnerJoin() .On(left => left.DataTypeId, right => right.DataTypeId) - .Where(x => x.ContentTypeId == id); + .Where(x => x.ContentTypeId == id) + .OrderBy(x => x.PropertyTypeGroupId); var dtos = Database.Fetch(new GroupPropertyTypeRelator().Map, sql); diff --git a/src/umbraco.cms/businesslogic/Content.cs b/src/umbraco.cms/businesslogic/Content.cs index 7b3e966874..dec30c8c05 100644 --- a/src/umbraco.cms/businesslogic/Content.cs +++ b/src/umbraco.cms/businesslogic/Content.cs @@ -677,9 +677,13 @@ namespace umbraco.cms.businesslogic continue; //get the propertyId - var property = propData.LastOrDefault(x => x.PropertyTypeId == pt.Id); + var property = propData.SingleOrDefault(x => x.PropertyTypeId == pt.Id); if (property == null) - continue; + { + //continue; + var prop = Property.MakeNew(pt, this, Version); + property = new {Id = prop.Id, PropertyTypeId = pt.Id}; + } var propertyId = property.Id; Property p = null; diff --git a/src/umbraco.cms/businesslogic/Packager/Installer.cs b/src/umbraco.cms/businesslogic/Packager/Installer.cs index 07b3dfced5..9ab0287ca6 100644 --- a/src/umbraco.cms/businesslogic/Packager/Installer.cs +++ b/src/umbraco.cms/businesslogic/Packager/Installer.cs @@ -425,7 +425,7 @@ namespace umbraco.cms.businesslogic.packager for (int i = 0; i < allowed.Count; i++) adt[i] = (int)allowed[i]; dt.AllowedChildContentTypeIDs = adt; - + dt.Save(); //PPH we log the document type install here. insPack.Data.Documenttypes.Add(dt.Id.ToString()); saveNeeded = true; diff --git a/src/umbraco.cms/businesslogic/web/Document.cs b/src/umbraco.cms/businesslogic/web/Document.cs index 4c87c895cc..1f58d36046 100644 --- a/src/umbraco.cms/businesslogic/web/Document.cs +++ b/src/umbraco.cms/businesslogic/web/Document.cs @@ -1612,7 +1612,7 @@ namespace umbraco.cms.businesslogic.web { if (AfterSave != null) { - AfterSave(this, e); + AfterSave(new Document(this.Id), e); } }