diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-10-11 16:38:13 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-10-11 16:38:13 -0400 |
| commit | f3539686bd7ff6c748a0a9441086538081fa8903 (patch) | |
| tree | 84b6a6e89fddb206d3b8cc503423876e45100fa9 /MediaBrowser.Server.Implementations/Library/UserViewManager.cs | |
| parent | 2486cffa7171629d09857981b8987727642f6f02 (diff) | |
add device upload options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/UserViewManager.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/UserViewManager.cs | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs index 4beb34e4f..b12ae32a8 100644 --- a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs @@ -60,41 +60,45 @@ namespace MediaBrowser.Server.Implementations.Library var standaloneFolders = folders.Where(i => UserView.IsExcludedFromGrouping(i) || excludeFolderIds.Contains(i.Id)).ToList(); - list.AddRange(standaloneFolders); - - var recursiveChildren = folders + var foldersWithViewTypes = folders .Except(standaloneFolders) - .SelectMany(i => i.GetRecursiveChildren(user, false)) + .OfType<ICollectionFolder>() .ToList(); - if (recursiveChildren.OfType<Series>().Any()) + list.AddRange(standaloneFolders); + + if (foldersWithViewTypes.Any(i => string.Equals(i.CollectionType, CollectionType.TvShows, StringComparison.OrdinalIgnoreCase)) || + foldersWithViewTypes.Any(i => string.IsNullOrWhiteSpace(i.CollectionType))) { list.Add(await GetUserView(CollectionType.TvShows, user, string.Empty, cancellationToken).ConfigureAwait(false)); } - if (recursiveChildren.OfType<MusicAlbum>().Any() || - recursiveChildren.OfType<MusicVideo>().Any()) + if (foldersWithViewTypes.Any(i => string.Equals(i.CollectionType, CollectionType.Music, StringComparison.OrdinalIgnoreCase)) || + foldersWithViewTypes.Any(i => string.Equals(i.CollectionType, CollectionType.MusicVideos, StringComparison.OrdinalIgnoreCase))) { list.Add(await GetUserView(CollectionType.Music, user, string.Empty, cancellationToken).ConfigureAwait(false)); } - if (recursiveChildren.OfType<Movie>().Any()) + if (foldersWithViewTypes.Any(i => string.Equals(i.CollectionType, CollectionType.Movies, StringComparison.OrdinalIgnoreCase)) || + foldersWithViewTypes.Any(i => string.IsNullOrWhiteSpace(i.CollectionType))) { list.Add(await GetUserView(CollectionType.Movies, user, string.Empty, cancellationToken).ConfigureAwait(false)); } - if (recursiveChildren.OfType<Game>().Any()) + if (foldersWithViewTypes.Any(i => string.Equals(i.CollectionType, CollectionType.Games, StringComparison.OrdinalIgnoreCase))) { list.Add(await GetUserView(CollectionType.Games, user, string.Empty, cancellationToken).ConfigureAwait(false)); } if (user.Configuration.DisplayCollectionsView && - recursiveChildren.OfType<BoxSet>().Any()) + folders + .Except(standaloneFolders) + .SelectMany(i => i.GetRecursiveChildren(user, false)).OfType<BoxSet>().Any()) { list.Add(await GetUserView(CollectionType.BoxSets, user, string.Empty, cancellationToken).ConfigureAwait(false)); } - if (recursiveChildren.OfType<Playlist>().Any()) + if (foldersWithViewTypes.Any(i => string.Equals(i.CollectionType, CollectionType.Playlists, StringComparison.OrdinalIgnoreCase))) { list.Add(_playlists.GetPlaylistsFolder(user.Id.ToString("N"))); } |
