From d61fb5d94d1c734dae6afd53ef117adb071fe514 Mon Sep 17 00:00:00 2001 From: Shannon Date: Fri, 9 May 2014 15:59:30 +1000 Subject: [PATCH] Fixes user cloning issues with allowed sections --- src/Umbraco.Core/Models/Membership/User.cs | 2 +- src/Umbraco.Tests/Models/UserTests.cs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Umbraco.Core/Models/Membership/User.cs b/src/Umbraco.Core/Models/Membership/User.cs index 2e963f5dd7..88a0df14ef 100644 --- a/src/Umbraco.Core/Models/Membership/User.cs +++ b/src/Umbraco.Core/Models/Membership/User.cs @@ -452,7 +452,7 @@ namespace Umbraco.Core.Models.Membership //need to create new collections otherwise they'll get copied by ref clone._addedSections = new List(); clone._removedSections = new List(); - clone._sectionCollection = new ObservableCollection(); + clone._sectionCollection = new ObservableCollection(_sectionCollection.ToList()); //re-create the event handler clone._sectionCollection.CollectionChanged += clone.SectionCollectionChanged; diff --git a/src/Umbraco.Tests/Models/UserTests.cs b/src/Umbraco.Tests/Models/UserTests.cs index 94eadf7996..7fa9742870 100644 --- a/src/Umbraco.Tests/Models/UserTests.cs +++ b/src/Umbraco.Tests/Models/UserTests.cs @@ -40,6 +40,8 @@ namespace Umbraco.Tests.Models Username = "username" }; + item.AddAllowedSection("test"); + var clone = (User)item.DeepClone(); Assert.AreNotSame(clone, item); @@ -47,6 +49,7 @@ namespace Umbraco.Tests.Models Assert.AreNotSame(clone.UserType, item.UserType); Assert.AreEqual(clone.UserType, item.UserType); + Assert.AreEqual(clone.AllowedSections.Count(), item.AllowedSections.Count()); //Verify normal properties with reflection var allProps = clone.GetType().GetProperties();