From 357f1aa1661ee6e8acbe0232687b4ee20107e063 Mon Sep 17 00:00:00 2001 From: Matthew Harris Date: Thu, 22 Sep 2016 20:17:42 +0100 Subject: [PATCH 01/14] Fix incorrect title on edit page Fixes #7142 --- .../Modules/Orchard.Blogs/Views/Content-Blog.Edit.cshtml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Blogs/Views/Content-Blog.Edit.cshtml b/src/Orchard.Web/Modules/Orchard.Blogs/Views/Content-Blog.Edit.cshtml index 544b35e4b..c86ae6d7e 100644 --- a/src/Orchard.Web/Modules/Orchard.Blogs/Views/Content-Blog.Edit.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Blogs/Views/Content-Blog.Edit.cshtml @@ -1,7 +1,4 @@ @using Orchard.Mvc.Html; -@{ - Layout.Title = T("New Blog"); -}
@if (Model.Content != null) { @@ -22,4 +19,4 @@
}
- \ No newline at end of file + From 50224d5ebec38db12468b9745eaad44ead841469 Mon Sep 17 00:00:00 2001 From: Matthew Harris Date: Thu, 22 Sep 2016 20:48:21 +0100 Subject: [PATCH 02/14] [Fixes #7129] Boolean.cshtml doesn't have * required support in view (#7133) --- .../Views/EditorTemplates/Fields/Boolean.Edit.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Orchard.Web/Modules/Orchard.Fields/Views/EditorTemplates/Fields/Boolean.Edit.cshtml b/src/Orchard.Web/Modules/Orchard.Fields/Views/EditorTemplates/Fields/Boolean.Edit.cshtml index 9adbae3e6..c039f3e81 100644 --- a/src/Orchard.Web/Modules/Orchard.Fields/Views/EditorTemplates/Fields/Boolean.Edit.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Fields/Views/EditorTemplates/Fields/Boolean.Edit.cshtml @@ -5,7 +5,7 @@ var settings = Model.PartFieldDefinition.Settings.GetModel(); }
- + @switch (settings.SelectionMode) { case SelectionMode.Checkbox: checked="checked" } /> From 84a95e3cb9de874414c158575377dd2a8f6c96d0 Mon Sep 17 00:00:00 2001 From: Matthew Harris Date: Thu, 22 Sep 2016 21:03:46 +0100 Subject: [PATCH 03/14] [Fixes #7125] tokenized css class left behind (#7127) --- .../Orchard.DynamicForms/Drivers/CheckboxElementDriver.cs | 2 +- .../Orchard.DynamicForms/Drivers/EmailFieldElementDriver.cs | 2 +- .../Orchard.DynamicForms/Drivers/HiddenFieldElementDriver.cs | 2 +- .../Orchard.DynamicForms/Drivers/TextAreaElementDriver.cs | 2 +- .../Orchard.DynamicForms/Drivers/TextFieldElementDriver.cs | 2 +- .../Orchard.DynamicForms/Drivers/UrlFieldElementDriver.cs | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/CheckboxElementDriver.cs b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/CheckboxElementDriver.cs index beb915651..232cc7253 100644 --- a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/CheckboxElementDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/CheckboxElementDriver.cs @@ -32,7 +32,7 @@ namespace Orchard.DynamicForms.Drivers { Id: "Value", Name: "Value", Title: "Value", - Classes: new[] { "text", "large", "tokenized" }, + Classes: new[] { "text", "large" }, Description: T("The value of this checkbox."))); return form; diff --git a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/EmailFieldElementDriver.cs b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/EmailFieldElementDriver.cs index 1294aa989..d86b80a35 100644 --- a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/EmailFieldElementDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/EmailFieldElementDriver.cs @@ -31,7 +31,7 @@ namespace Orchard.DynamicForms.Drivers { Id: "Value", Name: "Value", Title: "Value", - Classes: new[] { "text", "medium", "tokenized" }, + Classes: new[] { "text", "medium" }, Description: T("The value of this email field."))); return form; diff --git a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/HiddenFieldElementDriver.cs b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/HiddenFieldElementDriver.cs index a979ad854..1206b6d94 100644 --- a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/HiddenFieldElementDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/HiddenFieldElementDriver.cs @@ -27,7 +27,7 @@ namespace Orchard.DynamicForms.Drivers { Id: "Value", Name: "Value", Title: "Value", - Classes: new[] { "text", "medium", "tokenized" }, + Classes: new[] { "text", "medium" }, Description: T("The value of this hidden field."))); return form; diff --git a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/TextAreaElementDriver.cs b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/TextAreaElementDriver.cs index 16872914e..dedebedae 100644 --- a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/TextAreaElementDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/TextAreaElementDriver.cs @@ -30,7 +30,7 @@ namespace Orchard.DynamicForms.Drivers { Id: "Value", Name: "Value", Title: "Value", - Classes: new[] { "text", "large", "tokenized" }, + Classes: new[] { "text", "large" }, Description: T("The value of this text area.")), _Rows: shape.Textbox( Id: "Rows", diff --git a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/TextFieldElementDriver.cs b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/TextFieldElementDriver.cs index bd851e09f..baece633e 100644 --- a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/TextFieldElementDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/TextFieldElementDriver.cs @@ -31,7 +31,7 @@ namespace Orchard.DynamicForms.Drivers { Id: "Value", Name: "Value", Title: "Value", - Classes: new[] { "text", "medium", "tokenized" }, + Classes: new[] { "text", "medium" }, Description: T("The value of this text field."))); return form; diff --git a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/UrlFieldElementDriver.cs b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/UrlFieldElementDriver.cs index 8307a5d80..c6ddb4950 100644 --- a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/UrlFieldElementDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/UrlFieldElementDriver.cs @@ -31,7 +31,7 @@ namespace Orchard.DynamicForms.Drivers { Id: "Value", Name: "Value", Title: "Value", - Classes: new[] {"text", "medium", "tokenized"}, + Classes: new[] { "text", "medium" }, Description: T("The value of this URL field."))); return form; From bc74aec232aeb330a7e9fa8e8e497b1711345806 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Sat, 24 Sep 2016 11:45:19 +0200 Subject: [PATCH 04/14] Fixed ContentFieldHarvester when NULL Content The content field harvester throws an error when the LayoutEditor is rendered without having a content item as the context (BluePrints, for example). The previous code would fall back to simply enumerating all fields of all parts to make available all content fields as elements. However, the content field elements can't render these fields without having a proper content item as context, so it would fail with an exception. There are scenarios where one might still want to be able to add content field elements on the canvas even when there is no current content item (to create template layouts for example). But to support this, we need to figure out what we want to render if we can;t actually render the content field at design time. Perhaps a simplified representation would suffice in this scenario. To be discussed. Removing the broken feature for now. --- .../Providers/ContentFieldElementHarvester.cs | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Providers/ContentFieldElementHarvester.cs b/src/Orchard.Web/Modules/Orchard.Layouts/Providers/ContentFieldElementHarvester.cs index 57ff7465c..341a5f409 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Providers/ContentFieldElementHarvester.cs +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Providers/ContentFieldElementHarvester.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; @@ -52,20 +52,18 @@ namespace Orchard.Layouts.Providers { } private IEnumerable> GetContentFieldTuples(HarvestElementsContext context) { - var contentTypeDefinition = context.Content != null - ? _contentDefinitionManager.Value.GetTypeDefinition(context.Content.ContentItem.ContentType) - : default(ContentTypeDefinition); - - var parts = contentTypeDefinition != null - ? contentTypeDefinition.Parts.Select(x => x.PartDefinition) - : _contentDefinitionManager.Value.ListPartDefinitions(); + // If there is no content item provided as context, there are no fields made available. + if (context.Content == null) + return Enumerable.Empty>(); + var contentTypeDefinition = _contentDefinitionManager.Value.GetTypeDefinition(context.Content.ContentItem.ContentType); + var parts = contentTypeDefinition.Parts.Select(x => x.PartDefinition); var fields = parts.SelectMany(part => part.Fields.Select(field => Tuple.Create(part, field))); // TODO: Each module should be able to tell which fields are supported as droppable elements. var blackList = new string[0]; - return fields.Where(t => blackList.All(x => t.Item2.FieldDefinition.Name != x)); + return fields.Where(t => blackList.All(x => t.Item2.FieldDefinition.Name != x)).ToList(); } private void Displaying(ElementDisplayingContext context) { @@ -88,4 +86,4 @@ namespace Orchard.Layouts.Providers { context.ElementShape.ContentField = contentFieldShape; } } -} \ No newline at end of file +} From a7c4dfbf7c6daaebab41734c5fb6618a5759f610 Mon Sep 17 00:00:00 2001 From: Matthew Harris Date: Sat, 24 Sep 2016 21:30:55 +0100 Subject: [PATCH 05/14] [Fixes #7153] Typo .buton:active in several css files (#7154) * [Fixes #7153] Typo .buton:active in several css files [Fixes #7153] Typo .buton:active in several css files * [Fixes #7153] Typo .buton:active in several css files [Fixes #7153] Typo .buton:active in several css files * [Fixes #7153] Typo .buton:active in several css files [Fixes #7153] Typo .buton:active in several css files * [Fixes #7153] Typo .buton:active in several css files [Fixes #7153] Typo .buton:active in several css files --- .../Orchard.ImageEditor/Styles/orchard-imageeditor-admin.css | 4 ++-- .../Modules/Orchard.Layouts/Styles/admin-dialog.css | 2 +- src/Orchard.Web/Themes/SafeMode/Styles/site.css | 4 ++-- src/Orchard.Web/Themes/TheAdmin/Styles/site.css | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.ImageEditor/Styles/orchard-imageeditor-admin.css b/src/Orchard.Web/Modules/Orchard.ImageEditor/Styles/orchard-imageeditor-admin.css index fdbca25f6..15f2e0632 100644 --- a/src/Orchard.Web/Modules/Orchard.ImageEditor/Styles/orchard-imageeditor-admin.css +++ b/src/Orchard.Web/Modules/Orchard.ImageEditor/Styles/orchard-imageeditor-admin.css @@ -1,4 +1,4 @@ -/* Reset +/* Reset ***************************************************************/ html, body, div, span, applet, object, iframe, @@ -335,7 +335,7 @@ button:hover, .button:hover, a.button:hover { background: -moz-linear-gradient(top, rgba(110, 127, 69, 1.0), rgba(106, 123, 66, 1.0)); } -button:active, .buton:active, a.button:active { +button:active, .button:active, a.button:active { text-decoration:none; background:#6a7b42; border:1px solid #487328; diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Styles/admin-dialog.css b/src/Orchard.Web/Modules/Orchard.Layouts/Styles/admin-dialog.css index fb974363f..a622ef3b0 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Styles/admin-dialog.css +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Styles/admin-dialog.css @@ -755,7 +755,7 @@ button:hover, .button:hover, a.button:hover { background: -moz-linear-gradient(top, rgba(110, 127, 69, 1.0), rgba(106, 123, 66, 1.0)); } -button:active, .buton:active, a.button:active { +button:active, .button:active, a.button:active { text-decoration:none; background:#6a7b42; border:1px solid #487328; diff --git a/src/Orchard.Web/Themes/SafeMode/Styles/site.css b/src/Orchard.Web/Themes/SafeMode/Styles/site.css index 404673e7c..c39b9af99 100644 --- a/src/Orchard.Web/Themes/SafeMode/Styles/site.css +++ b/src/Orchard.Web/Themes/SafeMode/Styles/site.css @@ -239,7 +239,7 @@ button:hover, .button:hover, a.button:hover { background: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(110, 127, 69, 1.0)), to(rgba(106, 123, 66, 1.0))); background: -moz-linear-gradient(top, rgba(110, 127, 69, 1.0), rgba(106, 123, 66, 1.0)); } -button:active, .buton:active, a.button:active { +button:active, .button:active, a.button:active { text-decoration:none; background:#6a7b42; border:1px solid #487328; @@ -336,4 +336,4 @@ span.message { } .debug.message:before { content:"DEBUG » "; -} \ No newline at end of file +} diff --git a/src/Orchard.Web/Themes/TheAdmin/Styles/site.css b/src/Orchard.Web/Themes/TheAdmin/Styles/site.css index cd7ba4c0d..23f775890 100644 --- a/src/Orchard.Web/Themes/TheAdmin/Styles/site.css +++ b/src/Orchard.Web/Themes/TheAdmin/Styles/site.css @@ -775,7 +775,7 @@ button:hover, .button:hover, a.button:hover { background: -moz-linear-gradient(top, rgba(110, 127, 69, 1.0), rgba(106, 123, 66, 1.0)); } -button:active, .buton:active, a.button:active { +button:active, .button:active, a.button:active { text-decoration:none; background:#6a7b42; border:1px solid #487328; From 8218535d277a1389112fb18e5a7d3e058066edbd Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Wed, 28 Sep 2016 16:07:42 +0200 Subject: [PATCH 06/14] Added CodeRush for Roslyn settings folder to .gitignore. --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 8c1601a0a..c110e2248 100644 --- a/.gitignore +++ b/.gitignore @@ -68,6 +68,9 @@ ipch/ _ReSharper*/ *.[Rr]e[Ss]harper +# CodeRush is a .NET coding add-in +.cr*/ + # TeamCity is a build add-in _TeamCity* From 8ddfb0ed73a1d76b0320e8e12eebba339b9bf1fa Mon Sep 17 00:00:00 2001 From: Matthew Harris Date: Thu, 29 Sep 2016 20:03:49 +0100 Subject: [PATCH 07/14] [Fixes #7151] Orchard.Core - Use CDN setting ui not correct (#7152) [Fixes #7151] Orchard.Core - Use CDN setting ui not correct --- .../EditorTemplates/Parts.Settings.SiteSettingsPart.cshtml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Orchard.Web/Core/Settings/Views/EditorTemplates/Parts.Settings.SiteSettingsPart.cshtml b/src/Orchard.Web/Core/Settings/Views/EditorTemplates/Parts.Settings.SiteSettingsPart.cshtml index b11cb0939..746efc39b 100644 --- a/src/Orchard.Web/Core/Settings/Views/EditorTemplates/Parts.Settings.SiteSettingsPart.cshtml +++ b/src/Orchard.Web/Core/Settings/Views/EditorTemplates/Parts.Settings.SiteSettingsPart.cshtml @@ -63,8 +63,8 @@ @T("Determines whether scripts and stylesheets load in their debuggable or minified form.")
- @Html.LabelFor(m => m.UseCdn, T("Use CDN")) @Html.CheckBoxFor(m => m.UseCdn) + @Html.LabelFor(m => m.UseCdn, T("Use CDN").Text, new { @class = "forcheckbox" }) @T("Determines whether the defined CDN value is used for scripts and stylesheets, or their local version")
@@ -84,4 +84,4 @@ @T("Determines the last element of the database that can be displayed. Leave 0 for unlimited.")
} -
\ No newline at end of file + From e5e84c0e1b2f414ce5724eb885e41b6a63508ccd Mon Sep 17 00:00:00 2001 From: Matthew Harris Date: Thu, 29 Sep 2016 20:18:39 +0100 Subject: [PATCH 08/14] Fields display as "&" instead of "&" in validation error msgs (#7156) Fixes #7111 --- .../Modules/Orchard.Fields/Drivers/DateTimeFieldDriver.cs | 4 ++-- .../Modules/Orchard.Fields/Drivers/LinkFieldDriver.cs | 4 ++-- .../Modules/Orchard.Fields/Drivers/NumericFieldDriver.cs | 6 +++--- .../Drivers/MediaLibraryPickerFieldDriver.cs | 2 +- .../Modules/Orchard.Templates/Drivers/ShapePartDriver.cs | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Fields/Drivers/DateTimeFieldDriver.cs b/src/Orchard.Web/Modules/Orchard.Fields/Drivers/DateTimeFieldDriver.cs index b134a716f..3fc41bd69 100644 --- a/src/Orchard.Web/Modules/Orchard.Fields/Drivers/DateTimeFieldDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.Fields/Drivers/DateTimeFieldDriver.cs @@ -139,7 +139,7 @@ namespace Orchard.Fields.Drivers { value = DateLocalizationServices.ConvertFromLocalizedString(viewModel.Editor.Date, viewModel.Editor.Time, options); } catch { - updater.AddModelError(GetPrefix(field, part), T("{0} could not be parsed as a valid date and time.", field.DisplayName)); + updater.AddModelError(GetPrefix(field, part), T("{0} could not be parsed as a valid date and time.", T(field.DisplayName))); } } @@ -151,7 +151,7 @@ namespace Orchard.Fields.Drivers { } if (settings.Required && (!value.HasValue || (settings.Display != DateTimeFieldDisplays.TimeOnly && value.Value.Date == DateTime.MinValue))) { - updater.AddModelError(GetPrefix(field, part), T("{0} is required.", field.DisplayName)); + updater.AddModelError(GetPrefix(field, part), T("{0} is required.", T(field.DisplayName))); } field.DateTime = value.HasValue ? value.Value : DateTime.MinValue; diff --git a/src/Orchard.Web/Modules/Orchard.Fields/Drivers/LinkFieldDriver.cs b/src/Orchard.Web/Modules/Orchard.Fields/Drivers/LinkFieldDriver.cs index 554dee027..3fa307725 100644 --- a/src/Orchard.Web/Modules/Orchard.Fields/Drivers/LinkFieldDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.Fields/Drivers/LinkFieldDriver.cs @@ -51,13 +51,13 @@ namespace Orchard.Fields.Drivers { var settings = field.PartFieldDefinition.Settings.GetModel(); if (settings.Required && String.IsNullOrWhiteSpace(field.Value)) { - updater.AddModelError(GetPrefix(field, part), T("Url is required for {0}", field.DisplayName)); + updater.AddModelError(GetPrefix(field, part), T("Url is required for {0}", T(field.DisplayName))); } else if (!String.IsNullOrWhiteSpace(field.Value) && !Uri.IsWellFormedUriString(field.Value, UriKind.RelativeOrAbsolute)) { updater.AddModelError(GetPrefix(field, part), T("{0} is an invalid url.", field.Value)); } else if (settings.LinkTextMode == LinkTextMode.Required && String.IsNullOrWhiteSpace(field.Text)) { - updater.AddModelError(GetPrefix(field, part), T("Text is required for {0}.", field.DisplayName)); + updater.AddModelError(GetPrefix(field, part), T("Text is required for {0}.", T(field.DisplayName))); } } diff --git a/src/Orchard.Web/Modules/Orchard.Fields/Drivers/NumericFieldDriver.cs b/src/Orchard.Web/Modules/Orchard.Fields/Drivers/NumericFieldDriver.cs index 583c225e6..651d6ba8f 100644 --- a/src/Orchard.Web/Modules/Orchard.Fields/Drivers/NumericFieldDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.Fields/Drivers/NumericFieldDriver.cs @@ -72,7 +72,7 @@ namespace Orchard.Fields.Drivers { } } else if (!Decimal.TryParse(viewModel.Value, NumberStyles.Any, _cultureInfo.Value, out value)) { - updater.AddModelError(GetPrefix(field, part), T("{0} is an invalid number", field.DisplayName)); + updater.AddModelError(GetPrefix(field, part), T("{0} is an invalid number", T(field.DisplayName))); } else { @@ -89,10 +89,10 @@ namespace Orchard.Fields.Drivers { // checking the number of decimals if (Math.Round(value, settings.Scale) != value) { if (settings.Scale == 0) { - updater.AddModelError(GetPrefix(field, part), T("The field {0} must be an integer", field.DisplayName)); + updater.AddModelError(GetPrefix(field, part), T("The field {0} must be an integer", T(field.DisplayName))); } else { - updater.AddModelError(GetPrefix(field, part), T("Invalid number of digits for {0}, max allowed: {1}", field.DisplayName, settings.Scale)); + updater.AddModelError(GetPrefix(field, part), T("Invalid number of digits for {0}, max allowed: {1}", T(field.DisplayName), settings.Scale)); } } } diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Drivers/MediaLibraryPickerFieldDriver.cs b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Drivers/MediaLibraryPickerFieldDriver.cs index 1d7baa065..e0bc19991 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Drivers/MediaLibraryPickerFieldDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Drivers/MediaLibraryPickerFieldDriver.cs @@ -65,7 +65,7 @@ namespace Orchard.MediaLibrary.Drivers { } if (settings.Required && field.Ids.Length == 0) { - updater.AddModelError("Id", T("The field {0} is mandatory", field.DisplayName)); + updater.AddModelError("Id", T("The field {0} is mandatory", T(field.DisplayName))); } return Editor(part, field, shapeHelper); diff --git a/src/Orchard.Web/Modules/Orchard.Templates/Drivers/ShapePartDriver.cs b/src/Orchard.Web/Modules/Orchard.Templates/Drivers/ShapePartDriver.cs index 986760e0e..4504ef767 100644 --- a/src/Orchard.Web/Modules/Orchard.Templates/Drivers/ShapePartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.Templates/Drivers/ShapePartDriver.cs @@ -81,7 +81,7 @@ namespace Orchard.Templates.Drivers { return true; } - updater.AddModelError("Title", T("{0} names can only contain alphanumerical or underscore (_) characters and have to start with a letter.", part.ContentItem.TypeDefinition.DisplayName)); + updater.AddModelError("Title", T("{0} names can only contain alphanumerical or underscore (_) characters and have to start with a letter.", T(part.ContentItem.TypeDefinition.DisplayName))); return false; } From ec0a0998daa7186e13c6db5d63c27a556647d915 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Thu, 29 Sep 2016 21:34:50 +0200 Subject: [PATCH 09/14] Wrapped owin middleware config (#7161) This wraps owin middle ware configuration within a work context scope. Fixes #6991 --- src/Orchard/Environment/DefaultOrchardShell.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Orchard/Environment/DefaultOrchardShell.cs b/src/Orchard/Environment/DefaultOrchardShell.cs index 41e02abdf..77da6da28 100644 --- a/src/Orchard/Environment/DefaultOrchardShell.cs +++ b/src/Orchard/Environment/DefaultOrchardShell.cs @@ -55,12 +55,14 @@ namespace Orchard.Environment { var appBuilder = new AppBuilder(); appBuilder.Properties["host.AppName"] = _shellSettings.Name; - var orderedMiddlewares = _owinMiddlewareProviders - .SelectMany(p => p.GetOwinMiddlewares()) - .OrderBy(obj => obj.Priority, new FlatPositionComparer()); + using (var scope = _workContextAccessor.CreateWorkContextScope()) { + var orderedMiddlewares = _owinMiddlewareProviders + .SelectMany(p => p.GetOwinMiddlewares()) + .OrderBy(obj => obj.Priority, new FlatPositionComparer()); - foreach (var middleware in orderedMiddlewares) { - middleware.Configure(appBuilder); + foreach (var middleware in orderedMiddlewares) { + middleware.Configure(appBuilder); + } } // Register the Orchard middleware after all others. From a46b86b243effe1e915e74b869e1d23b246defa5 Mon Sep 17 00:00:00 2001 From: Matthew Harris Date: Thu, 29 Sep 2016 20:48:22 +0100 Subject: [PATCH 10/14] Fixes #7120 Hidden Field in Dynamic Forms causes crash (#7123) Fixes #7120 - If a Hidden Field is added to a DynamicForm without a Value set then it will crash the front end because of a null value. --- .../Orchard.DynamicForms/Drivers/HiddenFieldElementDriver.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/HiddenFieldElementDriver.cs b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/HiddenFieldElementDriver.cs index 1206b6d94..62448c847 100644 --- a/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/HiddenFieldElementDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.DynamicForms/Drivers/HiddenFieldElementDriver.cs @@ -36,7 +36,7 @@ namespace Orchard.DynamicForms.Drivers { protected override void OnDisplaying(HiddenField element, ElementDisplayingContext context) { context.ElementShape.ProcessedName = _tokenizer.Replace(element.Name, context.GetTokenData()); - context.ElementShape.ProcessedValue = element.RuntimeValue; + context.ElementShape.ProcessedValue = element.RuntimeValue ?? string.Empty; } } -} \ No newline at end of file +} From ed94ba11e7457d84f701e31876b9625424795bdf Mon Sep 17 00:00:00 2001 From: Matthew Harris Date: Thu, 29 Sep 2016 20:49:21 +0100 Subject: [PATCH 11/14] Customize blog recipe (#7166) Fixes #7115 --- .../Modules/Orchard.Setup/Recipes/blog.recipe.xml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Setup/Recipes/blog.recipe.xml b/src/Orchard.Web/Modules/Orchard.Setup/Recipes/blog.recipe.xml index 1a7bde8fd..49e8befb6 100644 --- a/src/Orchard.Web/Modules/Orchard.Setup/Recipes/blog.recipe.xml +++ b/src/Orchard.Web/Modules/Orchard.Setup/Recipes/blog.recipe.xml @@ -11,13 +11,14 @@ true - @@ -55,9 +56,9 @@ layer create Anonymous /LayerRule:"not authenticated" /Description:"The widgets in this layer are displayed when the user is anonymous" layer create Disabled /LayerRule:"false" /Description:"The widgets in this layer are never displayed" layer create TheHomepage /LayerRule:"url '~/'" /Description:"The widgets in this layer are displayed on the home page" - widget create HtmlWidget /Title:"First Leader Aside" /Zone:"TripelFirst" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget1" /UseLoremIpsumText:true - widget create HtmlWidget /Title:"Second Leader Aside" /Zone:"TripelSecond" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget2" /UseLoremIpsumText:true - widget create HtmlWidget /Title:"Third Leader Aside" /Zone:"TripelThird" /Position:"5" /Layer:"TheHomepage" /Identity:"SetupHtmlWidget3" /UseLoremIpsumText:true + widget create RecentBlogPosts /Title:"Recent Blog Posts" /Zone:"AsideSecond" /Position:"5" /Layer:"TheHomepage" /Identity:"RecentBlogPosts1" + widget create BlogArchives /Title:"Blog Archives" /Zone:"AsideSecond" /Position:"6" /Layer:"TheHomepage" /Identity:"BlogArchives1" + widget create TagCloud /Title:"Blog Post Tags" /Zone:"AsideSecond" /Position:"7" /Layer:"TheHomepage" /Identity:"TagCloud1" site setting set baseurl theme activate "The Theme Machine" menu create /MenuName:"Main Menu" @@ -65,4 +66,4 @@ menuitem create /MenuPosition:"0" /MenuText:"Home" /Url:"~/" /MenuName:"Main Menu" widget create MenuWidget /Title:"Main Menu" /RenderTitle:false /Zone:"Navigation" /Position:"1" /Layer:"Default" /Identity:"MenuWidget1" /MenuName:"Main Menu" - + \ No newline at end of file From 37e8696fe0c35f3cc357950e22333068961ee1ee Mon Sep 17 00:00:00 2001 From: Matthew Harris Date: Thu, 29 Sep 2016 20:58:04 +0100 Subject: [PATCH 12/14] [Fixes #7131] Orchard.ContentTypes - Add / Edit Field Issues (#7150) --- .../ViewModels/AddFieldViewModel.cs | 4 --- .../ViewModels/EditFieldNameViewModel.cs | 2 -- .../Views/Admin/AddFieldTo.cshtml | 11 +++++--- .../Views/Admin/Edit.cshtml | 4 ++- .../Views/Admin/EditField.cshtml | 7 +++++- .../Views/EditorTemplates/Field.cshtml | 25 +++++++++++-------- 6 files changed, 31 insertions(+), 22 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/AddFieldViewModel.cs b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/AddFieldViewModel.cs index 4ad6fe51e..4b6217c83 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/AddFieldViewModel.cs +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/AddFieldViewModel.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; using Orchard.ContentManagement.MetaData; namespace Orchard.ContentTypes.ViewModels { @@ -11,19 +10,16 @@ namespace Orchard.ContentTypes.ViewModels { /// /// The technical name of the field /// - [Required] public string Name { get; set; } /// /// The display name of the field /// - [Required] public string DisplayName { get; set; } /// /// The selected field type /// - [Required] public string FieldTypeName { get; set; } /// diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditFieldNameViewModel.cs b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditFieldNameViewModel.cs index db01940c6..fb046ad99 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditFieldNameViewModel.cs +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/ViewModels/EditFieldNameViewModel.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; using Orchard.ContentManagement.MetaData; namespace Orchard.ContentTypes.ViewModels { @@ -12,7 +11,6 @@ namespace Orchard.ContentTypes.ViewModels { /// /// The display name of the field /// - [Required] public string DisplayName { get; set; } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/AddFieldTo.cshtml b/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/AddFieldTo.cshtml index d8a7dee0d..d54b645d3 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/AddFieldTo.cshtml +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/AddFieldTo.cshtml @@ -4,17 +4,19 @@ Style.Require("ContentTypesAdmin"); Layout.Title = T("Add New Field To \"{0}\"", Model.Part.DisplayName).ToString(); + + var returnUrl = Request.QueryString["returnUrl"]; } @using (Html.BeginFormAntiForgeryPost()) { @Html.ValidationSummary()
- + @Html.TextBoxFor(m => m.DisplayName, new {@class = "text medium", autofocus = "autofocus"}) @T("Name of the field as it will be displayed in screens.") - + @Html.TextBoxFor(m => m.Name, new {@class = "text"}) - @T("Technical name of the field.") + @T("Technical name of the field.")
@@ -22,6 +24,9 @@
+ @if (!String.IsNullOrWhiteSpace(returnUrl) && Request.IsLocalUrl(returnUrl)) { + @T("Cancel") + }
} diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/Edit.cshtml b/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/Edit.cshtml index 9751beaa8..bc0b6868a 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/Edit.cshtml +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/Edit.cshtml @@ -1,8 +1,10 @@ +@using Orchard.Utility.Extensions; @model Orchard.ContentTypes.ViewModels.EditTypeViewModel @{ Style.Require("ContentTypesAdmin"); Script.Require("jQuery"); Layout.Title = T("Edit Content Type - {0}", Html.Raw(Model.DisplayName)).Text; + var returnUrl = ViewContext.RequestContext.HttpContext.Request.ToUrlString(); }
@@ -27,7 +29,7 @@

@T("Fields")

- @Html.ActionLink(T("Add Field").Text, "AddFieldTo", new { area = "Orchard.ContentTypes", id = Model.Name }, new { @class = "button" }) + @Html.ActionLink(T("Add Field").Text, "AddFieldTo", new { area = "Orchard.ContentTypes", id = Model.Name, returnUrl }, new { @class = "button" })
@Html.EditorFor(m => m.Fields, "Fields", "")

@T("Parts")

diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/EditField.cshtml b/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/EditField.cshtml index 7ea22ac44..1ecb517d4 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/EditField.cshtml +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/Admin/EditField.cshtml @@ -4,12 +4,14 @@ Style.Require("ContentTypesAdmin"); Layout.Title = T("Edit Field \"{0}\"", Html.Raw(Model.DisplayName)).ToString(); + + var returnUrl = Request.QueryString["returnUrl"]; } @using (Html.BeginFormAntiForgeryPost()) { @Html.ValidationSummary()
- + @Html.TextBoxFor(m => m.DisplayName, new {@class = "text medium", autofocus = "autofocus"}) @T("Name of the field as it will be displayed in screens.") @@ -17,5 +19,8 @@
+ @if (!String.IsNullOrWhiteSpace(returnUrl) && Request.IsLocalUrl(returnUrl)) { + @T("Cancel") + }
} diff --git a/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/EditorTemplates/Field.cshtml b/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/EditorTemplates/Field.cshtml index 1313e5143..db780c845 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/EditorTemplates/Field.cshtml +++ b/src/Orchard.Web/Modules/Orchard.ContentTypes/Views/EditorTemplates/Field.cshtml @@ -1,13 +1,16 @@ @using Orchard.Utility.Extensions @model Orchard.ContentTypes.ViewModels.EditPartFieldViewModel -
-

