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))
|
.AddColumn<bool>("UseCulturePattern", c => c.WithDefault(false))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//we set the default pattern index from the deprecated setting
|
||||||
foreach (ContentTypeDefinition contentTypeDefinition in ContentDefinitionManager.ListTypeDefinitions()) {
|
foreach (ContentTypeDefinition contentTypeDefinition in ContentDefinitionManager.ListTypeDefinitions()) {
|
||||||
foreach (ContentTypePartDefinition contentTypePartDefinition in contentTypeDefinition.Parts.Where(x => x.PartDefinition.Name == "AutoroutePart")) {
|
foreach (ContentTypePartDefinition contentTypePartDefinition in contentTypeDefinition.Parts.Where(x => x.PartDefinition.Name == "AutoroutePart")) {
|
||||||
var settings = contentTypePartDefinition.Settings.GetModel<AutorouteSettings>();
|
var settings = contentTypePartDefinition.Settings.GetModel<AutorouteSettings>();
|
||||||
string patternIndex = contentTypePartDefinition.Settings["AutorouteSettings.DefaultPatternIndex"];
|
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));
|
ContentDefinitionManager.AlterTypeDefinition(contentTypeDefinition.Name, builder => builder.WithPart("AutoroutePart", settings.Build));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ namespace Orchard.Autoroute.Services {
|
|||||||
|
|
||||||
// return a default pattern if set
|
// return a default pattern if set
|
||||||
var patternCultureSearch = settings.Patterns.Any(x => x.Culture == culture) ? culture : null;
|
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.Any()) {
|
||||||
if (settings.Patterns.Where(x => x.Culture == patternCultureSearch).ElementAt(Convert.ToInt32(settings.DefaultPatterns.Where(x => x.Culture == defaultPatternCultureSearch).FirstOrDefault().PatternIndex)) != null) {
|
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));
|
return settings.Patterns.Where(x => x.Culture == patternCultureSearch).ElementAt(Convert.ToInt32(settings.DefaultPatterns.Where(x => x.Culture == defaultPatternCultureSearch).FirstOrDefault().PatternIndex));
|
||||||
|
|||||||
@@ -65,9 +65,11 @@ namespace Orchard.Autoroute.Settings {
|
|||||||
//We split the values from the radio button returned values
|
//We split the values from the radio button returned values
|
||||||
int i = 0;
|
int i = 0;
|
||||||
foreach (DefaultPattern defaultPattern in _defaultPatterns) {
|
foreach (DefaultPattern defaultPattern in _defaultPatterns) {
|
||||||
if (defaultPattern.Culture.Split('|').Count() > 1) {
|
if (defaultPattern.Culture != null) {
|
||||||
_defaultPatterns[i].PatternIndex = defaultPattern.Culture.Split('|').Last();
|
if (defaultPattern.Culture.Split('|').Count() > 1) {
|
||||||
_defaultPatterns[i].Culture = defaultPattern.Culture.Split('|').First();
|
_defaultPatterns[i].PatternIndex = defaultPattern.Culture.Split('|').Last();
|
||||||
|
_defaultPatterns[i].Culture = defaultPattern.Culture.Split('|').First();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
@@ -80,9 +82,11 @@ namespace Orchard.Autoroute.Settings {
|
|||||||
//We split the values from the radio button returned values
|
//We split the values from the radio button returned values
|
||||||
int i = 0;
|
int i = 0;
|
||||||
foreach (DefaultPattern defaultPattern in _defaultPatterns) {
|
foreach (DefaultPattern defaultPattern in _defaultPatterns) {
|
||||||
if (defaultPattern.Culture.Split('|').Count() > 1) {
|
if (defaultPattern.Culture != null) {
|
||||||
_defaultPatterns[i].PatternIndex = defaultPattern.Culture.Split('|').Last();
|
if (defaultPattern.Culture.Split('|').Count() > 1) {
|
||||||
_defaultPatterns[i].Culture = defaultPattern.Culture.Split('|').First();
|
_defaultPatterns[i].PatternIndex = defaultPattern.Culture.Split('|').Last();
|
||||||
|
_defaultPatterns[i].Culture = defaultPattern.Culture.Split('|').First();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user