aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShadowghost <Ghost_of_Stone@web.de>2024-04-05 21:11:09 +0200
committerShadowghost <Ghost_of_Stone@web.de>2024-04-05 21:11:09 +0200
commitddda30fe23a04e07401bc870ac33213ff8a34c71 (patch)
treec9eb0f5a1c679cc5da66521cdf2fd696aacff93b
parent9031aae6531f86bdf2857badb94308c8a1e82b47 (diff)
Only allow owner and admin to delete playlists
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs2
-rw-r--r--MediaBrowser.Controller/Playlists/Playlist.cs5
2 files changed, 6 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index ac9698ec9..5f9840b1b 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -833,7 +833,7 @@ namespace MediaBrowser.Controller.Entities
return CanDelete() && IsAuthorizedToDelete(user, allCollectionFolders);
}
- public bool CanDelete(User user)
+ public virtual bool CanDelete(User user)
{
var allCollectionFolders = LibraryManager.GetUserRootFolder().Children.OfType<Folder>().ToList();
diff --git a/MediaBrowser.Controller/Playlists/Playlist.cs b/MediaBrowser.Controller/Playlists/Playlist.cs
index 747dd9f63..34b34e578 100644
--- a/MediaBrowser.Controller/Playlists/Playlist.cs
+++ b/MediaBrowser.Controller/Playlists/Playlist.cs
@@ -255,6 +255,11 @@ namespace MediaBrowser.Controller.Playlists
return shares.Any(s => s.UserId.Equals(userId));
}
+ public override bool CanDelete(User user)
+ {
+ return user.HasPermission(PermissionKind.IsAdministrator) || user.Id.Equals(OwnerUserId);
+ }
+
public override bool IsVisibleStandalone(User user)
{
if (!IsSharedItem)