diff --git a/src/.vs/config/applicationhost.config b/src/.vs/config/applicationhost.config new file mode 100644 index 000000000..1c688f3fc --- /dev/null +++ b/src/.vs/config/applicationhost.config @@ -0,0 +1,1037 @@ + + + + + + + + +
+
+
+
+
+
+
+
+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Orchard.Web/Modules/Orchard.Autoroute/Migrations.cs b/src/Orchard.Web/Modules/Orchard.Autoroute/Migrations.cs index ec0783942..e702aefd1 100644 --- a/src/Orchard.Web/Modules/Orchard.Autoroute/Migrations.cs +++ b/src/Orchard.Web/Modules/Orchard.Autoroute/Migrations.cs @@ -37,5 +37,14 @@ namespace Orchard.Autoroute { return 3; } + + public int UpdateFrom3() { + + SchemaBuilder.AlterTable("AutoroutePartRecord", table => table + .AddColumn("UseCulturePattern", c => c.WithDefault(false)) + ); + + return 4; + } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Autoroute/Models/AutoroutePart.cs b/src/Orchard.Web/Modules/Orchard.Autoroute/Models/AutoroutePart.cs index 46416af3c..802abf252 100644 --- a/src/Orchard.Web/Modules/Orchard.Autoroute/Models/AutoroutePart.cs +++ b/src/Orchard.Web/Modules/Orchard.Autoroute/Models/AutoroutePart.cs @@ -12,6 +12,10 @@ namespace Orchard.Autoroute.Models { get { return Retrieve(x => x.UseCustomPattern); } set { Store(x => x.UseCustomPattern, value); } } + public bool UseCulturePattern { + get { return Retrieve(x => x.UseCulturePattern); } + set { Store(x => x.UseCulturePattern, value); } + } public string DisplayAlias { get { return Retrieve(x => x.DisplayAlias); } set { Store(x => x.DisplayAlias, value); } diff --git a/src/Orchard.Web/Modules/Orchard.Autoroute/Models/AutoroutePartRecord.cs b/src/Orchard.Web/Modules/Orchard.Autoroute/Models/AutoroutePartRecord.cs index e1e013f07..493e7e4af 100644 --- a/src/Orchard.Web/Modules/Orchard.Autoroute/Models/AutoroutePartRecord.cs +++ b/src/Orchard.Web/Modules/Orchard.Autoroute/Models/AutoroutePartRecord.cs @@ -5,6 +5,8 @@ namespace Orchard.Autoroute.Models { public class AutoroutePartRecord : ContentPartVersionRecord { public virtual bool UseCustomPattern { get; set; } + + public virtual bool UseCulturePattern { get; set; } [StringLength(2048)] public virtual string CustomPattern { get; set; } diff --git a/src/Orchard.Web/Modules/Orchard.Autoroute/Settings/AutorouteSettings.cs b/src/Orchard.Web/Modules/Orchard.Autoroute/Settings/AutorouteSettings.cs index b554ee114..cd7993b81 100644 --- a/src/Orchard.Web/Modules/Orchard.Autoroute/Settings/AutorouteSettings.cs +++ b/src/Orchard.Web/Modules/Orchard.Autoroute/Settings/AutorouteSettings.cs @@ -17,6 +17,7 @@ namespace Orchard.Autoroute.Settings { public AutorouteSettings() { PerItemConfiguration = false; AllowCustomPattern = true; + UseCulturePattern = false; AutomaticAdjustmentOnEdit = false; PatternDefinitions = "[]"; DefaultPatternDefinitions = "[]"; @@ -24,6 +25,7 @@ namespace Orchard.Autoroute.Settings { public bool PerItemConfiguration { get; set; } public bool AllowCustomPattern { get; set; } + public bool UseCulturePattern { get; set; } public bool AutomaticAdjustmentOnEdit { get; set; } public bool? IsDefault { get; set; } public List SiteCultures { get; set; } @@ -91,6 +93,7 @@ namespace Orchard.Autoroute.Settings { public void Build(ContentTypePartDefinitionBuilder builder) { builder.WithSetting("AutorouteSettings.PerItemConfiguration", PerItemConfiguration.ToString(CultureInfo.InvariantCulture)); builder.WithSetting("AutorouteSettings.AllowCustomPattern", AllowCustomPattern.ToString(CultureInfo.InvariantCulture)); + builder.WithSetting("AutorouteSettings.UseCulturePattern", UseCulturePattern.ToString(CultureInfo.InvariantCulture)); builder.WithSetting("AutorouteSettings.AutomaticAdjustmentOnEdit", AutomaticAdjustmentOnEdit.ToString(CultureInfo.InvariantCulture)); builder.WithSetting("AutorouteSettings.PatternDefinitions", PatternDefinitions); builder.WithSetting("AutorouteSettings.DefaultPatternDefinitions", DefaultPatternDefinitions); diff --git a/src/Orchard.Web/Modules/Orchard.Autoroute/Views/DefinitionTemplates/AutorouteSettings.cshtml b/src/Orchard.Web/Modules/Orchard.Autoroute/Views/DefinitionTemplates/AutorouteSettings.cshtml index 3ffc66841..fa48bc71c 100644 --- a/src/Orchard.Web/Modules/Orchard.Autoroute/Views/DefinitionTemplates/AutorouteSettings.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Autoroute/Views/DefinitionTemplates/AutorouteSettings.cshtml @@ -22,6 +22,15 @@ @T("This option will cause the Url to automatically be regenerated when you edit existing content and publish it again, otherwise it will always keep the old route, or you have to perform bulk update in the Autoroute admin.") +@if (Model.SiteCultures.Count > 1) { +
+
+ @Html.CheckBoxFor(m => m.UseCulturePattern) + + @T("Allow to set pattern(s) for each culture. If left unchecked this means it will use the default website culture pattern(s).") +
+
+}

@T("Patterns") :

@@ -30,17 +39,28 @@
    @{ int i = 0; + string cssClass = ""; } @foreach (var culture in Model.SiteCultures) { - var cssClass = i == 0 ? "selected first" : i == Model.SiteCultures.Count - 1 ? "last" : "middle"; -
  • @culture
  • + cssClass = ""; + if (Model.UseCulturePattern) { + cssClass = i == 0 ? "first selected" : i == Model.SiteCultures.Count - 1 ? "last" : "middle"; +
  • @culture
  • + } else { + cssClass = i == 0 ? "first" : i == Model.SiteCultures.Count - 1 ? "last" : "middle"; + if (culture == Model.DefaultSiteCulture) { +
  • @culture
  • + } else { + + } + } i++; }
@foreach (var culture in Model.SiteCultures) { -
+
@@ -67,4 +87,5 @@ } + @Display.TokenHint() diff --git a/src/Orchard.Web/Orchard.Web.csproj b/src/Orchard.Web/Orchard.Web.csproj index 5bd1931aa..85771738c 100644 --- a/src/Orchard.Web/Orchard.Web.csproj +++ b/src/Orchard.Web/Orchard.Web.csproj @@ -225,11 +225,11 @@ - False + True False 30321 /OrchardLocal - http://localhost:30322/OrchardLocal + http://localhost:30322 False False
@T("Default")