diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities')
| -rw-r--r-- | MediaBrowser.Controller/Entities/User.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/UserViewBuilder.cs | 4 |
2 files changed, 13 insertions, 3 deletions
diff --git a/MediaBrowser.Controller/Entities/User.cs b/MediaBrowser.Controller/Entities/User.cs index 01a7486b31..5b70ee5f4e 100644 --- a/MediaBrowser.Controller/Entities/User.cs +++ b/MediaBrowser.Controller/Entities/User.cs @@ -283,5 +283,17 @@ namespace MediaBrowser.Controller.Entities return hour >= schedule.StartHour && hour <= schedule.EndHour; } + + public bool IsFolderGrouped(Guid id) + { + var config = Configuration; + + if (config.ExcludeFoldersFromGrouping != null) + { + return !config.ExcludeFoldersFromGrouping.Select(i => new Guid(i)).Contains(id); + } + + return config.GroupedFolders.Select(i => new Guid(i)).Contains(id); + } } } diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index 1672bda926..3e4dff0337 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -1754,12 +1754,10 @@ namespace MediaBrowser.Controller.Entities private IEnumerable<Folder> GetMediaFolders(User user) { - var excludeFolderIds = user.Configuration.ExcludeFoldersFromGrouping.Select(i => new Guid(i)).ToList(); - return user.RootFolder .GetChildren(user, true, true) .OfType<Folder>() - .Where(i => !excludeFolderIds.Contains(i.Id) && !UserView.IsExcludedFromGrouping(i)); + .Where(i => user.IsFolderGrouped(i.Id) && !UserView.IsExcludedFromGrouping(i)); } private IEnumerable<Folder> GetMediaFolders(User user, IEnumerable<string> viewTypes) |
