aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/ICollectionFolder.cs14
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs5
2 files changed, 15 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/Entities/ICollectionFolder.cs b/MediaBrowser.Controller/Entities/ICollectionFolder.cs
index f46d7ed6f..b55ca0a17 100644
--- a/MediaBrowser.Controller/Entities/ICollectionFolder.cs
+++ b/MediaBrowser.Controller/Entities/ICollectionFolder.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Linq;
namespace MediaBrowser.Controller.Entities
{
@@ -14,4 +15,17 @@ namespace MediaBrowser.Controller.Entities
Guid Id { get; }
IEnumerable<string> PhysicalLocations { get; }
}
+
+ public static class CollectionFolderExtensions
+ {
+ public static string GetViewType(this ICollectionFolder folder, User user)
+ {
+ if (user.Configuration.PlainFolderViews.Contains(folder.Id.ToString("N"), StringComparer.OrdinalIgnoreCase))
+ {
+ return null;
+ }
+
+ return folder.CollectionType;
+ }
+ }
}
diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
index 0733b65b1..462f66e20 100644
--- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs
+++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
@@ -264,10 +264,7 @@ namespace MediaBrowser.Controller.Entities
private async Task<QueryResult<BaseItem>> FindPlaylists(Folder parent, User user, InternalItemsQuery query)
{
- var collectionFolders = user.RootFolder.GetChildren(user, true).Select(i => i.Id).ToList();
-
- var list = _playlistManager.GetPlaylists(user.Id.ToString("N"))
- .Where(i => i.GetChildren(user, true).Any(media => _libraryManager.GetCollectionFolders(media).Select(c => c.Id).Any(collectionFolders.Contains)));
+ var list = _playlistManager.GetPlaylists(user.Id.ToString("N"));
return GetResult(list, parent, query);
}