aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/UserViewManager.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-10-11 16:38:13 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-10-11 16:38:13 -0400
commitf3539686bd7ff6c748a0a9441086538081fa8903 (patch)
tree84b6a6e89fddb206d3b8cc503423876e45100fa9 /MediaBrowser.Server.Implementations/Library/UserViewManager.cs
parent2486cffa7171629d09857981b8987727642f6f02 (diff)
add device upload options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/UserViewManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Library/UserViewManager.cs26
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")));
}