diff options
| author | Cody Robibero <cody@robibe.ro> | 2024-03-25 07:15:24 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-25 07:15:24 -0600 |
| commit | 5437936bb91efa8a38bfcb15a39e29f08148683f (patch) | |
| tree | 4301a90572d0a87f21e0a7c0c161631f70fc90f8 | |
| parent | 775815d09ca4cb96783ecdcda14520f6d12c3385 (diff) | |
Check all tags for allow/block (#11206)
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index cb9a8cad8..ac9698ec9 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1586,18 +1586,24 @@ namespace MediaBrowser.Controller.Entities list.AddRange(parent.Tags); } + foreach (var folder in LibraryManager.GetCollectionFolders(this)) + { + list.AddRange(folder.Tags); + } + return list.Distinct(StringComparer.OrdinalIgnoreCase).ToList(); } private bool IsVisibleViaTags(User user) { - if (user.GetPreference(PreferenceKind.BlockedTags).Any(i => Tags.Contains(i, StringComparison.OrdinalIgnoreCase))) + var allTags = GetInheritedTags(); + if (user.GetPreference(PreferenceKind.BlockedTags).Any(i => allTags.Contains(i, StringComparison.OrdinalIgnoreCase))) { return false; } var allowedTagsPreference = user.GetPreference(PreferenceKind.AllowedTags); - if (allowedTagsPreference.Any() && !allowedTagsPreference.Any(i => Tags.Contains(i, StringComparison.OrdinalIgnoreCase))) + if (allowedTagsPreference.Length != 0 && !allowedTagsPreference.Any(i => allTags.Contains(i, StringComparison.OrdinalIgnoreCase))) { return false; } |
