From 19eee764b60846b07b12fb68dcec2e5742ac5fcb Mon Sep 17 00:00:00 2001 From: Shandem Date: Mon, 31 Aug 2009 15:49:45 +0000 Subject: [PATCH] DO NOT DOWNLOAD. DOWNLOAD LATEST STABLE FROM RELEASE TAB Fixes deleting from recycle bins. [TFS Changeset #58548] --- umbraco/cms/businesslogic/media/Media.cs | 5 +++-- umbraco/cms/businesslogic/web/Document.cs | 4 ++-- .../presentation/umbraco.presentation.csproj | 3 ++- .../umbraco/Trees/BaseContentTree.cs | 4 ++-- .../umbraco/Trees/BaseMediaTree.cs | 4 ++-- .../umbraco/Trees/ContentRecycleBin.cs | 19 ++++++++++++++++++- .../umbraco/Trees/MediaRecycleBin.cs | 17 +++++++++++++++++ .../presentation/umbraco/Trees/loadMacros.cs | 4 ++-- 8 files changed, 48 insertions(+), 12 deletions(-) diff --git a/umbraco/cms/businesslogic/media/Media.cs b/umbraco/cms/businesslogic/media/Media.cs index 590389448c..2ccfedc9ea 100644 --- a/umbraco/cms/businesslogic/media/Media.cs +++ b/umbraco/cms/businesslogic/media/Media.cs @@ -204,7 +204,7 @@ namespace umbraco.cms.businesslogic.media new public void delete() { // Check for recyle bin - if (!Path.Contains("," + RecycleBin.RecycleBinType.Media.ToString() + ",")) + if (!Path.Contains("," + ((int)RecycleBin.RecycleBinType.Media).ToString() + ",")) { MoveToTrashEventArgs e = new MoveToTrashEventArgs(); FireBeforeMoveToTrash(e); @@ -227,7 +227,8 @@ namespace umbraco.cms.businesslogic.media if (!e.Cancel) { - foreach (Media d in this.Children) + var children = this.Children; + foreach (Media d in children) { d.delete(); } diff --git a/umbraco/cms/businesslogic/web/Document.cs b/umbraco/cms/businesslogic/web/Document.cs index 0a168e06fb..7a92c85131 100644 --- a/umbraco/cms/businesslogic/web/Document.cs +++ b/umbraco/cms/businesslogic/web/Document.cs @@ -874,8 +874,8 @@ namespace umbraco.cms.businesslogic.web public new void delete() { // Check for recyle bin - if (!Path.Contains(",-20,")) { - + if (!Path.Contains("," + ((int)RecycleBin.RecycleBinType.Content).ToString() + ",")) + { MoveToTrashEventArgs e = new MoveToTrashEventArgs(); FireBeforeMoveToTrash(e); diff --git a/umbraco/presentation/umbraco.presentation.csproj b/umbraco/presentation/umbraco.presentation.csproj index 0d87f76074..6a72a09243 100644 --- a/umbraco/presentation/umbraco.presentation.csproj +++ b/umbraco/presentation/umbraco.presentation.csproj @@ -1496,6 +1496,7 @@ + @@ -3483,4 +3484,4 @@ xcopy "$(ProjectDir)..\..\foreign dlls\*.dll" "$(TargetDir)*.dll" /Y - + \ No newline at end of file diff --git a/umbraco/presentation/umbraco/Trees/BaseContentTree.cs b/umbraco/presentation/umbraco/Trees/BaseContentTree.cs index 563548cead..70dc205d08 100644 --- a/umbraco/presentation/umbraco/Trees/BaseContentTree.cs +++ b/umbraco/presentation/umbraco/Trees/BaseContentTree.cs @@ -182,12 +182,12 @@ function openContent(id) { OnRenderNode(ref node, dd); - base.OnBeforeNodeRender(ref Tree, ref node, EventArgs.Empty); + OnBeforeNodeRender(ref Tree, ref node, EventArgs.Empty); if (node != null) { Tree.Add(node); } - base.OnAfterNodeRender(ref Tree, ref node, EventArgs.Empty); + OnAfterNodeRender(ref Tree, ref node, EventArgs.Empty); } } } diff --git a/umbraco/presentation/umbraco/Trees/BaseMediaTree.cs b/umbraco/presentation/umbraco/Trees/BaseMediaTree.cs index 5f27e9d535..1efa219c4f 100644 --- a/umbraco/presentation/umbraco/Trees/BaseMediaTree.cs +++ b/umbraco/presentation/umbraco/Trees/BaseMediaTree.cs @@ -137,12 +137,12 @@ function openMedia(id) { xNode.OpenIcon = dd.ContentType.IconUrl; } - base.OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty); + OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty); if (xNode != null) { tree.Add(xNode); } - base.OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty); + OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty); } } diff --git a/umbraco/presentation/umbraco/Trees/ContentRecycleBin.cs b/umbraco/presentation/umbraco/Trees/ContentRecycleBin.cs index 79912b2ed6..221e45c93d 100644 --- a/umbraco/presentation/umbraco/Trees/ContentRecycleBin.cs +++ b/umbraco/presentation/umbraco/Trees/ContentRecycleBin.cs @@ -31,7 +31,24 @@ namespace umbraco.cms.presentation.Trees public class ContentRecycleBin : BaseContentTree { - public ContentRecycleBin(string application) : base(application) { } + public ContentRecycleBin(string application) : base(application) { } + + private string m_treeAlias; + /// + /// Change the tree alias so that it is the same as the content tree + /// + public override string TreeAlias + { + get + { + if (string.IsNullOrEmpty(m_treeAlias)) + { + TreeDefinition treeDef = TreeDefinitionCollection.Instance.FindTree(); + m_treeAlias = (treeDef != null ? treeDef.Tree.Alias : "content"); + } + return m_treeAlias; + } + } protected override void CreateRootNodeActions(ref List actions) { diff --git a/umbraco/presentation/umbraco/Trees/MediaRecycleBin.cs b/umbraco/presentation/umbraco/Trees/MediaRecycleBin.cs index 210e150e53..b756bf5410 100644 --- a/umbraco/presentation/umbraco/Trees/MediaRecycleBin.cs +++ b/umbraco/presentation/umbraco/Trees/MediaRecycleBin.cs @@ -35,6 +35,23 @@ namespace umbraco.cms.presentation.Trees } + private string m_treeAlias; + /// + /// Change the tree alias so that it is the same as the media tree + /// + public override string TreeAlias + { + get + { + if (string.IsNullOrEmpty(m_treeAlias)) + { + TreeDefinition treeDef = TreeDefinitionCollection.Instance.FindTree(); + m_treeAlias = (treeDef != null ? treeDef.Tree.Alias : "media"); + } + return m_treeAlias; + } + } + protected override void CreateRootNodeActions(ref List actions) { actions.Clear(); diff --git a/umbraco/presentation/umbraco/Trees/loadMacros.cs b/umbraco/presentation/umbraco/Trees/loadMacros.cs index 919cb44f92..1ae5e17b43 100644 --- a/umbraco/presentation/umbraco/Trees/loadMacros.cs +++ b/umbraco/presentation/umbraco/Trees/loadMacros.cs @@ -78,12 +78,12 @@ function openMacro(id) { xNode.Action = "javascript:openMacro(" + macros.GetInt("id") + ");"; xNode.Icon = "developerMacro.gif"; xNode.OpenIcon = "developerMacro.gif"; - base.OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty); + OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty); if (xNode != null) { tree.Add(xNode); } - base.OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty); + OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty); } } }