From ddda30fe23a04e07401bc870ac33213ff8a34c71 Mon Sep 17 00:00:00 2001 From: Shadowghost Date: Fri, 5 Apr 2024 21:11:09 +0200 Subject: [PATCH] Only allow owner and admin to delete playlists --- MediaBrowser.Controller/Entities/BaseItem.cs | 2 +- MediaBrowser.Controller/Playlists/Playlist.cs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index ac9698ec9f..5f9840b1bb 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().ToList(); diff --git a/MediaBrowser.Controller/Playlists/Playlist.cs b/MediaBrowser.Controller/Playlists/Playlist.cs index 747dd9f637..34b34e5780 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)