From 3ef51d735764aceccc2f2f714b8ea5682378e652 Mon Sep 17 00:00:00 2001 From: Stephan Date: Thu, 30 Jan 2014 16:18:06 +0100 Subject: [PATCH] U4-2317 - issue with domains & languages management --- src/Umbraco.Web/WebServices/DomainsApiController.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web/WebServices/DomainsApiController.cs b/src/Umbraco.Web/WebServices/DomainsApiController.cs index fd53e7ad95..633825ddda 100644 --- a/src/Umbraco.Web/WebServices/DomainsApiController.cs +++ b/src/Umbraco.Web/WebServices/DomainsApiController.cs @@ -61,12 +61,14 @@ namespace Umbraco.Web.WebServices // process domains - foreach (var domain in domains.Where(d => model.Domains.All(m => !m.Name.Equals(d.Name, StringComparison.OrdinalIgnoreCase)))) + // delete every (non-wildcard) domain, that exists in the DB yet is not in the model + foreach (var domain in domains.Where(d => d.IsWildcard == false && model.Domains.All(m => m.Name.Equals(d.Name, StringComparison.OrdinalIgnoreCase) == false))) domain.Delete(); var names = new List(); - foreach (var domainModel in model.Domains.Where(m => !string.IsNullOrWhiteSpace(m.Name))) + // create or update domains in the model + foreach (var domainModel in model.Domains.Where(m => string.IsNullOrWhiteSpace(m.Name) == false)) { language = languages.FirstOrDefault(l => l.id == domainModel.Lang); if (language == null) @@ -87,7 +89,7 @@ namespace Umbraco.Web.WebServices Domain.MakeNew(name, model.NodeId, domainModel.Lang); } - model.Valid = model.Domains.All(m => !m.Duplicate); + model.Valid = model.Domains.All(m => m.Duplicate == false); return model; }