aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/UserViewBuilder.cs
diff options
context:
space:
mode:
authorTavares André <tavares_and@hotmail.com>2015-04-20 19:07:29 +0200
committerTavares André <tavares_and@hotmail.com>2015-04-20 19:07:29 +0200
commit64b8be1b39f22e9ace12f7d98fe6aa759db74111 (patch)
tree0bcdffda7369d7ab59466c59638d505e0c669089 /MediaBrowser.Controller/Entities/UserViewBuilder.cs
parentc230dab0bd3ce929992b6452b63ebe55e2d906bd (diff)
parent9e0c73ef1946cd49de43f972839af90c465dcfb1 (diff)
Merge branch 'dev' of https://github.com/MediaBrowser/MediaBrowser into dev
Conflicts: MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
Diffstat (limited to 'MediaBrowser.Controller/Entities/UserViewBuilder.cs')
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs33
1 files changed, 24 insertions, 9 deletions
diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
index a6d123fe8..1672bda92 100644
--- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs
+++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
@@ -121,7 +121,6 @@ namespace MediaBrowser.Controller.Entities
}
case CollectionType.Books:
- case CollectionType.Photos:
case CollectionType.HomeVideos:
case CollectionType.MusicVideos:
return GetResult(queryParent.GetChildren(user, true), queryParent, query);
@@ -138,6 +137,9 @@ namespace MediaBrowser.Controller.Entities
case CollectionType.BoxSets:
return await GetBoxsetView(queryParent, user, query).ConfigureAwait(false);
+ case CollectionType.Photos:
+ return await GetPhotosView(queryParent, user, query).ConfigureAwait(false);
+
case CollectionType.TvShows:
return await GetTvView(queryParent, user, query).ConfigureAwait(false);
@@ -247,16 +249,16 @@ namespace MediaBrowser.Controller.Entities
return GetFavoriteSongs(queryParent, user, query);
default:
- {
- if (queryParent is UserView)
- {
- return GetResult(GetMediaFolders(user).SelectMany(i => i.GetChildren(user, true)), queryParent, query);
- }
- else
{
- return GetResult(queryParent.GetChildren(user, true), queryParent, query);
+ if (queryParent is UserView)
+ {
+ return GetResult(GetMediaFolders(user).SelectMany(i => i.GetChildren(user, true)), queryParent, query);
+ }
+ else
+ {
+ return GetResult(queryParent.GetChildren(user, true), queryParent, query);
+ }
}
- }
}
}
@@ -645,6 +647,19 @@ namespace MediaBrowser.Controller.Entities
}), parent, query);
}
+ private async Task<QueryResult<BaseItem>> GetPhotosView(Folder queryParent, User user, InternalItemsQuery query)
+ {
+ if (query.Recursive)
+ {
+ var mediaTypes = new[] { MediaType.Video, MediaType.Photo };
+ var items = GetRecursiveChildren(queryParent, user, new[] { CollectionType.Photos, string.Empty }, i => (i is PhotoAlbum || mediaTypes.Contains(i.MediaType ?? string.Empty, StringComparer.OrdinalIgnoreCase)) && FilterItem(i, query));
+
+ return PostFilterAndSort(items, queryParent, null, query);
+ }
+
+ return GetResult(queryParent.GetChildren(user, true), queryParent, query);
+ }
+
private async Task<QueryResult<BaseItem>> GetTvView(Folder parent, User user, InternalItemsQuery query)
{
if (query.Recursive)