diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations')
3 files changed, 18 insertions, 4 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/MusicManager.cs b/MediaBrowser.Server.Implementations/Library/MusicManager.cs index df122e166..7ffbab860 100644 --- a/MediaBrowser.Server.Implementations/Library/MusicManager.cs +++ b/MediaBrowser.Server.Implementations/Library/MusicManager.cs @@ -30,8 +30,8 @@ namespace MediaBrowser.Server.Implementations.Library { var artist = _libraryManager.GetArtist(name); - var genres = _libraryManager.RootFolder - .RecursiveChildren + var genres = user.RootFolder + .GetRecursiveChildren(user) .OfType<Audio>() .Where(i => i.HasArtist(name)) .SelectMany(i => i.Genres) diff --git a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs index e3ac2025f..63aa3764c 100644 --- a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs @@ -133,7 +133,19 @@ namespace MediaBrowser.Server.Implementations.Library } } - return _libraryManager.Sort(list, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending).Cast<Folder>(); + var sorted = _libraryManager.Sort(list, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending).ToList(); + + var orders = user.Configuration.OrderedViews.ToList(); + + return list + .OrderBy(i => + { + var index = orders.IndexOf(i.Id.ToString("N")); + + return index == -1 ? int.MaxValue : index; + }) + .ThenBy(sorted.IndexOf) + .ThenBy(i => i.SortName); } public Task<UserView> GetUserView(string type, User user, string sortName, CancellationToken cancellationToken) diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json index 8b392f812..64d6460ee 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/server.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json @@ -1018,5 +1018,7 @@ "LabelAllowLocalAccessWithoutPassword": "Allow local access without a password", "LabelAllowLocalAccessWithoutPasswordHelp": "When enabled, a password will not be required when signing in from within your home network.", "HeaderPassword": "Password", - "HeaderLocalAccess": "Local Access" + "HeaderLocalAccess": "Local Access", + "HeaderViewOrder": "View Order", + "LabelSelectUserViewOrder": "Choose the order your views will be displayed in within Media Browser apps" } |
