diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-01-11 21:55:52 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-01-11 21:55:52 -0500 |
| commit | 8a2e023e28dd546641571dd24be721397c9ee9e1 (patch) | |
| tree | a8b086e4bf154636393b76481150fc84fc3c21fc /MediaBrowser.Controller/Entities/UserView.cs | |
| parent | ba4ca10ae29a50ed452ed3d05f885b3fa81595e2 (diff) | |
| parent | 355edfa2020d19b0fba6b09da40de4e66395d4b7 (diff) | |
Merge branch 'dev'
Conflicts:
MediaBrowser.Controller/Entities/BaseItem.cs
MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-apiclient/.bower.json
MediaBrowser.WebDashboard/dashboard-ui/bower_components/emby-webcomponents/.bower.json
MediaBrowser.WebDashboard/dashboard-ui/bower_components/iron-icons/.bower.json
MediaBrowser.WebDashboard/dashboard-ui/bower_components/iron-icons/bower.json
MediaBrowser.WebDashboard/dashboard-ui/strings/html/kk.json
MediaBrowser.WebDashboard/dashboard-ui/strings/html/ru.json
MediaBrowser.WebDashboard/dashboard-ui/strings/javascript/kk.json
MediaBrowser.WebDashboard/dashboard-ui/strings/javascript/ru.json
SharedVersion.cs
Diffstat (limited to 'MediaBrowser.Controller/Entities/UserView.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/UserView.cs | 93 |
1 files changed, 73 insertions, 20 deletions
diff --git a/MediaBrowser.Controller/Entities/UserView.cs b/MediaBrowser.Controller/Entities/UserView.cs index 5ee49ae5a..41c19f11d 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 { @@ -16,7 +17,7 @@ namespace MediaBrowser.Controller.Entities public Guid DisplayParentId { get; set; } public Guid? UserId { get; set; } - + public static ITVSeriesManager TVSeriesManager; public static IPlaylistManager PlaylistManager; @@ -24,7 +25,26 @@ namespace MediaBrowser.Controller.Entities { return true; } - + + public override IEnumerable<Guid> GetIdsForAncestorQuery() + { + var list = new List<Guid>(); + + if (DisplayParentId != Guid.Empty) + { + list.Add(DisplayParentId); + } + else if (ParentId != Guid.Empty) + { + list.Add(ParentId); + } + else + { + list.Add(Id); + } + return list; + } + public override Task<QueryResult<BaseItem>> GetItems(InternalItemsQuery query) { var parent = this as Folder; @@ -81,16 +101,11 @@ namespace MediaBrowser.Controller.Entities return GetChildren(user, false); } - public static bool IsExcludedFromGrouping(Folder folder) + public static bool IsUserSpecific(Folder folder) { var standaloneTypes = new List<string> { - CollectionType.Books, - CollectionType.HomeVideos, - CollectionType.Photos, - CollectionType.Playlists, - CollectionType.BoxSets, - CollectionType.MusicVideos + CollectionType.Playlists }; var collectionFolder = folder as ICollectionFolder; @@ -100,25 +115,63 @@ namespace MediaBrowser.Controller.Entities return false; } + var supportsUserSpecific = folder as ISupportsUserSpecificView; + if (supportsUserSpecific != null && supportsUserSpecific.EnableUserSpecificView) + { + return true; + } + return standaloneTypes.Contains(collectionFolder.CollectionType ?? string.Empty); } - public static bool IsUserSpecific(Folder folder) + public static bool IsEligibleForGrouping(Folder folder) { - var standaloneTypes = new List<string> - { - CollectionType.Playlists, - CollectionType.BoxSets + var collectionFolder = folder as ICollectionFolder; + return collectionFolder != null && IsEligibleForGrouping(collectionFolder.CollectionType); + } + + public static bool IsEligibleForGrouping(string viewType) + { + var types = new[] + { + CollectionType.Movies, + CollectionType.TvShows, + string.Empty }; - var collectionFolder = folder as ICollectionFolder; + return types.Contains(viewType ?? string.Empty, StringComparer.OrdinalIgnoreCase); + } - if (collectionFolder == null) - { - return false; - } + public static bool IsEligibleForEnhancedView(string viewType) + { + var types = new[] + { + CollectionType.Movies, + CollectionType.TvShows + }; - return standaloneTypes.Contains(collectionFolder.CollectionType ?? string.Empty); + return types.Contains(viewType ?? string.Empty, StringComparer.OrdinalIgnoreCase); + } + + public static bool EnableOriginalFolder(string viewType) + { + var types = new[] + { + CollectionType.Games, + CollectionType.Books, + CollectionType.MusicVideos, + CollectionType.HomeVideos, + CollectionType.Photos, + CollectionType.Music, + CollectionType.BoxSets + }; + + return types.Contains(viewType ?? string.Empty, StringComparer.OrdinalIgnoreCase); + } + + protected override Task ValidateChildrenInternal(IProgress<double> progress, System.Threading.CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, Providers.MetadataRefreshOptions refreshOptions, Providers.IDirectoryService directoryService) + { + return Task.FromResult(true); } [IgnoreDataMember] |
