From afb251d5b7eaa28a52554e2313aafca027eeaa1c Mon Sep 17 00:00:00 2001 From: Morten Christensen Date: Tue, 8 Jan 2013 11:38:35 -0100 Subject: [PATCH] Fixes U4-1394 so the DefaultTemplate is not completely removed from the list of allowed templates when changed. --- src/Umbraco.Core/Models/ContentType.cs | 6 ++++++ .../umbraco/settings/EditNodeTypeNew.aspx.cs | 2 ++ src/umbraco.cms/businesslogic/web/DocumentType.cs | 7 ++----- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Core/Models/ContentType.cs b/src/Umbraco.Core/Models/ContentType.cs index 9d747e4c55..9211e1ac98 100644 --- a/src/Umbraco.Core/Models/ContentType.cs +++ b/src/Umbraco.Core/Models/ContentType.cs @@ -72,6 +72,12 @@ namespace Umbraco.Core.Models /// Default public void SetDefaultTemplate(ITemplate template) { + if (template == null) + { + DefaultTemplateId = 0; + return; + } + DefaultTemplateId = template.Id; if(_allowedTemplates.Any(x => x != null && x.Id == template.Id) == false) { diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/settings/EditNodeTypeNew.aspx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/settings/EditNodeTypeNew.aspx.cs index 0c3be42e00..170d2324c5 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/settings/EditNodeTypeNew.aspx.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/settings/EditNodeTypeNew.aspx.cs @@ -128,6 +128,8 @@ namespace umbraco.settings else dt.RemoveDefaultTemplate(); + dt.Save(); + bindTemplates(); } else diff --git a/src/umbraco.cms/businesslogic/web/DocumentType.cs b/src/umbraco.cms/businesslogic/web/DocumentType.cs index 6ebca1c12a..715a045c37 100644 --- a/src/umbraco.cms/businesslogic/web/DocumentType.cs +++ b/src/umbraco.cms/businesslogic/web/DocumentType.cs @@ -420,14 +420,11 @@ namespace umbraco.cms.businesslogic.web return doc; } - [Obsolete("Deprecated, Use RemoveTemplate() on Umbraco.Core.Models.ContentType", false)] + [Obsolete("Deprecated, Use SetDefaultTemplate(null) on Umbraco.Core.Models.ContentType", false)] public void RemoveDefaultTemplate() { _defaultTemplate = 0; - - var template = _contentType.DefaultTemplate; - if(template != null) - _contentType.RemoveTemplate(template); + _contentType.SetDefaultTemplate(null); } public bool HasTemplate()