diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/UserViewManager.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/UserViewManager.cs | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs index 9f3c95e08..fb14628d8 100644 --- a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs @@ -52,8 +52,6 @@ namespace MediaBrowser.Server.Implementations.Library .OfType<Folder>() .ToList(); - var list = new List<Folder>(); - var excludeFolderIds = user.Configuration.ExcludeFoldersFromGrouping.Select(i => new Guid(i)).ToList(); var standaloneFolders = folders @@ -65,7 +63,21 @@ namespace MediaBrowser.Server.Implementations.Library .OfType<ICollectionFolder>() .ToList(); - list.AddRange(standaloneFolders); + var list = new List<Folder>(); + + if (_config.Configuration.EnableUserSpecificUserViews) + { + foreach (var folder in standaloneFolders) + { + var collectionFolder = folder as ICollectionFolder; + var folderViewType = collectionFolder == null ? null : collectionFolder.CollectionType; + list.Add(await GetUserView(folder.Id, folder.Name, folderViewType, string.Empty, user, cancellationToken).ConfigureAwait(false)); + } + } + else + { + list.AddRange(standaloneFolders); + } if (foldersWithViewTypes.Any(i => string.Equals(i.CollectionType, CollectionType.TvShows, StringComparison.OrdinalIgnoreCase)) || foldersWithViewTypes.Any(i => string.IsNullOrWhiteSpace(i.CollectionType))) @@ -169,6 +181,11 @@ namespace MediaBrowser.Server.Implementations.Library return _libraryManager.GetNamedView(user, name, type, sortName, cancellationToken); } + public Task<UserView> GetUserView(Guid parentId, string name, string type, string sortName, User user, CancellationToken cancellationToken) + { + return _libraryManager.GetNamedView(user, name, parentId.ToString("N"), type, sortName, cancellationToken); + } + public List<Tuple<BaseItem, List<BaseItem>>> GetLatestItems(LatestItemsQuery request) { var user = _userManager.GetUserById(request.UserId); |
