diff --git a/src/Orchard.Web/Modules/Orchard.Autoroute/Migrations.cs b/src/Orchard.Web/Modules/Orchard.Autoroute/Migrations.cs index 09ff40d68..67d697b0e 100644 --- a/src/Orchard.Web/Modules/Orchard.Autoroute/Migrations.cs +++ b/src/Orchard.Web/Modules/Orchard.Autoroute/Migrations.cs @@ -53,11 +53,12 @@ namespace Orchard.Autoroute { .AddColumn("UseCulturePattern", c => c.WithDefault(false)) ); + //we set the default pattern index from the deprecated setting foreach (ContentTypeDefinition contentTypeDefinition in ContentDefinitionManager.ListTypeDefinitions()) { foreach (ContentTypePartDefinition contentTypePartDefinition in contentTypeDefinition.Parts.Where(x => x.PartDefinition.Name == "AutoroutePart")) { var settings = contentTypePartDefinition.Settings.GetModel(); string patternIndex = contentTypePartDefinition.Settings["AutorouteSettings.DefaultPatternIndex"]; - settings.DefaultPatterns = new List { new DefaultPattern { PatternIndex = patternIndex, Culture = "" } }; + settings.DefaultPatterns = new List { new DefaultPattern { PatternIndex = patternIndex } }; ContentDefinitionManager.AlterTypeDefinition(contentTypeDefinition.Name, builder => builder.WithPart("AutoroutePart", settings.Build)); } diff --git a/src/Orchard.Web/Modules/Orchard.Autoroute/Services/AutorouteService.cs b/src/Orchard.Web/Modules/Orchard.Autoroute/Services/AutorouteService.cs index 1451d5a91..b2aee69bd 100644 --- a/src/Orchard.Web/Modules/Orchard.Autoroute/Services/AutorouteService.cs +++ b/src/Orchard.Web/Modules/Orchard.Autoroute/Services/AutorouteService.cs @@ -141,7 +141,7 @@ namespace Orchard.Autoroute.Services { // return a default pattern if set var patternCultureSearch = settings.Patterns.Any(x => x.Culture == culture) ? culture : null; - var defaultPatternCultureSearch = settings.DefaultPatterns.Any(x => x.Culture == culture) ? culture : ""; + var defaultPatternCultureSearch = settings.DefaultPatterns.Any(x => x.Culture == culture) ? culture : null; if (settings.Patterns.Any()) { if (settings.Patterns.Where(x => x.Culture == patternCultureSearch).ElementAt(Convert.ToInt32(settings.DefaultPatterns.Where(x => x.Culture == defaultPatternCultureSearch).FirstOrDefault().PatternIndex)) != null) { return settings.Patterns.Where(x => x.Culture == patternCultureSearch).ElementAt(Convert.ToInt32(settings.DefaultPatterns.Where(x => x.Culture == defaultPatternCultureSearch).FirstOrDefault().PatternIndex)); diff --git a/src/Orchard.Web/Modules/Orchard.Autoroute/Settings/AutorouteSettings.cs b/src/Orchard.Web/Modules/Orchard.Autoroute/Settings/AutorouteSettings.cs index 51cc23ead..c0f7314e6 100644 --- a/src/Orchard.Web/Modules/Orchard.Autoroute/Settings/AutorouteSettings.cs +++ b/src/Orchard.Web/Modules/Orchard.Autoroute/Settings/AutorouteSettings.cs @@ -65,9 +65,11 @@ namespace Orchard.Autoroute.Settings { //We split the values from the radio button returned values int i = 0; foreach (DefaultPattern defaultPattern in _defaultPatterns) { - if (defaultPattern.Culture.Split('|').Count() > 1) { - _defaultPatterns[i].PatternIndex = defaultPattern.Culture.Split('|').Last(); - _defaultPatterns[i].Culture = defaultPattern.Culture.Split('|').First(); + if (defaultPattern.Culture != null) { + if (defaultPattern.Culture.Split('|').Count() > 1) { + _defaultPatterns[i].PatternIndex = defaultPattern.Culture.Split('|').Last(); + _defaultPatterns[i].Culture = defaultPattern.Culture.Split('|').First(); + } } i++; } @@ -80,9 +82,11 @@ namespace Orchard.Autoroute.Settings { //We split the values from the radio button returned values int i = 0; foreach (DefaultPattern defaultPattern in _defaultPatterns) { - if (defaultPattern.Culture.Split('|').Count() > 1) { - _defaultPatterns[i].PatternIndex = defaultPattern.Culture.Split('|').Last(); - _defaultPatterns[i].Culture = defaultPattern.Culture.Split('|').First(); + if (defaultPattern.Culture != null) { + if (defaultPattern.Culture.Split('|').Count() > 1) { + _defaultPatterns[i].PatternIndex = defaultPattern.Culture.Split('|').Last(); + _defaultPatterns[i].Culture = defaultPattern.Culture.Split('|').First(); + } } i++; }