Fix IsPlayed filter and setting BoxSet played/unplayed

This commit is contained in:
Shadowghost
2026-02-21 19:58:00 +01:00
parent 561e78efb4
commit 0f1a6fe4c2
3 changed files with 64 additions and 0 deletions

View File

@@ -194,6 +194,34 @@ namespace MediaBrowser.Controller.Entities.Movies
return true;
}
public override void MarkPlayed(User user, DateTime? datePlayed, bool resetPosition)
{
if (IsLegacyBoxSet)
{
base.MarkPlayed(user, datePlayed, resetPosition);
return;
}
foreach (var item in GetLinkedChildren(user))
{
item.MarkPlayed(user, datePlayed, resetPosition);
}
}
public override void MarkUnplayed(User user)
{
if (IsLegacyBoxSet)
{
base.MarkUnplayed(user);
return;
}
foreach (var item in GetLinkedChildren(user))
{
item.MarkUnplayed(user);
}
}
public override bool IsVisibleStandalone(User user)
{
if (IsLegacyBoxSet)

View File

@@ -539,6 +539,15 @@ namespace MediaBrowser.Controller.Entities
}
}
if (query.IsPlayed.HasValue)
{
userData ??= userDataManager.GetUserData(user, item);
if (item.IsPlayed(user, userData) != query.IsPlayed.Value)
{
return false;
}
}
if (query.IsLocked.HasValue)
{
var val = query.IsLocked.Value;