Adding role renamed event. [Core Module Change]

This commit is contained in:
sfmskywalker
2014-05-26 14:18:55 +02:00
parent 58ad9671b9
commit 80a27b04a7
4 changed files with 15 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ namespace Orchard.Roles.Events {
public interface IRoleEventHandler : IEventHandler {
void Created(RoleCreatedContext context);
void Removed(RoleRemovedContext context);
void Renamed(RoleRenamedContext context);
void PermissionsChanged(PermissionAddedContext context);
void UserAdded(UserAddedContext context);
void UserRemoved(UserRemovedContext context);

View File

@@ -0,0 +1,6 @@
namespace Orchard.Roles.Events {
public class RoleRenamedContext : RoleContext {
public string PreviousRoleName { get; set; }
public string NewRoleName { get; set; }
}
}

View File

@@ -79,6 +79,7 @@
<Compile Include="Events\RoleContext.cs" />
<Compile Include="Events\RoleCreatedContext.cs" />
<Compile Include="Events\RoleRemovedContext.cs" />
<Compile Include="Events\RoleRenamedContext.cs" />
<Compile Include="Events\UserAddedContext.cs" />
<Compile Include="Events\UserRemovedContext.cs" />
<Compile Include="Events\UserRoleContext.cs" />

View File

@@ -86,9 +86,15 @@ namespace Orchard.Roles.Services {
}
public void UpdateRole(int id, string roleName, IEnumerable<string> rolePermissions) {
RoleRecord roleRecord = GetRole(id);
var roleRecord = GetRole(id);
var currentRoleName = roleRecord.Name;
roleRecord.Name = roleName;
roleRecord.RolesPermissions.Clear();
if (!String.Equals(currentRoleName, roleName)) {
_roleEventHandlers.Renamed(new RoleRenamedContext {Role = roleRecord, NewRoleName = roleName, PreviousRoleName = currentRoleName});
}
foreach (var rolePermission in rolePermissions) {
string permission = rolePermission;
if (_permissionRepository.Get(x => x.Name == permission) == null) {