Skip to content

Commit bbf7477

Browse files
committed
Disable fallback when a new version of an item is created.
When a new language version was being created it was storing fallback values (or empty strings) in the new version.
1 parent b4cf29d commit bbf7477

File tree

1 file changed

+42
-22
lines changed

1 file changed

+42
-22
lines changed

src/Kernel/Data/FallbackValuesProvider.cs

Lines changed: 42 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -440,8 +440,10 @@ private void InitializeEventHandlers(Database database)
440440
dataEngine.CreatedItem += DataEngine_CreatedItem;
441441
dataEngine.AddingFromTemplate += DataEngine_AddingFromTemplate;
442442
dataEngine.AddedFromTemplate += DataEngine_AddedFromTemplate;
443+
dataEngine.AddingVersion += DataEngine_AddingVersion;
444+
dataEngine.AddedVersion += DataEngine_AddedVersion;
443445
}
444-
446+
445447
private void DataEngine_RemoveVersion(object sender, ExecutedEventArgs<RemoveVersionCommand> e)
446448
{
447449
Cache.RemoveItem(e.Command.Item);
@@ -455,23 +457,17 @@ private void DataEngine_DeletedItem(object sender, ExecutedEventArgs<DeleteItemC
455457

456458
private void DataEngine_CopyingItem(object sender, ExecutingEventArgs<CopyItemCommand> e)
457459
{
458-
Debug(">> Copying item '{0}'", e.Command.Source.Name);
459-
Logger.PushIndent();
460-
FieldFallback.Data.FallbackDisabler.Enter(FallbackStates.Disabled);
460+
EnterDisabledState("Copying item '{0}'", e.Command.Source.Name);
461461
}
462462

463463
private void DataEngine_CopiedItem(object sender, ExecutedEventArgs<CopyItemCommand> e)
464464
{
465-
SafelyExitFallbackDisabledState();
466-
Logger.PopIndent();
467-
Debug("<< Copied item '{0}'", e.Command.Source.Name);
465+
ExitDisabledState("Copied item '{0}'", e.Command.Source.Name);
468466
}
469467

470468
private void DataEngine_SavingItem(object sender, ExecutingEventArgs<SaveItemCommand> e)
471469
{
472-
Debug(">> Saving item '{0}'", e.Command.Item.Name);
473-
Logger.PushIndent();
474-
FieldFallback.Data.FallbackDisabler.Enter(FallbackStates.Disabled);
470+
EnterDisabledState("Saving item '{0}'", e.Command.Item.Name);
475471
}
476472

477473
private void DataEngine_SavedItem(object sender, ExecutedEventArgs<SaveItemCommand> e)
@@ -484,37 +480,61 @@ private void DataEngine_SavedItem(object sender, ExecutedEventArgs<SaveItemComma
484480
}
485481
}
486482

487-
SafelyExitFallbackDisabledState();
488-
Logger.PopIndent();
489-
Debug("<< Saved item '{0}'", e.Command.Item.Name);
483+
ExitDisabledState("Saved item '{0}'", e.Command.Item.Name);
490484
}
491485

492486
private void DataEngine_CreatingItem(object sender, ExecutingEventArgs<CreateItemCommand> e)
493487
{
494-
Debug(">> Creating item '{0}'", e.Command.ItemName);
495-
Logger.PushIndent();
496-
FieldFallback.Data.FallbackDisabler.Enter(FallbackStates.Disabled);
488+
EnterDisabledState("Creating item '{0}'", e.Command.ItemName);
497489
}
498490

499491
private void DataEngine_CreatedItem(object sender, ExecutedEventArgs<CreateItemCommand> e)
500492
{
501-
SafelyExitFallbackDisabledState();
502-
Logger.PopIndent();
503-
Debug("<< Created item '{0}'", e.Command.ItemName);
493+
ExitDisabledState("Created item '{0}'", e.Command.ItemName);
504494
}
505495

506496
private void DataEngine_AddingFromTemplate(object sender, ExecutingEventArgs<AddFromTemplateCommand> e)
507497
{
508-
Debug(">> Adding From Template item '{0}'", e.Command.ItemName);
498+
EnterDisabledState("Adding From Template item '{0}'", e.Command.ItemName);
499+
}
500+
501+
private void DataEngine_AddedFromTemplate(object sender, ExecutedEventArgs<AddFromTemplateCommand> e)
502+
{
503+
ExitDisabledState("Added From Template item '{0}'", e.Command.ItemName);
504+
}
505+
506+
private void DataEngine_AddingVersion(object sender, ExecutingEventArgs<AddVersionCommand> e)
507+
{
508+
EnterDisabledState("Adding Version of '{0}' ('{1}:{2}')", e.Command.Item.Name, e.Command.Item.Language.Name, e.Command.Item.Version.Number);
509+
}
510+
511+
private void DataEngine_AddedVersion(object sender, ExecutedEventArgs<AddVersionCommand> e)
512+
{
513+
ExitDisabledState("Added Version of item '{0}' ('{1}:{2}')", e.Command.Item.Name, e.Command.Item.Language.Name, e.Command.Item.Version.Number);
514+
}
515+
516+
/// <summary>
517+
/// Disabled FieldFallback and logs the message to the Debug output
518+
/// </summary>
519+
/// <param name="message">The message.</param>
520+
/// <param name="args">The args.</param>
521+
private void EnterDisabledState(string message, params object[] args)
522+
{
523+
Debug(string.Concat(">> ", string.Format(message, args), " [Fallback Disabled]"));
509524
Logger.PushIndent();
510525
FieldFallback.Data.FallbackDisabler.Enter(FallbackStates.Disabled);
511526
}
512527

513-
private void DataEngine_AddedFromTemplate(object sender, ExecutedEventArgs<AddFromTemplateCommand> e)
528+
/// <summary>
529+
/// Re-Enables FieldFallback
530+
/// </summary>
531+
/// <param name="message"></param>
532+
/// <param name="args"></param>
533+
private void ExitDisabledState(string message, params object[] args)
514534
{
515535
SafelyExitFallbackDisabledState();
516536
Logger.PopIndent();
517-
Debug("<< Added From Template item '{0}'", e.Command.ItemName);
537+
Debug(string.Concat("<< ", string.Format(message, args)));
518538
}
519539

520540
/// <summary>

0 commit comments

Comments
 (0)