mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-23 21:13:35 +08:00
Getting the Main Menu item delete hooked up. Needs anti forgery token verification.
--HG-- branch : dev
This commit is contained in:
@@ -97,14 +97,15 @@ namespace Orchard.Core.Navigation.Controllers {
|
|||||||
return RedirectToAction("Index");
|
return RedirectToAction("Index");
|
||||||
}
|
}
|
||||||
|
|
||||||
//[ValidateAntiForgeryTokenOrchard, ActionName("Delete")]
|
//[ValidateAntiForgeryTokenOrchard]
|
||||||
[HttpPost]
|
public ActionResult Delete(int id) {
|
||||||
public ActionResult Delete(int menuItemId)
|
|
||||||
{
|
|
||||||
if (!_services.Authorizer.Authorize(Permissions.ManageMainMenu, T("Couldn't manage the main menu")))
|
if (!_services.Authorizer.Authorize(Permissions.ManageMainMenu, T("Couldn't manage the main menu")))
|
||||||
return new HttpUnauthorizedResult();
|
return new HttpUnauthorizedResult();
|
||||||
|
|
||||||
//todo -> delete
|
MenuPart menuPart = _menuService.Get(id);
|
||||||
|
|
||||||
|
if (menuPart != null)
|
||||||
|
_menuService.Delete(menuPart);
|
||||||
|
|
||||||
return RedirectToAction("Index");
|
return RedirectToAction("Index");
|
||||||
}
|
}
|
||||||
|
@@ -24,6 +24,10 @@ namespace Orchard.Core.Navigation.Services {
|
|||||||
return _contentManager.Get<MenuPart>(menuPartId);
|
return _contentManager.Get<MenuPart>(menuPartId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Delete(MenuPart menuPart) {
|
||||||
|
_contentManager.Remove(menuPart.ContentItem);
|
||||||
|
}
|
||||||
|
|
||||||
public void GetNavigation(NavigationBuilder builder) {
|
public void GetNavigation(NavigationBuilder builder) {
|
||||||
IEnumerable<MenuPart> menuParts = _contentManager.Query<MenuPart, MenuPartRecord>().Where(x => x.OnMainMenu).List();
|
IEnumerable<MenuPart> menuParts = _contentManager.Query<MenuPart, MenuPartRecord>().Where(x => x.OnMainMenu).List();
|
||||||
foreach (var menuPart in menuParts) {
|
foreach (var menuPart in menuParts) {
|
||||||
@@ -47,5 +51,6 @@ namespace Orchard.Core.Navigation.Services {
|
|||||||
public interface IMenuService : IDependency {
|
public interface IMenuService : IDependency {
|
||||||
IEnumerable<MenuPart> Get();
|
IEnumerable<MenuPart> Get();
|
||||||
MenuPart Get(int menuPartId);
|
MenuPart Get(int menuPartId);
|
||||||
|
void Delete(MenuPart menuPart);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -27,7 +27,7 @@ using (Html.BeginFormAntiForgeryPost()) { %>
|
|||||||
<td><input type="text" name="<%=Html.NameOf(m => m.MenuItemEntries[i].MenuItem.Text) %>" value="<%=menuPartEntry.MenuItem.Text %>" /></td>
|
<td><input type="text" name="<%=Html.NameOf(m => m.MenuItemEntries[i].MenuItem.Text) %>" value="<%=menuPartEntry.MenuItem.Text %>" /></td>
|
||||||
<td><input type="text" name="<%=Html.NameOf(m => m.MenuItemEntries[i].MenuItem.Position) %>" value="<%=menuPartEntry.MenuItem.Position %>" /></td>
|
<td><input type="text" name="<%=Html.NameOf(m => m.MenuItemEntries[i].MenuItem.Position) %>" value="<%=menuPartEntry.MenuItem.Position %>" /></td>
|
||||||
<td><input type="text" name="<%=Html.NameOf(m => m.MenuItemEntries[i].MenuItem.Url) %>" value="<%=menuPartEntry.MenuItem.Url %>" /></td>
|
<td><input type="text" name="<%=Html.NameOf(m => m.MenuItemEntries[i].MenuItem.Url) %>" value="<%=menuPartEntry.MenuItem.Url %>" /></td>
|
||||||
<td><input type="hidden" name="<%=Html.NameOf(m => m.MenuItemEntries[i].MenuItemId) %>" value="<%=menuPartEntry.MenuItemId %>" /><a href="#" class="remove button">delete</a></td>
|
<td><input type="hidden" name="<%=Html.NameOf(m => m.MenuItemEntries[i].MenuItemId) %>" value="<%=menuPartEntry.MenuItemId %>" /><a href="<%=Url.Action("Delete", new {id = menuPartEntry.MenuItemId, __RequestVerificationToken = Html.AntiForgeryTokenValueOrchard()}) %>" class="remove button">delete</a></td>
|
||||||
</tr><%
|
</tr><%
|
||||||
++menuPartEntryIndex;
|
++menuPartEntryIndex;
|
||||||
} %>
|
} %>
|
||||||
|
Reference in New Issue
Block a user