mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-22 20:13:50 +08:00
#17778: Applying permission to admin menu Create items
Work Item: 17778 --HG-- branch : 1.x
This commit is contained in:
@@ -20,13 +20,11 @@ namespace Orchard.Core.Contents {
|
||||
|
||||
public void GetNavigation(NavigationBuilder builder) {
|
||||
var contentTypeDefinitions = _contentDefinitionManager.ListTypeDefinitions().OrderBy(d => d.Name);
|
||||
|
||||
builder.AddImageSet("content")
|
||||
.Add(T("Content"), "1.4", menu => menu
|
||||
.Add(T("Content Items"), "1", item => item.Action("List", "Admin", new { area = "Contents", id = "" }).LocalNav()));
|
||||
|
||||
var contentTypes = contentTypeDefinitions.Where(ctd => ctd.Settings.GetModel<ContentTypeSettings>().Creatable).OrderBy(ctd => ctd.DisplayName);
|
||||
if (contentTypes.Count() > 0) {
|
||||
if (contentTypes.Any()) {
|
||||
builder.Add(T("New"), "-1", menu => {
|
||||
menu.LinkToFirstChild(false);
|
||||
foreach (var contentTypeDefinition in contentTypes) {
|
||||
@@ -35,7 +33,9 @@ namespace Orchard.Core.Contents {
|
||||
var createRouteValues = cim.CreateRouteValues;
|
||||
// review: the display name should be a LocalizedString
|
||||
if (createRouteValues.Any())
|
||||
menu.Add(T(contentTypeDefinition.DisplayName), "5", item => item.Action(cim.CreateRouteValues["Action"] as string, cim.CreateRouteValues["Controller"] as string, cim.CreateRouteValues));
|
||||
menu.Add(T(contentTypeDefinition.DisplayName), "5", item => item.Action(cim.CreateRouteValues["Action"] as string, cim.CreateRouteValues["Controller"] as string, cim.CreateRouteValues)
|
||||
// Apply "PublishOwn" permission for the content type
|
||||
.Permission(DynamicPermissions.CreateDynamicPermission(DynamicPermissions.PermissionTemplates[Permissions.PublishOwnContent.Name], contentTypeDefinition)));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user