When top level menu is empty due to security constraints, and it's not itself a link, it is not displayed

--HG--
extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4045838
This commit is contained in:
loudej
2010-01-22 10:25:50 +00:00
parent c5bbac560b
commit 3922abc31e

View File

@@ -23,7 +23,14 @@ namespace Orchard.UI.Navigation {
protected virtual IUser CurrentUser { get; [UsedImplicitly] private set; }
public IEnumerable<MenuItem> BuildMenu(string menuName) {
return Reduce(Merge(AllSources(menuName))).ToArray();
return Crop(Reduce(Merge(AllSources(menuName)))).ToArray();
}
private IEnumerable<MenuItem> Crop(IEnumerable<MenuItem> items) {
foreach(var item in items) {
if (item.Items.Any() || item.RouteValues != null)
yield return item;
}
}
private IEnumerable<MenuItem> Reduce(IEnumerable<MenuItem> items) {