aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs17
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs41
-rw-r--r--MediaBrowser.Controller/Entities/UserView.cs12
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs8
4 files changed, 47 insertions, 31 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index f14e09616..798f1b7bb 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -1154,6 +1154,23 @@ namespace MediaBrowser.Controller.Entities
public int? GetParentalRatingValue()
{
+ var rating = CustomRating;
+
+ if (string.IsNullOrWhiteSpace(rating))
+ {
+ rating = OfficialRating;
+ }
+
+ if (string.IsNullOrWhiteSpace(rating))
+ {
+ return null;
+ }
+
+ return LocalizationManager.GetRatingLevel(rating);
+ }
+
+ public int? GetInheritedParentalRatingValue()
+ {
var rating = CustomRatingForComparison;
if (string.IsNullOrWhiteSpace(rating))
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index e08eda1ac..4b30e845b 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -468,34 +468,25 @@ namespace MediaBrowser.Controller.Entities
{
BaseItem currentChild;
- if (currentChildren.TryGetValue(child.Id, out currentChild))
+ if (currentChildren.TryGetValue(child.Id, out currentChild) && IsValidFromResolver(currentChild, child))
{
- if (IsValidFromResolver(currentChild, child))
+ var currentChildLocationType = currentChild.LocationType;
+ if (currentChildLocationType != LocationType.Remote &&
+ currentChildLocationType != LocationType.Virtual)
{
- var currentChildLocationType = currentChild.LocationType;
- if (currentChildLocationType != LocationType.Remote &&
- currentChildLocationType != LocationType.Virtual)
- {
- currentChild.DateModified = child.DateModified;
- }
-
- await UpdateIsOffline(currentChild, false).ConfigureAwait(false);
- validChildren.Add(currentChild);
- }
- else
- {
- child.SetParent(this);
- newItems.Add(child);
- validChildren.Add(child);
+ currentChild.DateModified = child.DateModified;
}
+
+ await UpdateIsOffline(currentChild, false).ConfigureAwait(false);
+ validChildren.Add(currentChild);
+
+ continue;
}
- else
- {
- // Brand new item - needs to be added
- child.SetParent(this);
- newItems.Add(child);
- validChildren.Add(child);
- }
+
+ // Brand new item - needs to be added
+ child.SetParent(this);
+ newItems.Add(child);
+ validChildren.Add(child);
}
// If any items were added or removed....
@@ -531,6 +522,8 @@ namespace MediaBrowser.Controller.Entities
foreach (var item in actualRemovals)
{
+ Logger.Debug("Removed item: " + item.Path);
+
item.SetParent(null);
item.IsOffline = false;
await LibraryManager.DeleteItem(item, new DeleteOptions { DeleteFileLocation = false }).ConfigureAwait(false);
diff --git a/MediaBrowser.Controller/Entities/UserView.cs b/MediaBrowser.Controller/Entities/UserView.cs
index 76188ce58..4e3b58778 100644
--- a/MediaBrowser.Controller/Entities/UserView.cs
+++ b/MediaBrowser.Controller/Entities/UserView.cs
@@ -6,6 +6,7 @@ using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Threading.Tasks;
+using System.Linq;
namespace MediaBrowser.Controller.Entities
{
@@ -105,7 +106,9 @@ namespace MediaBrowser.Controller.Entities
CollectionType.Photos,
CollectionType.Playlists,
CollectionType.BoxSets,
- CollectionType.MusicVideos
+ CollectionType.MusicVideos,
+ CollectionType.Games,
+ CollectionType.Music
};
var collectionFolder = folder as ICollectionFolder;
@@ -136,6 +139,13 @@ namespace MediaBrowser.Controller.Entities
return standaloneTypes.Contains(collectionFolder.CollectionType ?? string.Empty);
}
+ public static bool IsEligibleForEnhancedView(string viewType)
+ {
+ var types = new[] { CollectionType.Movies, CollectionType.TvShows, CollectionType.Music };
+
+ return types.Contains(viewType ?? string.Empty, StringComparer.OrdinalIgnoreCase);
+ }
+
[IgnoreDataMember]
public override bool SupportsPeople
{
diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
index f5800ce81..ed81e2d73 100644
--- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs
+++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
@@ -120,26 +120,22 @@ namespace MediaBrowser.Controller.Entities
return await GetLiveTvView(queryParent, user, query).ConfigureAwait(false);
}
+ case CollectionType.Photos:
case CollectionType.Books:
case CollectionType.HomeVideos:
+ case CollectionType.Games:
case CollectionType.MusicVideos:
return GetResult(queryParent.GetChildren(user, true), queryParent, query);
case CollectionType.Folders:
return GetResult(user.RootFolder.GetChildren(user, true), queryParent, query);
- case CollectionType.Games:
- return await GetGameView(user, queryParent, query).ConfigureAwait(false);
-
case CollectionType.Playlists:
return await GetPlaylistsView(queryParent, user, query).ConfigureAwait(false);
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);