diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2026-02-16 18:50:11 +0100 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2026-02-16 18:50:11 +0100 |
| commit | 0f75518287f79c4c9aa3c009a93bd4ad65e2bab1 (patch) | |
| tree | 1867f231583edfdb9dcd4a837c571d27f8197581 /MediaBrowser.Controller | |
| parent | de32e2eb6fdb86296312213b7254c37fd4a1a6f3 (diff) | |
Enforce permissions on BoxSets
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Movies/BoxSet.cs | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs index c6579285db..2166a58024 100644 --- a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs +++ b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs @@ -158,7 +158,7 @@ namespace MediaBrowser.Controller.Entities.Movies return base.IsVisible(user, skipAllowedTagsCheck); } - if (!IsVisibleViaTags(user, skipAllowedTagsCheck)) + if (!IsParentalAllowed(user, skipAllowedTagsCheck)) { return false; } @@ -176,7 +176,22 @@ namespace MediaBrowser.Controller.Entities.Movies return true; } - return userLibraryFolderIds.Any(i => libraryFolderIds.Contains(i)); + if (!userLibraryFolderIds.Any(i => libraryFolderIds.Contains(i))) + { + return false; + } + + // If user has parental controls, hide the BoxSet when all children are restricted + if (user.MaxParentalRatingScore.HasValue) + { + var linkedItems = GetLinkedChildren(); + if (linkedItems.Count > 0 && linkedItems.All(child => !child.IsParentalAllowed(user, true))) + { + return false; + } + } + + return true; } public override bool IsVisibleStandalone(User user) |
