diff --git a/MediaBrowser.Controller/Channels/IChannelManager.cs b/MediaBrowser.Controller/Channels/IChannelManager.cs
index f5c4ab3733..8d3e0f5962 100644
--- a/MediaBrowser.Controller/Channels/IChannelManager.cs
+++ b/MediaBrowser.Controller/Channels/IChannelManager.cs
@@ -121,10 +121,9 @@ namespace MediaBrowser.Controller.Channels
///
/// Gets the channel folder.
///
- /// The user identifier.
/// The cancellation token.
/// BaseItemDto.
- Task GetInternalChannelFolder(string userId, CancellationToken cancellationToken);
+ Task GetInternalChannelFolder(CancellationToken cancellationToken);
///
/// Gets the channel folder.
diff --git a/MediaBrowser.Controller/Entities/UserView.cs b/MediaBrowser.Controller/Entities/UserView.cs
index ce4de613e5..488e54cc3c 100644
--- a/MediaBrowser.Controller/Entities/UserView.cs
+++ b/MediaBrowser.Controller/Entities/UserView.cs
@@ -14,6 +14,8 @@ namespace MediaBrowser.Controller.Entities
public string ViewType { get; set; }
public Guid ParentId { get; set; }
+ public Guid? UserId { get; set; }
+
public static ITVSeriesManager TVSeriesManager;
public static IPlaylistManager PlaylistManager;
diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
index cbbed856c7..f670176e69 100644
--- a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
+++ b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
@@ -1399,12 +1399,12 @@ namespace MediaBrowser.Server.Implementations.Channels
{
var user = string.IsNullOrEmpty(userId) ? null : _userManager.GetUserById(userId);
- var folder = await GetInternalChannelFolder(userId, cancellationToken).ConfigureAwait(false);
+ var folder = await GetInternalChannelFolder(cancellationToken).ConfigureAwait(false);
return _dtoService.GetBaseItemDto(folder, new DtoOptions(), user);
}
- public async Task GetInternalChannelFolder(string userId, CancellationToken cancellationToken)
+ public async Task GetInternalChannelFolder(CancellationToken cancellationToken)
{
var name = _localization.GetLocalizedString("ViewTypeChannels");
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index 1d2e5e322a..c316aab25e 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -1670,8 +1670,7 @@ namespace MediaBrowser.Server.Implementations.Library
string sortName,
CancellationToken cancellationToken)
{
- var path = Path.Combine(ConfigurationManager.ApplicationPaths.ItemsByNamePath,
- "views");
+ var path = Path.Combine(ConfigurationManager.ApplicationPaths.ItemsByNamePath, "views");
path = Path.Combine(path, _fileSystem.GetValidFilename(viewType));
diff --git a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs
index c32dc0d419..5d753826a2 100644
--- a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs
@@ -141,12 +141,13 @@ namespace MediaBrowser.Server.Implementations.Library
if (user.Configuration.DisplayFoldersView)
{
- list.Add(await GetUserView(new List(), list, CollectionType.Folders, "zz_" + CollectionType.Folders, user, cancellationToken).ConfigureAwait(false));
+ var name = _localizationManager.GetLocalizedString("ViewType" + CollectionType.Folders);
+ list.Add(await _libraryManager.GetNamedView(name, CollectionType.Folders, string.Empty, cancellationToken).ConfigureAwait(false));
}
if (query.IncludeExternalContent)
{
- var channelResult = await _channelManager.GetChannels(new ChannelQuery
+ var channelResult = await _channelManager.GetChannelsInternal(new ChannelQuery
{
UserId = query.UserId
@@ -155,14 +156,14 @@ namespace MediaBrowser.Server.Implementations.Library
var channels = channelResult.Items;
var embeddedChannels = channels
- .Where(i => user.Configuration.DisplayChannelsWithinViews.Contains(i.Id))
+ .Where(i => user.Configuration.DisplayChannelsWithinViews.Contains(i.Id.ToString("N")))
.ToList();
- list.AddRange(embeddedChannels.Select(i => _channelManager.GetChannel(i.Id)));
+ list.AddRange(embeddedChannels);
if (channels.Length > embeddedChannels.Count)
{
- list.Add(await _channelManager.GetInternalChannelFolder(query.UserId, cancellationToken).ConfigureAwait(false));
+ list.Add(await _channelManager.GetInternalChannelFolder(cancellationToken).ConfigureAwait(false));
}
if (_liveTvManager.GetEnabledUsers().Select(i => i.Id.ToString("N")).Contains(query.UserId))
diff --git a/MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs b/MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs
index 7fbd2b26cc..b11a7d1675 100644
--- a/MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs
+++ b/MediaBrowser.Server.Implementations/UserViews/DynamicImageProvider.cs
@@ -72,6 +72,7 @@ namespace MediaBrowser.Server.Implementations.UserViews
var result = await view.GetItems(new InternalItemsQuery
{
+ User = (view.UserId.HasValue ? _userManager.GetUserById(view.UserId.Value) : null),
CollapseBoxSetItems = false,
Recursive = recursive,
ExcludeItemTypes = new[] { "UserView", "CollectionFolder", "Playlist" }