mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Optimization to support null values on culture instead of needing to set it to an empty string --> cleaner
This commit is contained in:
@@ -53,11 +53,12 @@ namespace Orchard.Autoroute {
|
||||
.AddColumn<bool>("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<AutorouteSettings>();
|
||||
string patternIndex = contentTypePartDefinition.Settings["AutorouteSettings.DefaultPatternIndex"];
|
||||
settings.DefaultPatterns = new List<DefaultPattern> { new DefaultPattern { PatternIndex = patternIndex, Culture = "" } };
|
||||
settings.DefaultPatterns = new List<DefaultPattern> { new DefaultPattern { PatternIndex = patternIndex } };
|
||||
|
||||
ContentDefinitionManager.AlterTypeDefinition(contentTypeDefinition.Name, builder => builder.WithPart("AutoroutePart", settings.Build));
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -65,10 +65,12 @@ 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 != null) {
|
||||
if (defaultPattern.Culture.Split('|').Count() > 1) {
|
||||
_defaultPatterns[i].PatternIndex = defaultPattern.Culture.Split('|').Last();
|
||||
_defaultPatterns[i].Culture = defaultPattern.Culture.Split('|').First();
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
return _defaultPatterns;
|
||||
@@ -80,10 +82,12 @@ 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 != null) {
|
||||
if (defaultPattern.Culture.Split('|').Count() > 1) {
|
||||
_defaultPatterns[i].PatternIndex = defaultPattern.Culture.Split('|').Last();
|
||||
_defaultPatterns[i].Culture = defaultPattern.Culture.Split('|').First();
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
DefaultPatternDefinitions = new DefaultJsonConverter().Serialize(_defaultPatterns.ToArray());
|
||||
|
||||
Reference in New Issue
Block a user