aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2020-04-07 19:10:34 +0200
committerJoshua M. Boniface <joshua@boniface.me>2020-04-12 15:49:32 -0400
commitee47a75f9ffd72b1de889fbd26661fef02c0782f (patch)
tree067bef5b5c61bfcda96ef097bd7c7cf4bc736a2c
parent66e7e8bcd2f4a92f9a5c7d8a932d6e0678018e77 (diff)
Merge pull request #2721 from PrplHaz4/patch-2
Separate Channels permissions from All Libraries (cherry picked from commit 3a98ad82554a6911990a89abd95332ee132462de) Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
-rw-r--r--MediaBrowser.Api/UserLibrary/ItemsService.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs
index c7b505171..22e4eea0b 100644
--- a/MediaBrowser.Api/UserLibrary/ItemsService.cs
+++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs
@@ -213,7 +213,10 @@ namespace MediaBrowser.Api.UserLibrary
request.IncludeItemTypes = "Playlist";
}
- bool isInEnabledFolder = user.Policy.EnabledFolders.Any(i => new Guid(i) == item.Id);
+ bool isInEnabledFolder = user.Policy.EnabledFolders.Any(i => new Guid(i) == item.Id)
+ // Assume all folders inside an EnabledChannel are enabled
+ || user.Policy.EnabledChannels.Any(i => new Guid(i) == item.Id);
+
var collectionFolders = _libraryManager.GetCollectionFolders(item);
foreach (var collectionFolder in collectionFolders)
{
@@ -225,7 +228,7 @@ namespace MediaBrowser.Api.UserLibrary
}
}
- if (!(item is UserRootFolder) && !user.Policy.EnableAllFolders && !isInEnabledFolder)
+ if (!(item is UserRootFolder) && !user.Policy.EnableAllFolders && !isInEnabledFolder && !user.Policy.EnableAllChannels)
{
Logger.LogWarning("{UserName} is not permitted to access Library {ItemName}.", user.Name, item.Name);
return new QueryResult<BaseItem>