|
|
|
@ -249,7 +249,7 @@ namespace MediaBrowser.ServerApplication.EntryPoints
|
|
|
|
|
/// <param name="collections">The collections.</param>
|
|
|
|
|
/// <param name="allRecursiveChildren">All recursive children.</param>
|
|
|
|
|
/// <returns>IEnumerable{``0}.</returns>
|
|
|
|
|
private IEnumerable<T> TranslatePhysicalItemToUserLibrary<T>(T item, User user, List<BaseItem> collections, Dictionary<Guid, BaseItem> allRecursiveChildren)
|
|
|
|
|
private IEnumerable<T> TranslatePhysicalItemToUserLibrary<T>(T item, User user, IEnumerable<BaseItem> collections, Dictionary<Guid, BaseItem> allRecursiveChildren)
|
|
|
|
|
where T : BaseItem
|
|
|
|
|
{
|
|
|
|
|
// If the physical root changed, return the user root
|
|
|
|
@ -261,7 +261,24 @@ namespace MediaBrowser.ServerApplication.EntryPoints
|
|
|
|
|
// Need to find what user collection folder this belongs to
|
|
|
|
|
if (item.Parent is AggregateFolder)
|
|
|
|
|
{
|
|
|
|
|
return new T[] { user.RootFolder as T };
|
|
|
|
|
if (item.LocationType == LocationType.FileSystem)
|
|
|
|
|
{
|
|
|
|
|
return collections.Where(i =>
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
return i.LocationType == LocationType.FileSystem &&
|
|
|
|
|
i.ResolveArgs.PhysicalLocations.Contains(item.Path);
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
_logger.ErrorException("Error getting ResolveArgs for {0}", ex, i.Path);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}).Cast<T>();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// If it's a user root, return it only if it's the right one
|
|
|
|
|