From 284576a62acf2f67dcfd64df2ac105580c09e214 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Thu, 14 Oct 2010 14:41:25 -0700 Subject: [PATCH] Fixed http://orchardqa.codeplex.com/workitem/96 - Admin menu not appearing on Admin/Navigation - Dependencies where not resolved correctly --HG-- branch : dev --- .../Navigation/Controllers/AdminController.cs | 2 +- .../Services/MainMenuNavigationProvider.cs | 37 +++++++++++++++++++ .../Navigation/Services/MainMenuService.cs | 25 +------------ src/Orchard.Web/Core/Orchard.Core.csproj | 1 + 4 files changed, 40 insertions(+), 25 deletions(-) create mode 100644 src/Orchard.Web/Core/Navigation/Services/MainMenuNavigationProvider.cs diff --git a/src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs b/src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs index 2f5ceb81f..5df4d64d8 100644 --- a/src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs +++ b/src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs @@ -43,7 +43,7 @@ namespace Orchard.Core.Navigation.Controllers { if (model.MenuItemEntries == null || model.MenuItemEntries.Count() < 1) model.MenuItemEntries = _menuService.Get().Select(CreateMenuItemEntries).OrderBy(menuPartEntry => menuPartEntry.MenuItem.Position, new PositionComparer()).ToList(); - return View("Index", model); + return View(model); } [HttpPost, ActionName("Index")] diff --git a/src/Orchard.Web/Core/Navigation/Services/MainMenuNavigationProvider.cs b/src/Orchard.Web/Core/Navigation/Services/MainMenuNavigationProvider.cs new file mode 100644 index 000000000..32e6e185e --- /dev/null +++ b/src/Orchard.Web/Core/Navigation/Services/MainMenuNavigationProvider.cs @@ -0,0 +1,37 @@ +using JetBrains.Annotations; +using Orchard.ContentManagement; +using Orchard.Core.Navigation.Models; +using Orchard.Localization; +using Orchard.UI.Navigation; + +namespace Orchard.Core.Navigation.Services { + [UsedImplicitly] + public class MainMenuNavigationProvider : INavigationProvider { + private readonly IContentManager _contentManager; + + public MainMenuNavigationProvider(IContentManager contentManager) { + _contentManager = contentManager; + } + + public string MenuName { get { return "main"; } } + + public void GetNavigation(NavigationBuilder builder) { + var menuParts = _contentManager.Query().Where(x => x.OnMainMenu).List(); + foreach (var menuPart in menuParts) { + if (menuPart != null ) { + var part = menuPart; + + if (part.Is()) + builder.Add( + menu => menu.Add(new LocalizedString(part.MenuText), part.MenuPosition, nib => nib.Url(part.As().Url))); + else + builder.Add( + menu => + menu.Add(new LocalizedString(part.MenuText), part.MenuPosition, + nib => + nib.Action(_contentManager.GetItemMetadata(part.ContentItem).DisplayRouteValues))); + } + } + } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Core/Navigation/Services/MainMenuService.cs b/src/Orchard.Web/Core/Navigation/Services/MainMenuService.cs index 7b6a9ecbe..4c780871d 100644 --- a/src/Orchard.Web/Core/Navigation/Services/MainMenuService.cs +++ b/src/Orchard.Web/Core/Navigation/Services/MainMenuService.cs @@ -2,20 +2,16 @@ using JetBrains.Annotations; using Orchard.ContentManagement; using Orchard.Core.Navigation.Models; -using Orchard.Localization; -using Orchard.UI.Navigation; namespace Orchard.Core.Navigation.Services { [UsedImplicitly] - public class MainMenuService : INavigationProvider, IMenuService { + public class MainMenuService : IMenuService { private readonly IContentManager _contentManager; public MainMenuService(IContentManager contentManager) { _contentManager = contentManager; } - public string MenuName { get { return "main"; } } - public IEnumerable Get() { return _contentManager.Query().Where(x => x.OnMainMenu).List(); } @@ -27,24 +23,5 @@ namespace Orchard.Core.Navigation.Services { public void Delete(MenuPart menuPart) { _contentManager.Remove(menuPart.ContentItem); } - - public void GetNavigation(NavigationBuilder builder) { - var menuParts = _contentManager.Query().Where(x => x.OnMainMenu).List(); - foreach (var menuPart in menuParts) { - if (menuPart != null ) { - var part = menuPart; - - if (part.Is()) - builder.Add( - menu => menu.Add(new LocalizedString(part.MenuText), part.MenuPosition, nib => nib.Url(part.As().Url))); - else - builder.Add( - menu => - menu.Add(new LocalizedString(part.MenuText), part.MenuPosition, - nib => - nib.Action(_contentManager.GetItemMetadata(part.ContentItem).DisplayRouteValues))); - } - } - } } } \ No newline at end of file diff --git a/src/Orchard.Web/Core/Orchard.Core.csproj b/src/Orchard.Web/Core/Orchard.Core.csproj index d09542211..b493f2ab8 100644 --- a/src/Orchard.Web/Core/Orchard.Core.csproj +++ b/src/Orchard.Web/Core/Orchard.Core.csproj @@ -107,6 +107,7 @@ +