diff --git a/src/Umbraco.Web/Trees/ContentTreeController.cs b/src/Umbraco.Web/Trees/ContentTreeController.cs index ef17840edf..9ed37b29d6 100644 --- a/src/Umbraco.Web/Trees/ContentTreeController.cs +++ b/src/Umbraco.Web/Trees/ContentTreeController.cs @@ -177,6 +177,7 @@ namespace Umbraco.Web.Trees if (item.Path.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries).Contains(RecycleBinId.ToInvariantString())) { nodeMenu.DefaultMenuAlias = null; + nodeMenu.Items.Insert(2, new MenuItem(ActionRestore.Instance, ui.Text("actions", ActionRestore.Instance.Alias))); } else { diff --git a/src/umbraco.cms/Actions/ActionRestore.cs b/src/umbraco.cms/Actions/ActionRestore.cs new file mode 100644 index 0000000000..106dc61763 --- /dev/null +++ b/src/umbraco.cms/Actions/ActionRestore.cs @@ -0,0 +1,92 @@ +using System; +using umbraco.interfaces; +using umbraco.BasePages; + +namespace umbraco.BusinessLogic.Actions +{ + /// + /// This action is invoked when the content item is to be restored from the recycle bin + /// + public class ActionRestore : IAction + { + private static readonly ActionRestore m_instance = new ActionRestore(); + + /// + /// A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons. + /// All Umbraco assemblies should use the singleton instantiation (this.Instance) + /// When this applicatio is refactored, this constuctor should be made private. + /// + [Obsolete("Use the singleton instantiation instead of a constructor")] + public ActionRestore() { } + + public static ActionRestore Instance + { + get { return m_instance; } + } + + #region IAction Members + + public char Letter + { + get + { + + return '8'; // TODO: Check if this char is available? Is it still used? + } + } + + public string JsFunctionName + { + get + { + return null; + } + } + + public string JsSource + { + get + { + + return null; + } + } + + public string Alias + { + get + { + + return "restore"; + } + } + + public string Icon + { + get + { + + return "undo"; + } + } + + public bool ShowInNotifier + { + get + { + + return true; + } + } + + public bool CanBePermissionAssigned + { + get + { + + return true; + } + } + #endregion + } +} \ No newline at end of file diff --git a/src/umbraco.cms/umbraco.cms.csproj b/src/umbraco.cms/umbraco.cms.csproj index b50979975e..ea1d27ce09 100644 --- a/src/umbraco.cms/umbraco.cms.csproj +++ b/src/umbraco.cms/umbraco.cms.csproj @@ -211,6 +211,7 @@ Code +