19720: Adding Manage Queries permission

--HG--
branch : 1.x
extra : rebase_source : 03c85824bb4fe21f184a2c24c9e000d0e98fc59d
This commit is contained in:
Bertrand Le Roy
2013-05-15 11:01:17 -07:00
parent 66760380fd
commit 137a229f9e
4 changed files with 48 additions and 9 deletions

View File

@@ -1,5 +1,4 @@
using Orchard.Localization;
using Orchard.Security;
using Orchard.UI.Navigation;
namespace Orchard.Projections {
@@ -11,9 +10,9 @@ namespace Orchard.Projections {
builder.AddImageSet("projector").Add(T("Queries"), "3",
menu => menu
.Add(T("Queries"), "1.0",
qi => qi.Action("Index", "Admin", new { area = "Orchard.Projections" }).Permission(StandardPermissions.SiteOwner).LocalNav())
qi => qi.Action("Index", "Admin", new { area = "Orchard.Projections" }).Permission(Permissions.ManageQueries).LocalNav())
.Add(T("Bindings"), "2.0",
bi => bi.Action("Index", "Binding", new { area = "Orchard.Projections" }).Permission(StandardPermissions.SiteOwner).LocalNav())
bi => bi.Action("Index", "Binding", new { area = "Orchard.Projections" }).Permission(Permissions.ManageQueries).LocalNav())
);
}
}

View File

@@ -14,7 +14,6 @@ using Orchard.ContentManagement;
using Orchard.Core.Contents.Controllers;
using Orchard.DisplayManagement;
using Orchard.Localization;
using Orchard.Security;
using Orchard.UI.Notify;
using System;
using Orchard.Settings;
@@ -49,7 +48,7 @@ namespace Orchard.Projections.Controllers {
public Localizer T { get; set; }
public ActionResult Index(AdminIndexOptions options, PagerParameters pagerParameters) {
if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to list queries")))
if (!Services.Authorizer.Authorize(Permissions.ManageQueries, T("Not authorized to list queries")))
return new HttpUnauthorizedResult();
var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
@@ -107,7 +106,7 @@ namespace Orchard.Projections.Controllers {
[HttpPost]
[FormValueRequired("submit.BulkEdit")]
public ActionResult Index(FormCollection input) {
if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to manage queries")))
if (!Services.Authorizer.Authorize(Permissions.ManageQueries, T("Not authorized to manage queries")))
return new HttpUnauthorizedResult();
var viewModel = new AdminIndexViewModel { Queries = new List<QueryEntry>(), Options = new AdminIndexOptions() };
@@ -132,7 +131,7 @@ namespace Orchard.Projections.Controllers {
}
public ActionResult Edit(int id) {
if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to edit queries")))
if (!Services.Authorizer.Authorize(Permissions.ManageQueries, T("Not authorized to edit queries")))
return new HttpUnauthorizedResult();
var query = _queryService.GetQuery(id);
@@ -224,7 +223,7 @@ namespace Orchard.Projections.Controllers {
[HttpPost]
public ActionResult Delete(int id) {
if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to manage queries")))
if (!Services.Authorizer.Authorize(Permissions.ManageQueries, T("Not authorized to manage queries")))
return new HttpUnauthorizedResult();
var query = _queryService.GetQuery(id);
@@ -240,7 +239,7 @@ namespace Orchard.Projections.Controllers {
}
public ActionResult Preview(int id) {
if (!Services.Authorizer.Authorize(StandardPermissions.SiteOwner, T("Not authorized to manage queries")))
if (!Services.Authorizer.Authorize(Permissions.ManageQueries, T("Not authorized to manage queries")))
return new HttpUnauthorizedResult();
var contentItems = _projectionManager.GetContentItems(id, 0, 20);

View File

@@ -90,6 +90,7 @@
<Content Include="Views\Web.config" />
<Content Include="Scripts\Web.config" />
<Content Include="Styles\Web.config" />
<Compile Include="Permissions.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Content Include="Module.txt" />
</ItemGroup>

View File

@@ -0,0 +1,40 @@
using System.Collections.Generic;
using Orchard.Environment.Extensions.Models;
using Orchard.Security.Permissions;
namespace Orchard.Projections {
public class Permissions : IPermissionProvider {
public static readonly Permission ManageQueries = new Permission { Description = "Manage queries", Name = "ManageQueries", Category = "Projection"};
public virtual Feature Feature { get; set; }
public IEnumerable<Permission> GetPermissions() {
yield return ManageQueries;
}
public IEnumerable<PermissionStereotype> GetDefaultStereotypes() {
return new[] {
new PermissionStereotype {
Name = "Administrator",
Permissions = new[] { ManageQueries }
},
new PermissionStereotype {
Name = "Editor",
Permissions = new[] { ManageQueries }
},
new PermissionStereotype {
Name = "Moderator",
Permissions = new[] { ManageQueries }
},
new PermissionStereotype {
Name = "Author",
Permissions = new[] { ManageQueries }
},
new PermissionStereotype {
Name = "Contributor",
Permissions = new[] { ManageQueries }
}
};
}
}
}