Merge remote-tracking branch 'origin/netcore/netcore' into netcore/feature/ModelsBuilderEmbedded-migration-roslyn-compiler

This commit is contained in:
Bjarke Berg
2020-09-09 12:38:16 +02:00
6 changed files with 78 additions and 22 deletions

View File

@@ -65,6 +65,40 @@ namespace Umbraco.Core.Configuration
}
public void SaveDisableRedirectUrlTracking(bool disable)
{
var provider = GetJsonConfigurationProvider();
var json = GetJson(provider);
var item = GetDisableRedirectUrlItem(disable.ToString().ToLowerInvariant());
json.Merge(item, new JsonMergeSettings());
SaveJson(provider, json);
}
private JToken GetDisableRedirectUrlItem(string value)
{
JTokenWriter writer = new JTokenWriter();
writer.WriteStartObject();
writer.WritePropertyName("Umbraco");
writer.WriteStartObject();
writer.WritePropertyName("CMS");
writer.WriteStartObject();
writer.WritePropertyName("WebRouting");
writer.WriteStartObject();
writer.WritePropertyName("DisableRedirectUrlTracking");
writer.WriteValue(value);
writer.WriteEndObject();
writer.WriteEndObject();
writer.WriteEndObject();
writer.WriteEndObject();
return writer.Token;
}
private JToken GetConnectionItem(string connectionString, string providerName)
{
JTokenWriter writer = new JTokenWriter();
@@ -135,7 +169,7 @@ namespace Umbraco.Core.Configuration
{
foreach (var provider in configurationRoot.Providers)
{
if(provider is JsonConfigurationProvider jsonConfigurationProvider)
if (provider is JsonConfigurationProvider jsonConfigurationProvider)
{
if (requiredKey is null || provider.TryGet(requiredKey, out _))
{

View File

@@ -40,9 +40,6 @@ namespace Umbraco.Web.Routing
public void Initialize()
{
// don't let the event handlers kick in if Redirect Tracking is turned off in the config
if (_webRoutingSettings.DisableRedirectUrlTracking) return;
ContentService.Publishing += ContentService_Publishing;
ContentService.Published += ContentService_Published;
ContentService.Moving += ContentService_Moving;
@@ -66,6 +63,9 @@ namespace Umbraco.Web.Routing
private void ContentService_Publishing(IContentService sender, PublishEventArgs<IContent> args)
{
// don't let the event handlers kick in if Redirect Tracking is turned off in the config
if (_webRoutingSettings.DisableRedirectUrlTracking) return;
var oldRoutes = GetOldRoutes(args.EventState);
foreach (var entity in args.PublishedEntities)
{
@@ -75,12 +75,18 @@ namespace Umbraco.Web.Routing
private void ContentService_Published(IContentService sender, ContentPublishedEventArgs args)
{
// don't let the event handlers kick in if Redirect Tracking is turned off in the config
if (_webRoutingSettings.DisableRedirectUrlTracking) return;
var oldRoutes = GetOldRoutes(args.EventState);
CreateRedirects(oldRoutes);
}
private void ContentService_Moving(IContentService sender, MoveEventArgs<IContent> args)
{
// don't let the event handlers kick in if Redirect Tracking is turned off in the config
if (_webRoutingSettings.DisableRedirectUrlTracking) return;
var oldRoutes = GetOldRoutes(args.EventState);
foreach (var info in args.MoveInfoCollection)
{
@@ -90,6 +96,9 @@ namespace Umbraco.Web.Routing
private void ContentService_Moved(IContentService sender, MoveEventArgs<IContent> args)
{
// don't let the event handlers kick in if Redirect Tracking is turned off in the config
if (_webRoutingSettings.DisableRedirectUrlTracking) return;
var oldRoutes = GetOldRoutes(args.EventState);
CreateRedirects(oldRoutes);
}