mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-01-22 02:52:08 +08:00
Merge
--HG-- branch : dev
This commit is contained in:
@@ -8,7 +8,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Orchard.ContentManagement.MetaData;
|
||||||
|
using Orchard.ContentManagement.MetaData.Models;
|
||||||
|
using Orchard.Core.Contents.Settings;
|
||||||
|
using Orchard.Environment.Extensions.Models;
|
||||||
|
using Orchard.Security.Permissions;
|
||||||
|
|
||||||
|
namespace Orchard.ContentTypes {
|
||||||
|
public class DynamicPermissions : IPermissionProvider {
|
||||||
|
public static readonly Permission ManageContentType = new Permission { Name = "ManageContentType{0}", Description = "Manage {0}" };
|
||||||
|
|
||||||
|
private readonly IContentDefinitionManager _contentDefinitionManager;
|
||||||
|
|
||||||
|
public virtual Feature Feature { get; set; }
|
||||||
|
|
||||||
|
public DynamicPermissions(IContentDefinitionManager contentDefinitionManager) {
|
||||||
|
_contentDefinitionManager = contentDefinitionManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerable<Permission> GetPermissions() {
|
||||||
|
// manage rights only for Creatable types
|
||||||
|
var creatableTypes = _contentDefinitionManager.ListTypeDefinitions()
|
||||||
|
.Where(ctd => ctd.Settings.GetModel<ContentTypeSettings>().Creatable);
|
||||||
|
|
||||||
|
foreach(var typeDefinition in creatableTypes) {
|
||||||
|
yield return CreateDynamicPersion(ManageContentType, typeDefinition);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerable<PermissionStereotype> GetDefaultStereotypes() {
|
||||||
|
return new[] {
|
||||||
|
new PermissionStereotype {
|
||||||
|
Name = "Administrator",
|
||||||
|
Permissions = _contentDefinitionManager.ListTypeDefinitions().Select(typeDefinition => CreateDynamicPersion(ManageContentType, typeDefinition))
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Permission CreateDynamicPersion(Permission template, ContentTypeDefinition typeDefinition) {
|
||||||
|
return new Permission {
|
||||||
|
Name = String.Format(template.Name, typeDefinition.Name),
|
||||||
|
Description = String.Format(template.Description, typeDefinition.DisplayName),
|
||||||
|
Category = typeDefinition.DisplayName
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -70,6 +70,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="AdminMenu.cs" />
|
<Compile Include="AdminMenu.cs" />
|
||||||
|
<Compile Include="DynamicPermissions.cs" />
|
||||||
<Compile Include="ResourceManifest.cs" />
|
<Compile Include="ResourceManifest.cs" />
|
||||||
<Compile Include="Extensions\StringExtensions.cs" />
|
<Compile Include="Extensions\StringExtensions.cs" />
|
||||||
<Compile Include="ViewModels\AddPartsViewModel.cs" />
|
<Compile Include="ViewModels\AddPartsViewModel.cs" />
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -102,11 +102,11 @@ namespace Orchard.Roles.Controllers {
|
|||||||
throw new HttpException(404, "page with id " + id + " was not found");
|
throw new HttpException(404, "page with id " + id + " was not found");
|
||||||
}
|
}
|
||||||
var model = new RoleEditViewModel { Name = role.Name, Id = role.Id,
|
var model = new RoleEditViewModel { Name = role.Name, Id = role.Id,
|
||||||
FeaturePermissions = _roleService.GetInstalledPermissions(),
|
RoleCategoryPermissions = _roleService.GetInstalledPermissions(),
|
||||||
CurrentPermissions = _roleService.GetPermissionsForRole(id)};
|
CurrentPermissions = _roleService.GetPermissionsForRole(id)};
|
||||||
|
|
||||||
var simulation = UserSimulation.Create(role.Name);
|
var simulation = UserSimulation.Create(role.Name);
|
||||||
model.EffectivePermissions = model.FeaturePermissions
|
model.EffectivePermissions = model.RoleCategoryPermissions
|
||||||
.SelectMany(group => group.Value)
|
.SelectMany(group => group.Value)
|
||||||
.Where(permission => _authorizationService.TryCheckAccess(permission, simulation, null))
|
.Where(permission => _authorizationService.TryCheckAccess(permission, simulation, null))
|
||||||
.Select(permission=>permission.Name)
|
.Select(permission=>permission.Name)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Orchard.Data;
|
using Orchard.Data;
|
||||||
using Orchard.Environment.Extensions.Models;
|
using Orchard.Localization;
|
||||||
using Orchard.Logging;
|
using Orchard.Logging;
|
||||||
using Orchard.Roles.Models;
|
using Orchard.Roles.Models;
|
||||||
using Orchard.Security.Permissions;
|
using Orchard.Security.Permissions;
|
||||||
@@ -22,8 +22,10 @@ namespace Orchard.Roles.Services {
|
|||||||
_permissionRepository = permissionRepository;
|
_permissionRepository = permissionRepository;
|
||||||
_permissionProviders = permissionProviders;
|
_permissionProviders = permissionProviders;
|
||||||
Logger = NullLogger.Instance;
|
Logger = NullLogger.Instance;
|
||||||
|
T = NullLocalizer.Instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Localizer T { get; set; }
|
||||||
public ILogger Logger { get; set; }
|
public ILogger Logger { get; set; }
|
||||||
|
|
||||||
public IEnumerable<RoleRecord> GetRoles() {
|
public IEnumerable<RoleRecord> GetRoles() {
|
||||||
@@ -105,11 +107,16 @@ namespace Orchard.Roles.Services {
|
|||||||
foreach (var permissionProvider in _permissionProviders) {
|
foreach (var permissionProvider in _permissionProviders) {
|
||||||
var featureName = permissionProvider.Feature.Descriptor.Name;
|
var featureName = permissionProvider.Feature.Descriptor.Name;
|
||||||
var permissions = permissionProvider.GetPermissions();
|
var permissions = permissionProvider.GetPermissions();
|
||||||
|
foreach(var permission in permissions) {
|
||||||
|
var category = permission.Category;
|
||||||
|
|
||||||
if (installedPermissions.ContainsKey(featureName))
|
string title = String.IsNullOrWhiteSpace(category) ? T("{0} Feature", featureName).Text : T(category).Text;
|
||||||
installedPermissions[featureName] = installedPermissions[featureName].Concat(permissions);
|
|
||||||
else
|
if ( installedPermissions.ContainsKey(title) )
|
||||||
installedPermissions.Add(featureName, permissions);
|
installedPermissions[title] = installedPermissions[title].Concat( new [] {permission} );
|
||||||
|
else
|
||||||
|
installedPermissions.Add(title, new[] { permission });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return installedPermissions;
|
return installedPermissions;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ namespace Orchard.Roles.ViewModels {
|
|||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
[Required]
|
[Required]
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public IDictionary<string, IEnumerable<Permission>> FeaturePermissions { get; set; }
|
public IDictionary<string, IEnumerable<Permission>> RoleCategoryPermissions { get; set; }
|
||||||
public IEnumerable<string> CurrentPermissions { get; set; }
|
public IEnumerable<string> CurrentPermissions { get; set; }
|
||||||
public IEnumerable<string> EffectivePermissions { get; set; }
|
public IEnumerable<string> EffectivePermissions { get; set; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,9 +11,9 @@
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>@T("Permissions")</legend>
|
<legend>@T("Permissions")</legend>
|
||||||
@foreach (var featureName in Model.FeaturePermissions.Keys) {
|
@foreach (var category in Model.RoleCategoryPermissions.Keys) {
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>@T("{0} Feature", featureName)</legend>
|
<legend>@category</legend>
|
||||||
<table class="items">
|
<table class="items">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col id="Col1" />
|
<col id="Col1" />
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
<th scope="col">@T("Effective")</th>
|
<th scope="col">@T("Effective")</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@foreach (var permission in Model.FeaturePermissions[featureName]) {
|
@foreach (var permission in Model.RoleCategoryPermissions[category]) {
|
||||||
<tr>
|
<tr>
|
||||||
<td>@permission.Description</td>
|
<td>@permission.Description</td>
|
||||||
<td style="width:60px;">
|
<td style="width:60px;">
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ namespace Orchard.Security.Permissions {
|
|||||||
public class Permission {
|
public class Permission {
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public string Description { get; set; }
|
public string Description { get; set; }
|
||||||
|
public string Category { get; set; }
|
||||||
|
|
||||||
public IEnumerable<Permission> ImpliedBy { get; set; }
|
public IEnumerable<Permission> ImpliedBy { get; set; }
|
||||||
public bool RequiresOwnership { get; set; }
|
public bool RequiresOwnership { get; set; }
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("Orchard")]
|
[assembly: AssemblyProduct("Orchard")]
|
||||||
[assembly: AssemblyCopyright("Copyright © CodePlex Foundation 2009")]
|
[assembly: AssemblyCopyright("Copyright © Outercurve Foundation 2009")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user