#18769: Fixing menu import/export

Work Item: 18769

--HG--
branch : 1.x
This commit is contained in:
Sebastien Ros
2012-06-29 12:57:08 -07:00
parent cee5f3bb47
commit 5ca9b03741
10 changed files with 121 additions and 5 deletions

View File

@@ -0,0 +1,39 @@
using JetBrains.Annotations;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Handlers;
using Orchard.Core.Navigation.Services;
using Orchard.Core.Title.Models;
namespace Orchard.Core.Navigation.Handlers {
[UsedImplicitly]
public class MenuHandler : ContentHandler {
private readonly IMenuService _menuService;
private readonly IContentManager _contentManager;
public MenuHandler(IMenuService menuService, IContentManager contentManager) {
_menuService = menuService;
_contentManager = contentManager;
}
protected override void GetItemMetadata(GetContentItemMetadataContext context) {
if(context.ContentItem.ContentType != "Menu") {
return;
}
context.Metadata.Identity.Add("name", context.ContentItem.As<TitlePart>().Title);
}
protected override void Removing(RemoveContentContext context) {
if (context.ContentItem.ContentType != "Menu") {
return;
}
// remove all menu items
var menuParts = _menuService.GetMenuParts(context.ContentItem.Id);
foreach(var menuPart in menuParts) {
_contentManager.Remove(menuPart.ContentItem);
}
}
}
}