Vary localization based on content or blueprint
This commit is contained in:
committed by
Sebastiaan Janssen
parent
d433991b61
commit
62e3286c71
@@ -820,11 +820,16 @@ namespace Umbraco.Cms.Web.BackOffice.Controllers
|
||||
contentItem.Variants.Where(x => x.Save).Select(x => x.Culture).ToArray(),
|
||||
defaultCulture);
|
||||
|
||||
bool isBlueprint = contentItem.PersistedContent.Blueprint;
|
||||
|
||||
var contentSavedHeader = isBlueprint ? "editBlueprintSavedHeader" : "editContentSavedHeader";
|
||||
var contentSavedText = isBlueprint ? "editBlueprintSavedText" : "editContentSavedText";
|
||||
|
||||
switch (contentItem.Action)
|
||||
{
|
||||
case ContentSaveAction.Save:
|
||||
case ContentSaveAction.SaveNew:
|
||||
SaveAndNotify(contentItem, saveMethod, variantCount, notifications, globalNotifications, "editContentSavedText", "editVariantSavedText", cultureForInvariantErrors, out wasCancelled);
|
||||
SaveAndNotify(contentItem, saveMethod, variantCount, notifications, globalNotifications, contentSavedHeader, contentSavedText, "editVariantSavedText", cultureForInvariantErrors, out wasCancelled);
|
||||
break;
|
||||
case ContentSaveAction.Schedule:
|
||||
case ContentSaveAction.ScheduleNew:
|
||||
@@ -834,7 +839,8 @@ namespace Umbraco.Cms.Web.BackOffice.Controllers
|
||||
wasCancelled = false;
|
||||
break;
|
||||
}
|
||||
SaveAndNotify(contentItem, saveMethod, variantCount, notifications, globalNotifications, "editContentScheduledSavedText", "editVariantSavedText", cultureForInvariantErrors, out wasCancelled);
|
||||
|
||||
SaveAndNotify(contentItem, saveMethod, variantCount, notifications, globalNotifications, "editContentSavedHeader", "editContentScheduledSavedText", "editVariantSavedText", cultureForInvariantErrors, out wasCancelled);
|
||||
break;
|
||||
|
||||
case ContentSaveAction.SendPublish:
|
||||
@@ -883,7 +889,7 @@ namespace Umbraco.Cms.Web.BackOffice.Controllers
|
||||
if (!await ValidatePublishBranchPermissionsAsync(contentItem))
|
||||
{
|
||||
globalNotifications.AddErrorNotification(
|
||||
_localizedTextService.Localize(null,"publish"),
|
||||
_localizedTextService.Localize(null, "publish"),
|
||||
_localizedTextService.Localize("publish", "invalidPublishBranchPermissions"));
|
||||
wasCancelled = false;
|
||||
break;
|
||||
@@ -900,7 +906,7 @@ namespace Umbraco.Cms.Web.BackOffice.Controllers
|
||||
if (!await ValidatePublishBranchPermissionsAsync(contentItem))
|
||||
{
|
||||
globalNotifications.AddErrorNotification(
|
||||
_localizedTextService.Localize(null,"publish"),
|
||||
_localizedTextService.Localize(null, "publish"),
|
||||
_localizedTextService.Localize("publish", "invalidPublishBranchPermissions"));
|
||||
wasCancelled = false;
|
||||
break;
|
||||
@@ -1041,13 +1047,15 @@ namespace Umbraco.Cms.Web.BackOffice.Controllers
|
||||
/// </remarks>
|
||||
private void SaveAndNotify(ContentItemSave contentItem, Func<IContent, OperationResult> saveMethod, int variantCount,
|
||||
Dictionary<string, SimpleNotificationModel> notifications, SimpleNotificationModel globalNotifications,
|
||||
string invariantSavedLocalizationAlias, string variantSavedLocalizationAlias, string cultureForInvariantErrors,
|
||||
string savedContentHeaderLocalizationAlias, string invariantSavedLocalizationAlias, string variantSavedLocalizationAlias, string cultureForInvariantErrors,
|
||||
out bool wasCancelled)
|
||||
{
|
||||
var saveResult = saveMethod(contentItem.PersistedContent);
|
||||
wasCancelled = saveResult.Success == false && saveResult.Result == OperationResultType.FailedCancelledByEvent;
|
||||
if (saveResult.Success)
|
||||
{
|
||||
bool isBlueprint = contentItem.PersistedContent.Blueprint;
|
||||
|
||||
if (variantCount > 1)
|
||||
{
|
||||
var variantErrors = ModelState.GetVariantsWithErrors(cultureForInvariantErrors);
|
||||
@@ -1061,15 +1069,15 @@ namespace Umbraco.Cms.Web.BackOffice.Controllers
|
||||
var variantName = GetVariantName(culture, segment);
|
||||
|
||||
AddSuccessNotification(notifications, culture, segment,
|
||||
_localizedTextService.Localize("speechBubbles", "editContentSavedHeader"),
|
||||
_localizedTextService.Localize(null,variantSavedLocalizationAlias, new[] { variantName }));
|
||||
_localizedTextService.Localize("speechBubbles", savedContentHeaderLocalizationAlias),
|
||||
_localizedTextService.Localize(null, variantSavedLocalizationAlias, new[] { variantName }));
|
||||
}
|
||||
}
|
||||
else if (ModelState.IsValid)
|
||||
{
|
||||
globalNotifications.AddSuccessNotification(
|
||||
_localizedTextService.Localize("speechBubbles", "editContentSavedHeader"),
|
||||
_localizedTextService.Localize("speechBubbles",invariantSavedLocalizationAlias));
|
||||
_localizedTextService.Localize("speechBubbles", savedContentHeaderLocalizationAlias),
|
||||
_localizedTextService.Localize("speechBubbles", invariantSavedLocalizationAlias));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user