Allow video extras to use owner library options

pull/7767/head
Joe Rogers 2 years ago
parent a2babfd0d3
commit e4040ab812
No known key found for this signature in database
GPG Key ID: 0074AD57B8FDBBB4

@ -1998,39 +1998,36 @@ namespace Emby.Server.Implementations.Library
} }
public List<Folder> GetCollectionFolders(BaseItem item) public List<Folder> GetCollectionFolders(BaseItem item)
{
return GetCollectionFolders(item, GetUserRootFolder().Children.OfType<Folder>());
}
public List<Folder> GetCollectionFolders(BaseItem item, IEnumerable<Folder> allUserRootChildren)
{ {
while (item is not null) while (item is not null)
{ {
var parent = item.GetParent(); var parent = item.GetParent();
if (parent is null || parent is AggregateFolder) if (parent is AggregateFolder)
{ {
break; break;
} }
item = parent; if (parent is null)
} {
var owner = item.GetOwner();
if (item is null)
{
return new List<Folder>();
}
return GetCollectionFoldersInternal(item, GetUserRootFolder().Children.OfType<Folder>());
}
public List<Folder> GetCollectionFolders(BaseItem item, List<Folder> allUserRootChildren) if (owner is null)
{ {
while (item is not null) break;
{ }
var parent = item.GetParent();
if (parent is null || parent is AggregateFolder) item = owner;
}
else
{ {
break; item = parent;
} }
item = parent;
} }
if (item is null) if (item is null)

@ -2451,6 +2451,11 @@ namespace MediaBrowser.Controller.Entities
return Task.FromResult(true); return Task.FromResult(true);
} }
if (video.OwnerId.Equals(default))
{
video.OwnerId = this.Id;
}
return RefreshMetadataForOwnedItem(video, copyTitleMetadata, newOptions, cancellationToken); return RefreshMetadataForOwnedItem(video, copyTitleMetadata, newOptions, cancellationToken);
} }

@ -429,10 +429,16 @@ namespace MediaBrowser.Controller.Library
/// Gets the collection folders. /// Gets the collection folders.
/// </summary> /// </summary>
/// <param name="item">The item.</param> /// <param name="item">The item.</param>
/// <returns>IEnumerable&lt;Folder&gt;.</returns> /// <returns>The folders that contain the item.</returns>
List<Folder> GetCollectionFolders(BaseItem item); List<Folder> GetCollectionFolders(BaseItem item);
List<Folder> GetCollectionFolders(BaseItem item, List<Folder> allUserRootChildren); /// <summary>
/// Gets the collection folders.
/// </summary>
/// <param name="item">The item.</param>
/// <param name="allUserRootChildren">The root folders to consider.</param>
/// <returns>The folders that contain the item.</returns>
List<Folder> GetCollectionFolders(BaseItem item, IEnumerable<Folder> allUserRootChildren);
LibraryOptions GetLibraryOptions(BaseItem item); LibraryOptions GetLibraryOptions(BaseItem item);

Loading…
Cancel
Save