diff --git a/src/Umbraco.Core/Services/ContentService.cs b/src/Umbraco.Core/Services/ContentService.cs
index ba777ef59e..6e4fd54de5 100644
--- a/src/Umbraco.Core/Services/ContentService.cs
+++ b/src/Umbraco.Core/Services/ContentService.cs
@@ -1741,7 +1741,15 @@ namespace Umbraco.Core.Services
///
/// Empties the Recycle Bin by deleting all that resides in the bin
///
- public void EmptyRecycleBin()
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ [Obsolete("Use EmptyRecycleBin with explicit indication of user ID instead")]
+ public void EmptyRecycleBin() => EmptyRecycleBin(0);
+
+ ///
+ /// Empties the Recycle Bin by deleting all that resides in the bin
+ ///
+ /// Optional Id of the User emptying the Recycle Bin
+ public void EmptyRecycleBin(int userId = 0)
{
using (new WriteLock(Locker))
{
@@ -1771,7 +1779,7 @@ namespace Umbraco.Core.Services
recycleBinEventArgs.RecycleBinEmptiedSuccessfully = success;
uow.Events.Dispatch(EmptiedRecycleBin, this, recycleBinEventArgs);
- Audit(uow, AuditType.Delete, "Empty Content Recycle Bin performed by user", 0, Constants.System.RecycleBinContent);
+ Audit(uow, AuditType.Delete, "Empty Content Recycle Bin performed by user", userId, Constants.System.RecycleBinContent);
uow.Commit();
}
}
diff --git a/src/Umbraco.Core/Services/IContentService.cs b/src/Umbraco.Core/Services/IContentService.cs
index 6d0ca051a1..0587e70548 100644
--- a/src/Umbraco.Core/Services/IContentService.cs
+++ b/src/Umbraco.Core/Services/IContentService.cs
@@ -438,8 +438,16 @@ namespace Umbraco.Core.Services
///
/// Empties the Recycle Bin by deleting all that resides in the bin
///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ [Obsolete("Use EmptyRecycleBin with explicit indication of user ID instead")]
void EmptyRecycleBin();
+ ///
+ /// Empties the Recycle Bin by deleting all that resides in the bin
+ ///
+ /// Optional Id of the User emptying the Recycle Bin
+ void EmptyRecycleBin(int userId = 0);
+
///
/// Rollback an object to a previous version.
/// This will create a new version, which is a copy of all the old data.
diff --git a/src/Umbraco.Web/Editors/ContentController.cs b/src/Umbraco.Web/Editors/ContentController.cs
index 5f3022b2a9..beff2c2615 100644
--- a/src/Umbraco.Web/Editors/ContentController.cs
+++ b/src/Umbraco.Web/Editors/ContentController.cs
@@ -850,7 +850,7 @@ namespace Umbraco.Web.Editors
[EnsureUserPermissionForContent(Constants.System.RecycleBinContent, 'D')]
public HttpResponseMessage EmptyRecycleBin()
{
- Services.ContentService.EmptyRecycleBin();
+ Services.ContentService.EmptyRecycleBin(Security.CurrentUser.Id);
return Request.CreateNotificationSuccessResponse(Services.TextService.Localize("defaultdialogs/recycleBinIsEmpty"));
}