mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
19720: Adding Manage Queries permission
--HG-- branch : 1.x extra : rebase_source : 03c85824bb4fe21f184a2c24c9e000d0e98fc59d
This commit is contained in:
@@ -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())
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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>
|
||||
|
40
src/Orchard.Web/Modules/Orchard.Projections/Permissions.cs
Normal file
40
src/Orchard.Web/Modules/Orchard.Projections/Permissions.cs
Normal 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 }
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user