From 4b93f3f493b1230dc1662d58e28c724d67b6a244 Mon Sep 17 00:00:00 2001 From: Chris Payne Date: Tue, 3 Nov 2015 14:44:25 +0000 Subject: [PATCH 1/4] Fires Updating and Updated events when menu items are re-ordered Fixes #6005 --- .../Navigation/Controllers/AdminController.cs | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs b/src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs index 35c7c48d0..348a08968 100644 --- a/src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs +++ b/src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs @@ -1,14 +1,10 @@ using System.Collections.Generic; -using System.ComponentModel; using System.Linq; using System.Web.Mvc; -using System.Web.Routing; using Orchard.ContentManagement; -using Orchard.Core.Common.Models; using Orchard.Core.Navigation.Models; using Orchard.Core.Navigation.Services; using Orchard.Core.Navigation.ViewModels; -using Orchard.Core.Title.Models; using Orchard.Localization; using Orchard.Mvc.Extensions; using Orchard.UI; @@ -16,6 +12,7 @@ using Orchard.UI.Notify; using Orchard.UI.Navigation; using Orchard.Utility; using System; +using Orchard.ContentManagement.Handlers; using Orchard.Logging; using Orchard.Exceptions; @@ -24,17 +21,20 @@ namespace Orchard.Core.Navigation.Controllers { public class AdminController : Controller, IUpdateModel { private readonly IMenuService _menuService; private readonly INavigationManager _navigationManager; + private readonly IEnumerable _handlers; private readonly IMenuManager _menuManager; public AdminController( IOrchardServices orchardServices, IMenuService menuService, IMenuManager menuManager, - INavigationManager navigationManager) { + INavigationManager navigationManager, + IEnumerable handlers) { _menuService = menuService; _menuManager = menuManager; _navigationManager = navigationManager; - + _handlers = handlers; + Services = orchardServices; T = NullLocalizer.Instance; Logger = NullLogger.Instance; @@ -95,7 +95,16 @@ namespace Orchard.Core.Navigation.Controllers { if (menuItemEntries != null) { foreach (var menuItemEntry in menuItemEntries) { MenuPart menuPart = _menuService.Get(menuItemEntry.MenuItemId); - menuPart.MenuPosition = menuItemEntry.Position; + + if (menuPart.MenuPosition != menuItemEntry.Position) { + var context = new UpdateContentContext(menuPart.ContentItem); + + _handlers.Invoke(handler => handler.Updating(context), Logger); + + menuPart.MenuPosition = menuItemEntry.Position; + + _handlers.Invoke(handler => handler.Updated(context), Logger); + } } } From 67096961ce159df6b0f1f6c44a06c5f5e1e91cc7 Mon Sep 17 00:00:00 2001 From: mvarblow Date: Wed, 11 Nov 2015 12:19:59 -0500 Subject: [PATCH 2/4] Update CacheItemRecord.cs Fixed database output cache module when using SQL Server database. This resolves the following exception which results from NHibernate trying to truncate the Output field to 8K: NHibernate.AssertionFailure: null id in Orchard.OutputCache.Models.CacheItemRecord entry (don't flush the Session after an exception occurs) --- .../Modules/Orchard.OutputCache/Models/CacheItemRecord.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.OutputCache/Models/CacheItemRecord.cs b/src/Orchard.Web/Modules/Orchard.OutputCache/Models/CacheItemRecord.cs index 6cd345e8b..245964026 100644 --- a/src/Orchard.Web/Modules/Orchard.OutputCache/Models/CacheItemRecord.cs +++ b/src/Orchard.Web/Modules/Orchard.OutputCache/Models/CacheItemRecord.cs @@ -12,7 +12,7 @@ namespace Orchard.OutputCache.Models { public virtual int GraceTime { get; set; } public virtual DateTime ValidUntilUtc { get; set; } public virtual DateTime StoredUntilUtc { get; set; } - public virtual byte[] Output { get; set; } + [StringLengthMax] public virtual byte[] Output { get; set; } public virtual string ContentType { get; set; } [StringLength(2048)] public virtual string QueryString { get; set; } [StringLength(2048)] public virtual string CacheKey { get; set; } @@ -22,4 +22,4 @@ namespace Orchard.OutputCache.Models { public virtual int StatusCode { get; set; } [StringLengthMax] public virtual string Tags { get; set; } } -} \ No newline at end of file +} From db8c11d79b42a954d13c3831e86a3ed5decc1fc9 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Mon, 16 Nov 2015 22:08:59 +0100 Subject: [PATCH 3/4] Added tabbed editor UI support to MenuItem types. --- src/Orchard.Web/Core/Navigation/Views/MenuItem.Edit.cshtml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Orchard.Web/Core/Navigation/Views/MenuItem.Edit.cshtml b/src/Orchard.Web/Core/Navigation/Views/MenuItem.Edit.cshtml index ee08a573d..db5e0e31b 100644 --- a/src/Orchard.Web/Core/Navigation/Views/MenuItem.Edit.cshtml +++ b/src/Orchard.Web/Core/Navigation/Views/MenuItem.Edit.cshtml @@ -1,4 +1,9 @@ -
+@using Orchard.Core.Shapes +@{ + var tabs = (IEnumerable)CoreShapes.HarvestAndSortTabs(Model.Content); + Display.LocalNavigation(Tabs: tabs); +} +
@Display(Model.Content)
From b32fc1b7ba3ed0ea956818844d95899ed12b206f Mon Sep 17 00:00:00 2001 From: Lombiq Date: Thu, 19 Nov 2015 13:58:47 +0100 Subject: [PATCH 4/4] Adding proper end of line handling when cloning from Mercurial --- .hgeol | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .hgeol diff --git a/.hgeol b/.hgeol new file mode 100644 index 000000000..1fcc0aa28 --- /dev/null +++ b/.hgeol @@ -0,0 +1,2 @@ +[patterns] +** = native \ No newline at end of file