aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/UserViewBuilder.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities/UserViewBuilder.cs')
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs73
1 files changed, 50 insertions, 23 deletions
diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
index cee5dadd2..e05b838d0 100644
--- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs
+++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
@@ -577,19 +577,9 @@ namespace MediaBrowser.Controller.Entities
private async Task<QueryResult<BaseItem>> GetBoxsetView(Folder parent, User user, InternalItemsQuery query)
{
- return GetResult(GetMediaFolders(user).SelectMany(i =>
- {
- var hasCollectionType = i as ICollectionFolder;
- Func<BaseItem, bool> filter = b => b is BoxSet;
-
- if (hasCollectionType != null && string.Equals(hasCollectionType.CollectionType, CollectionType.BoxSets, StringComparison.OrdinalIgnoreCase))
- {
- return i.GetChildren(user, true).Where(filter);
- }
-
- return i.GetRecursiveChildren(user, filter);
+ var collections = _collectionManager.GetCollections(user);
- }), parent, query);
+ return GetResult(collections, parent, query);
}
private async Task<QueryResult<BaseItem>> GetPhotosView(Folder queryParent, User user, InternalItemsQuery query)
@@ -1041,12 +1031,12 @@ namespace MediaBrowser.Controller.Entities
return false;
}
- if (request.IsUnidentified.HasValue)
+ if (request.IsYearMismatched.HasValue)
{
return false;
}
- if (request.IsYearMismatched.HasValue)
+ if (request.IsUnidentified.HasValue)
{
return false;
}
@@ -1418,15 +1408,6 @@ namespace MediaBrowser.Controller.Entities
}
}
- if (query.IsUnidentified.HasValue)
- {
- var val = query.IsUnidentified.Value;
- if (item.IsUnidentified != val)
- {
- return false;
- }
- }
-
if (query.IsLocked.HasValue)
{
var val = query.IsLocked.Value;
@@ -1448,6 +1429,15 @@ namespace MediaBrowser.Controller.Entities
}
}
+ if (query.IsUnidentified.HasValue)
+ {
+ var val = query.IsUnidentified.Value;
+ if (item.IsUnidentified != val)
+ {
+ return false;
+ }
+ }
+
if (query.HasImdbId.HasValue)
{
var filterValue = query.HasImdbId.Value;
@@ -1808,6 +1798,13 @@ namespace MediaBrowser.Controller.Entities
private IEnumerable<Folder> GetMediaFolders(User user)
{
+ if (user == null)
+ {
+ return _libraryManager.RootFolder
+ .Children
+ .OfType<Folder>()
+ .Where(i => !UserView.IsExcludedFromGrouping(i));
+ }
return user.RootFolder
.GetChildren(user, true, true)
.OfType<Folder>()
@@ -1816,6 +1813,16 @@ namespace MediaBrowser.Controller.Entities
private IEnumerable<Folder> GetMediaFolders(User user, IEnumerable<string> viewTypes)
{
+ if (user == null)
+ {
+ return GetMediaFolders(null)
+ .Where(i =>
+ {
+ var folder = i as ICollectionFolder;
+
+ return folder != null && viewTypes.Contains(folder.CollectionType ?? string.Empty, StringComparer.OrdinalIgnoreCase);
+ });
+ }
return GetMediaFolders(user)
.Where(i =>
{
@@ -1839,9 +1846,19 @@ namespace MediaBrowser.Controller.Entities
{
if (parent == null || parent is UserView)
{
+ if (user == null)
+ {
+ return GetMediaFolders(null, viewTypes).SelectMany(i => i.GetRecursiveChildren());
+ }
+
return GetMediaFolders(user, viewTypes).SelectMany(i => i.GetRecursiveChildren(user));
}
+ if (user == null)
+ {
+ return parent.GetRecursiveChildren();
+ }
+
return parent.GetRecursiveChildren(user);
}
@@ -1849,9 +1866,19 @@ namespace MediaBrowser.Controller.Entities
{
if (parent == null || parent is UserView)
{
+ if (user == null)
+ {
+ return GetMediaFolders(null, viewTypes).SelectMany(i => i.GetRecursiveChildren(filter));
+ }
+
return GetMediaFolders(user, viewTypes).SelectMany(i => i.GetRecursiveChildren(user, filter));
}
+ if (user == null)
+ {
+ return parent.GetRecursiveChildren(filter);
+ }
+
return parent.GetRecursiveChildren(user, filter);
}