From a1cae3f28670df3d2725b2dcf230fa84c5ef8f99 Mon Sep 17 00:00:00 2001
From: Morten Christensen
Date: Fri, 30 Aug 2013 10:52:58 +0200
Subject: [PATCH] Fixes U4-2731 Document.BeforeMove + Document.AfterMove
Doesn't get fired.
Using the legacy Document and Media classes for the .Move and .Copy calls as they already use the new services under the hood, so shouldn't make any noticeable difference except that the legacy events will also work.
Signed-off-by: Sebastiaan Janssen
---
.../umbraco/dialogs/moveOrCopy.aspx.cs | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/moveOrCopy.aspx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/moveOrCopy.aspx.cs
index ccd6c6481d..86446782fe 100644
--- a/src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/moveOrCopy.aspx.cs
+++ b/src/Umbraco.Web/umbraco.presentation/umbraco/dialogs/moveOrCopy.aspx.cs
@@ -272,11 +272,15 @@ namespace umbraco.dialogs
{
if (CurrentApp == Constants.Applications.Content)
{
- Services.ContentService.Move((IContent)currContent, Request.GetItemAs("copyTo"), getUser().Id);
+ //Backwards comp. change, so old events are fired #U4-2731
+ var doc = new Document(currContent as IContent);
+ doc.Move(Request.GetItemAs("copyTo"));
}
else
{
- Services.MediaService.Move((IMedia)currContent, Request.GetItemAs("copyTo"), getUser().Id);
+ //Backwards comp. change, so old events are fired #U4-2731
+ var media = new umbraco.cms.businesslogic.media.Media(currContent as IMedia);
+ media.Move(Request.GetItemAs("copyTo"));
library.ClearLibraryCacheForMedia(currContent.Id);
}
@@ -290,7 +294,9 @@ namespace umbraco.dialogs
{
//NOTE: We ONLY support Copy on content not media for some reason.
- var newContent = Services.ContentService.Copy((IContent)currContent, Request.GetItemAs("copyTo"), RelateDocuments.Checked, getUser().Id);
+ //Backwards comp. change, so old events are fired #U4-2731
+ var newContent = new Document(currContent as IContent);
+ newContent.Copy(Request.GetItemAs("copyTo"), getUser(), RelateDocuments.Checked);
feedback.Text = ui.Text("moveOrCopy", "copyDone", nodes, getUser()) + "
" + ui.Text("closeThisWindow") + "";
feedback.type = uicontrols.Feedback.feedbacktype.success;