From d977ba932b0f889f6925d7c0b58f862dd3e75b5b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 30 Jul 2013 16:31:25 -0400 Subject: [PATCH] added favorites page to the tv section --- .../UserLibrary/BaseItemsByNameService.cs | 18 ++++++++++++++++++ MediaBrowser.Api/UserLibrary/ItemsService.cs | 16 ++++++++++++++++ MediaBrowser.Model/Querying/ItemFilter.cs | 6 +++++- .../Library/LibraryManager.cs | 2 +- .../Api/DashboardService.cs | 1 + .../MediaBrowser.WebDashboard.csproj | 6 ++++++ 6 files changed, 47 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs index df728ee0d3..0b54541e5e 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 b52696efa9..a8b54f10c3 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 38ca67fa2c..ee6df06260 100644 --- a/MediaBrowser.Model/Querying/ItemFilter.cs +++ b/MediaBrowser.Model/Querying/ItemFilter.cs @@ -41,6 +41,10 @@ namespace MediaBrowser.Model.Querying /// /// The dislikes /// - Dislikes = 9 + Dislikes = 9, + /// + /// The is favorite or likes + /// + IsFavoriteOrLikes = 10, } } diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index c9fb95c863..230cee47f2 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 75ced23029..11e842b2c2 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 e38d470d59..dbe0ba4ee4 100644 --- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj +++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj @@ -291,6 +291,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -378,6 +381,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest