diff --git a/src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs b/src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs index f234ae867..5dcab4cd0 100644 --- a/src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs +++ b/src/Orchard.Web/Core/Navigation/Controllers/AdminController.cs @@ -1,21 +1,26 @@ using System.Web.Mvc; using Orchard.Core.Navigation.ViewModels; using Orchard.Localization; +using Orchard.UI.Navigation; namespace Orchard.Core.Navigation.Controllers { [ValidateInput(false)] public class AdminController : Controller { - public IOrchardServices Services { get; private set; } + private readonly IOrchardServices _services; + private readonly INavigationManager _navigationManager; - public AdminController(IOrchardServices services) { - Services = services; + public AdminController(IOrchardServices services, INavigationManager navigationManager) { + _services = services; + _navigationManager = navigationManager; T = NullLocalizer.Instance; } public Localizer T { get; set; } public ActionResult Index() { - return View(new NavigationIndexViewModel()); + var model = new NavigationManagementViewModel {Menu = _navigationManager.BuildMenu("main")}; + + return View(model); } } } diff --git a/src/Orchard.Web/Core/Navigation/Services/MainMenuFilter.cs b/src/Orchard.Web/Core/Navigation/Filters/MainMenuFilter.cs similarity index 90% rename from src/Orchard.Web/Core/Navigation/Services/MainMenuFilter.cs rename to src/Orchard.Web/Core/Navigation/Filters/MainMenuFilter.cs index 0db8155fb..d3d37460f 100644 --- a/src/Orchard.Web/Core/Navigation/Services/MainMenuFilter.cs +++ b/src/Orchard.Web/Core/Navigation/Filters/MainMenuFilter.cs @@ -3,7 +3,7 @@ using Orchard.Mvc.Filters; using Orchard.Mvc.ViewModels; using Orchard.UI.Navigation; -namespace Orchard.Core.Navigation.Services { +namespace Orchard.Core.Navigation.Filters { public class MainMenuFilter : FilterProvider, IResultFilter { private readonly INavigationManager _navigationManager; @@ -20,11 +20,10 @@ namespace Orchard.Core.Navigation.Services { if (baseViewModel == null) return; - baseViewModel.Menu = _navigationManager.BuildMenu("mainmenu"); + baseViewModel.Menu = _navigationManager.BuildMenu("main"); } public void OnResultExecuted(ResultExecutedContext filterContext) { - } } -} +} \ No newline at end of file diff --git a/src/Orchard.Web/Core/Navigation/Services/MainMenu.cs b/src/Orchard.Web/Core/Navigation/Services/MainMenu.cs index bddb22b6f..e04863c6c 100644 --- a/src/Orchard.Web/Core/Navigation/Services/MainMenu.cs +++ b/src/Orchard.Web/Core/Navigation/Services/MainMenu.cs @@ -13,7 +13,7 @@ namespace Orchard.Core.Navigation.Services { _contentManager = contentManager; } - public string MenuName { get { return "mainmenu"; } } + public string MenuName { get { return "main"; } } public void GetNavigation(NavigationBuilder builder) { IEnumerable menuParts = _contentManager.Query().Where(x => x.OnMainMenu).List(); diff --git a/src/Orchard.Web/Core/Navigation/ViewModels/NavigationIndexViewModel.cs b/src/Orchard.Web/Core/Navigation/ViewModels/NavigationManagementViewModel.cs similarity index 55% rename from src/Orchard.Web/Core/Navigation/ViewModels/NavigationIndexViewModel.cs rename to src/Orchard.Web/Core/Navigation/ViewModels/NavigationManagementViewModel.cs index 4bd3d5fa5..aa99a2cda 100644 --- a/src/Orchard.Web/Core/Navigation/ViewModels/NavigationIndexViewModel.cs +++ b/src/Orchard.Web/Core/Navigation/ViewModels/NavigationManagementViewModel.cs @@ -1,6 +1,6 @@ using Orchard.Mvc.ViewModels; namespace Orchard.Core.Navigation.ViewModels { - public class NavigationIndexViewModel : AdminViewModel { + public class NavigationManagementViewModel : AdminViewModel { } } diff --git a/src/Orchard.Web/Core/Navigation/Views/Admin/Index.ascx b/src/Orchard.Web/Core/Navigation/Views/Admin/Index.ascx index 23bab71c7..ed1849ada 100644 --- a/src/Orchard.Web/Core/Navigation/Views/Admin/Index.ascx +++ b/src/Orchard.Web/Core/Navigation/Views/Admin/Index.ascx @@ -1,4 +1,4 @@ -<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %> +<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl" %> <%@ Import Namespace="Orchard.Core.Navigation.ViewModels"%>

<%=Html.TitleForPage(T("Edit Main Menu").ToString())%>

<% using (Html.BeginFormAntiForgeryPost()) { %> @@ -11,15 +11,15 @@ using (Html.BeginFormAntiForgeryPost()) { %> - - <%-- loop over menu items --%> + <% + foreach (var menuItem in Model.Menu) { %> - - - + <%=Html.TextBox("text", menuItem.Text) %> + <%=Html.TextBox("position", menuItem.Position) %> + <%=Html.TextBox("url", menuItem.Url) %> Delete Button - - <%-- end loop --%> + <% + } %> diff --git a/src/Orchard.Web/Core/Orchard.Core.csproj b/src/Orchard.Web/Core/Orchard.Core.csproj index 0d6bf9ecc..1420691a6 100644 --- a/src/Orchard.Web/Core/Orchard.Core.csproj +++ b/src/Orchard.Web/Core/Orchard.Core.csproj @@ -114,8 +114,8 @@ - - + + diff --git a/src/Orchard/Orchard.csproj b/src/Orchard/Orchard.csproj index a55116912..1381fd4d1 100644 --- a/src/Orchard/Orchard.csproj +++ b/src/Orchard/Orchard.csproj @@ -283,6 +283,7 @@ + diff --git a/src/Orchard/UI/Navigation/NavigationManager.cs b/src/Orchard/UI/Navigation/NavigationManager.cs index e1f8f7c14..7a05d5608 100644 --- a/src/Orchard/UI/Navigation/NavigationManager.cs +++ b/src/Orchard/UI/Navigation/NavigationManager.cs @@ -1,16 +1,10 @@ -using System; -using System.Collections; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; using JetBrains.Annotations; using Orchard.Security; using Orchard.Security.Permissions; namespace Orchard.UI.Navigation { - public interface INavigationManager : IDependency { - IEnumerable BuildMenu(string menuName); - } - public class NavigationManager : INavigationManager { private readonly IEnumerable _providers; private readonly IAuthorizationService _authorizationService;