@Model.DisplayName (@Model.FieldDefinition.Name.CamelFriendly())

-
- @Html.ActionLink(T("Edit").Text, "EditField", new { area = "Orchard.ContentTypes", id = Model.Part.Name, Model.Name }) | - @Html.ActionLink(T("Remove").Text, "RemoveFieldFrom", new { area = "Orchard.ContentTypes", id = Model.Part.Name, Model.Name }, new { itemprop = "RemoveUrl UnsafeUrl" }) -
-
- @{Html.RenderTemplates(Model.Templates);} - @Html.HiddenFor(m => m.Name)@Html.HiddenFor(m => m.FieldDefinition.Name)@Html.HiddenFor(m => m.Index) -
-
\ No newline at end of file +@{ + var returnUrl = ViewContext.RequestContext.HttpContext.Request.ToUrlString(); +} +
+

@Model.DisplayName (@Model.FieldDefinition.Name.CamelFriendly())

+
+ @Html.ActionLink(T("Edit").Text, "EditField", new { area = "Orchard.ContentTypes", id = Model.Part.Name, Model.Name, returnUrl }) | + @Html.ActionLink(T("Remove").Text, "RemoveFieldFrom", new { area = "Orchard.ContentTypes", id = Model.Part.Name, Model.Name }, new { itemprop = "RemoveUrl UnsafeUrl" }) +
+
+ @{Html.RenderTemplates(Model.Templates);} + @Html.HiddenFor(m => m.Name)@Html.HiddenFor(m => m.FieldDefinition.Name)@Html.HiddenFor(m => m.Index) +
+
\ No newline at end of file From bd195cbb04c29cedc317cb5cddf502611b4d7edf Mon Sep 17 00:00:00 2001 From: Matthew Harris Date: Sat, 1 Oct 2016 16:14:36 +0100 Subject: [PATCH 13/14] [Fixes #7192] Orchard.Tags - Manage Tags Admin Page Not Alpha Sorted (#7198) --- src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs b/src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs index 6808aa377..bd50820bd 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs +++ b/src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs @@ -39,7 +39,7 @@ namespace Orchard.Tags.Services { public Localizer T { get; set; } public IEnumerable GetTags() { - return _tagRepository.Table.ToList(); + return _tagRepository.Table.OrderBy(x => x.TagName).ToList(); } public IEnumerable GetTagsByNameSnippet(string snippet, int maxCount = 10) { From 004f35900dcad153d985a9f55387eafde22d1c35 Mon Sep 17 00:00:00 2001 From: Matthew Harris Date: Sat, 1 Oct 2016 16:57:24 +0100 Subject: [PATCH 14/14] line wrap css and bind title attr Fixes #7208 --- .../Orchard.MediaLibrary/Styles/orchard-medialibrary-admin.css | 2 +- .../Modules/Orchard.MediaLibrary/Views/Admin/Index.cshtml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Styles/orchard-medialibrary-admin.css b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Styles/orchard-medialibrary-admin.css index b7b766dee..913cff385 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Styles/orchard-medialibrary-admin.css +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Styles/orchard-medialibrary-admin.css @@ -345,7 +345,7 @@ -ms-text-overflow: ellipsis; -o-text-overflow: ellipsis; text-overflow: ellipsis; - text-wrap: none; + white-space: nowrap; } .media-library-main-list-overlay .publication-status { diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Admin/Index.cshtml b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Admin/Index.cshtml index bb3f7c63e..0b16a8a00 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Admin/Index.cshtml +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Views/Admin/Index.cshtml @@ -42,7 +42,7 @@
-

+