diff --git a/src/Umbraco.Web/Strategies/NotificationsHandler.cs b/src/Umbraco.Web/Strategies/NotificationsHandler.cs index a01fba3c94..b3549e0faa 100644 --- a/src/Umbraco.Web/Strategies/NotificationsHandler.cs +++ b/src/Umbraco.Web/Strategies/NotificationsHandler.cs @@ -72,11 +72,30 @@ namespace Umbraco.Web.Strategies content => applicationContext.Services.NotificationService.SendNotification( content, ActionUnPublish.Instance, applicationContext)); - + //Send notifications for the rollback action ContentService.RolledBack += (sender, args) => applicationContext.Services.NotificationService.SendNotification( - args.Entity, ActionRollback.Instance, applicationContext - ); + args.Entity, ActionRollback.Instance, applicationContext); + + //Send notifications for the move and restore actions + ContentService.Moved += (sender, args) => + { + // notify about the move for all moved items + foreach(var moveInfo in args.MoveInfoCollection) + { + applicationContext.Services.NotificationService.SendNotification( + moveInfo.Entity, ActionMove.Instance, applicationContext + ); + } + + // for any items being moved from the recycle bin (restored), explicitly notify about that too + foreach(var moveInfo in args.MoveInfoCollection.Where(m => m.OriginalPath.Contains(Constants.System.RecycleBinContentString))) + { + applicationContext.Services.NotificationService.SendNotification( + moveInfo.Entity, ActionRestore.Instance, applicationContext + ); + } + }; } }