aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs18
-rw-r--r--MediaBrowser.Api/UserLibrary/ItemsService.cs16
-rw-r--r--MediaBrowser.Model/Querying/ItemFilter.cs6
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs2
-rw-r--r--MediaBrowser.WebDashboard/Api/DashboardService.cs1
-rw-r--r--MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj6
6 files changed, 47 insertions, 2 deletions
diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
index df728ee0d..0b54541e5 100644
--- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
+++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs
@@ -169,6 +169,24 @@ namespace MediaBrowser.Api.UserLibrary
});
}
+ if (filters.Contains(ItemFilter.IsFavoriteOrLikes))
+ {
+ items = items.Where(i =>
+ {
+ var userdata = i.GetUserItemData(UserDataRepository, user.Id).Result;
+
+ if (userdata == null)
+ {
+ return false;
+ }
+
+ var likes = userdata.Likes ?? false;
+ var favorite = userdata.IsFavorite;
+
+ return likes || favorite;
+ });
+ }
+
if (filters.Contains(ItemFilter.IsFavorite))
{
items = items.Where(i =>
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs
index b52696efa..a8b54f10c 100644
--- a/MediaBrowser.Api/UserLibrary/ItemsService.cs
+++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs
@@ -335,6 +335,22 @@ namespace MediaBrowser.Api.UserLibrary
{
switch (filter)
{
+ case ItemFilter.IsFavoriteOrLikes:
+ return items.Where(item =>
+ {
+ var userdata = repository.GetUserData(user.Id, item.GetUserDataKey());
+
+ if (userdata == null)
+ {
+ return false;
+ }
+
+ var likes = userdata.Likes ?? false;
+ var favorite = userdata.IsFavorite;
+
+ return likes || favorite;
+ });
+
case ItemFilter.Likes:
return items.Where(item =>
{
diff --git a/MediaBrowser.Model/Querying/ItemFilter.cs b/MediaBrowser.Model/Querying/ItemFilter.cs
index 38ca67fa2..ee6df0626 100644
--- a/MediaBrowser.Model/Querying/ItemFilter.cs
+++ b/MediaBrowser.Model/Querying/ItemFilter.cs
@@ -41,6 +41,10 @@ namespace MediaBrowser.Model.Querying
/// <summary>
/// The dislikes
/// </summary>
- Dislikes = 9
+ Dislikes = 9,
+ /// <summary>
+ /// The is favorite or likes
+ /// </summary>
+ IsFavoriteOrLikes = 10,
}
}
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index c9fb95c86..230cee47f 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -850,7 +850,7 @@ namespace MediaBrowser.Server.Implementations.Library
var people = RootFolder.RecursiveChildren
.Where(c => c.People != null)
- .SelectMany(c => c.People.Where(p => includedPersonTypes.Contains(p.Type)))
+ .SelectMany(c => c.People.Where(p => includedPersonTypes.Contains(p.Type, StringComparer.OrdinalIgnoreCase) || includedPersonTypes.Contains(p.Role, StringComparer.OrdinalIgnoreCase)))
.DistinctBy(p => p.Name, StringComparer.OrdinalIgnoreCase)
.ToList();
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs
index 75ced2302..11e842b2c 100644
--- a/MediaBrowser.WebDashboard/Api/DashboardService.cs
+++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs
@@ -454,6 +454,7 @@ namespace MediaBrowser.WebDashboard.Api
"edititempeople.js",
"edititemimages.js",
"edituserpage.js",
+ "favoritetv.js",
"gamesrecommendedpage.js",
"gamesystemspage.js",
"gamespage.js",
diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
index e38d470d5..dbe0ba4ee 100644
--- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
+++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
@@ -291,6 +291,9 @@
<Content Include="dashboard-ui\edititemmetadata.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\favoritetv.html">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\gamegenres.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -378,6 +381,9 @@
<Content Include="dashboard-ui\scripts\edititemmetadata.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <Content Include="dashboard-ui\scripts\favoritetv.js">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </Content>
<Content Include="dashboard-ui\scripts\itemgallery.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>