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 (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; target.LockedFields = source.LockedFields;
} }
@ -1111,21 +1116,11 @@ namespace MediaBrowser.Providers.Manager
target.LockedFields = target.LockedFields.Concat(source.LockedFields).Distinct().ToArray(); target.LockedFields = target.LockedFields.Concat(source.LockedFields).Distinct().ToArray();
} }
if (replaceData)
{
target.IsLocked = source.IsLocked;
}
if (source.DateCreated != default) if (source.DateCreated != default)
{ {
target.DateCreated = source.DateCreated; target.DateCreated = source.DateCreated;
} }
if (replaceData)
{
target.IsLocked = source.IsLocked;
}
if (replaceData || string.IsNullOrEmpty(target.PreferredMetadataCountryCode)) if (replaceData || string.IsNullOrEmpty(target.PreferredMetadataCountryCode))
{ {
target.PreferredMetadataCountryCode = source.PreferredMetadataCountryCode; target.PreferredMetadataCountryCode = source.PreferredMetadataCountryCode;

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.Movies;
@ -19,7 +20,7 @@ namespace Jellyfin.Providers.Tests.Manager
[InlineData(true, true)] [InlineData(true, true)]
public void MergeBaseItemData_MergeMetadataSettings_MergesWhenSet(bool mergeMetadataSettings, bool defaultDate) 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 newString = "new";
var newDate = DateTime.Now; var newDate = DateTime.Now;