diff options
| author | Joshua M. Boniface <joshua@boniface.me> | 2019-07-06 17:48:48 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-06 17:48:48 -0400 |
| commit | 3b49c1bac01d73eb3f3d6620370d266d23026790 (patch) | |
| tree | 3be5cf1a79180c57a5381e26f60d61088a27b49e /MediaBrowser.Api/UserLibrary/ItemsService.cs | |
| parent | ba551b48e1e1c80192e10b1bb340d974c6b6dee2 (diff) | |
| parent | 82f041d050f998d20818efff063b6000dfcbf5d2 (diff) | |
Merge pull request #1515 from jellyfin/release-10.3.z
Backmerge for 10.3.6
Diffstat (limited to 'MediaBrowser.Api/UserLibrary/ItemsService.cs')
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/ItemsService.cs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index f1ae48492..f842230ee 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -224,7 +224,17 @@ namespace MediaBrowser.Api.UserLibrary request.IncludeItemTypes = "Playlist"; } - if (!(item is UserRootFolder) && !user.Policy.EnableAllFolders && !user.Policy.EnabledFolders.Any(i => new Guid(i) == item.Id)) + bool isInEnabledFolder = user.Policy.EnabledFolders.Any(i => new Guid(i) == item.Id); + var collectionFolders = _libraryManager.GetCollectionFolders(item); + foreach (var collectionFolder in collectionFolders) + { + if (user.Policy.EnabledFolders.Contains(collectionFolder.Id.ToString("N"), StringComparer.OrdinalIgnoreCase)) + { + isInEnabledFolder = true; + } + } + + if (!(item is UserRootFolder) && !user.Policy.EnableAllFolders && !isInEnabledFolder) { Logger.LogWarning("{UserName} is not permitted to access Library {ItemName}.", user.Name, item.Name); return new QueryResult<BaseItem> |
