Never revert locked state

This commit is contained in:
Shadowghost 2024-05-20 12:49:26 +02:00
parent 37d7e8f5bf
commit e67eb48540
2 changed files with 8 additions and 12 deletions

View File

@ -1102,7 +1102,12 @@ namespace MediaBrowser.Providers.Manager
if (mergeMetadataSettings)
{
if (replaceData || target.LockedFields.Length == 0)
if (replaceData || !target.IsLocked)
{
target.IsLocked = target.IsLocked || source.IsLocked;
}
if (target.LockedFields.Length == 0)
{
target.LockedFields = source.LockedFields;
}
@ -1111,21 +1116,11 @@ namespace MediaBrowser.Providers.Manager
target.LockedFields = target.LockedFields.Concat(source.LockedFields).Distinct().ToArray();
}
if (replaceData)
{
target.IsLocked = source.IsLocked;
}
if (source.DateCreated != default)
{
target.DateCreated = source.DateCreated;
}
if (replaceData)
{
target.IsLocked = source.IsLocked;
}
if (replaceData || string.IsNullOrEmpty(target.PreferredMetadataCountryCode))
{
target.PreferredMetadataCountryCode = source.PreferredMetadataCountryCode;

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Entities.Movies;
@ -19,7 +20,7 @@ namespace Jellyfin.Providers.Tests.Manager
[InlineData(true, true)]
public void MergeBaseItemData_MergeMetadataSettings_MergesWhenSet(bool mergeMetadataSettings, bool defaultDate)
{
var newLocked = new[] { MetadataField.Cast };
var newLocked = new[] { MetadataField.Genres, MetadataField.Cast };
var newString = "new";
var newDate = DateTime.Now;