From f4e449f0305fc91a74707102851259132348d0d2 Mon Sep 17 00:00:00 2001 From: kgiszewski Date: Mon, 16 Nov 2015 13:24:36 -0500 Subject: [PATCH] Fix #304 --- .../Umbraco.Archetype/Models/ArchetypeModel.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/Umbraco/Umbraco.Archetype/Models/ArchetypeModel.cs b/app/Umbraco/Umbraco.Archetype/Models/ArchetypeModel.cs index 11a13a1..cf37c92 100644 --- a/app/Umbraco/Umbraco.Archetype/Models/ArchetypeModel.cs +++ b/app/Umbraco/Umbraco.Archetype/Models/ArchetypeModel.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Linq; using Newtonsoft.Json; using Newtonsoft.Json.Linq; +using Umbraco.Core.Logging; namespace Archetype.Models { @@ -47,6 +48,22 @@ namespace Archetype.Models /// public string SerializeForPersistence() { + //clean out any properties with a null datatype + foreach (var fieldset in Fieldsets) + { + var properties = fieldset.Properties.ToList(); + + foreach (var property in fieldset.Properties) + { + if (property.DataTypeGuid == null) + { + properties.Remove(property); + } + } + + fieldset.Properties = properties; + } + var json = JObject.Parse(JsonConvert.SerializeObject(this, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore })); var propertiesToRemove = new String[] { "propertyEditorAlias", "dataTypeId", "dataTypeGuid", "hostContentType", "editorState" };