removes SaveUserGroupWithUsersEventArgs and replaces with SaveEventArgs<UserGroupWithUsers> and changes the SavedUserGroupWithUsers to SavingUserGroup2 and SavedUserGroup2

This commit is contained in:
Shannon
2018-02-14 11:13:24 +11:00
parent 46902d4335
commit 9f4875c8a7
4 changed files with 64 additions and 57 deletions

View File

@@ -62,9 +62,8 @@ namespace Umbraco.Core.Auditing
BackOfficeUserManager.PasswordChanged += OnPasswordChanged;
BackOfficeUserManager.PasswordReset += OnPasswordReset;
//BackOfficeUserManager.ResetAccessFailedCount += ;
UserService.SavedUserGroup += OnSavedUserGroup;
UserService.SavedUserGroupWithUsers += OnSavedUserGroupWithUsers;
UserService.SavedUserGroup2 += OnSavedUserGroupWithUsers;
UserService.SavedUser += OnSavedUser;
UserService.DeletedUser += OnDeletedUser;
@@ -116,13 +115,14 @@ namespace Umbraco.Core.Auditing
}
}
private void OnSavedUserGroup(IUserService sender, SaveEventArgs<IUserGroup> saveEventArgs)
private void OnSavedUserGroupWithUsers(IUserService sender, SaveEventArgs<UserGroupWithUsers> saveEventArgs)
{
var performingUser = CurrentPerformingUser;
var groups = saveEventArgs.SavedEntities;
foreach (var group in groups)
foreach (var groupWithUser in saveEventArgs.SavedEntities)
{
var dp = string.Join(", ", ((UserGroup) group).GetPreviouslyDirtyProperties());
var group = groupWithUser.UserGroup;
var dp = string.Join(", ", ((UserGroup)group).GetPreviouslyDirtyProperties());
var sections = ((UserGroup)group).WasPropertyDirty("AllowedSections")
? string.Join(", ", group.AllowedSections)
: null;
@@ -145,57 +145,52 @@ namespace Umbraco.Core.Auditing
DateTime.Now,
-1, $"User Group {group.Id} \"{group.Name}\" ({group.Alias})",
"umbraco/user-group/save", $"{sb}");
}
}
private void OnSavedUserGroupWithUsers(IUserService sender, SaveUserGroupWithUsersEventArgs saveUserGroupWithUsersEventArgs)
{
var performingUser = CurrentPerformingUser;
var group = saveUserGroupWithUsersEventArgs.UserGroup;
//Now audit the users that have changed
if (groupWithUser.RemovedUsers.Length == 0 && groupWithUser.AddedUsers.Length == 0)
return;
if (saveUserGroupWithUsersEventArgs.RemovedUsers.Length == 0 && saveUserGroupWithUsersEventArgs.AddedUsers.Length == 0)
return;
var sb = new StringBuilder();
if (saveUserGroupWithUsersEventArgs.RemovedUsers.Length > 0)
{
sb.Append("Removed: ");
var first = true;
foreach (var user in saveUserGroupWithUsersEventArgs.RemovedUsers)
var sb2 = new StringBuilder();
if (groupWithUser.RemovedUsers.Length > 0)
{
if (first) first = false;
else sb.Append(", ");
sb.Append(user.Name);
sb.Append(" [");
sb.Append(user.Id);
sb.Append("] <");
sb.Append(user.Email);
sb.Append(">");
sb2.Append("Removed: ");
var first = true;
foreach (var user in groupWithUser.RemovedUsers)
{
if (first) first = false;
else sb2.Append(", ");
sb2.Append(user.Name);
sb2.Append(" [");
sb2.Append(user.Id);
sb2.Append("] <");
sb2.Append(user.Email);
sb2.Append(">");
}
sb2.Append(". ");
}
sb.Append(". ");
}
if (saveUserGroupWithUsersEventArgs.AddedUsers.Length > 0)
{
sb.Append("Added: ");
var first = true;
foreach (var user in saveUserGroupWithUsersEventArgs.AddedUsers)
if (groupWithUser.AddedUsers.Length > 0)
{
if (first) first = false;
else sb.Append(", ");
sb.Append(user.Name);
sb.Append(" [");
sb.Append(user.Id);
sb.Append("] <");
sb.Append(user.Email);
sb.Append(">");
sb2.Append("Added: ");
var first = true;
foreach (var user in groupWithUser.AddedUsers)
{
if (first) first = false;
else sb2.Append(", ");
sb2.Append(user.Name);
sb2.Append(" [");
sb2.Append(user.Id);
sb2.Append("] <");
sb2.Append(user.Email);
sb2.Append(">");
}
sb2.Append(". ");
}
sb.Append(". ");
}
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.Now,
-1, $"User Group {group.Id} \"{group.Name}\" ({group.Alias})",
"umbraco/user-group/save", $"{sb}");
_auditServiceInstance.Write(performingUser.Id, $"User \"{performingUser.Name}\" {FormatEmail(performingUser)}", PerformingIp,
DateTime.Now,
-1, $"User Group {group.Id} \"{group.Name}\" ({group.Alias})",
"umbraco/user-group/save", $"{sb2}");
}
}
private void UserGroupPermissionAssigned(IUserService sender, SaveEventArgs<EntityPermission> saveEventArgs)

View File

@@ -3,9 +3,9 @@ using Umbraco.Core.Models.Membership;
namespace Umbraco.Core.Events
{
internal class SaveUserGroupWithUsersEventArgs : EventArgs
internal class UserGroupWithUsers
{
public SaveUserGroupWithUsersEventArgs(IUserGroup userGroup, IUser[] addedUsers, IUser[] removedUsers)
public UserGroupWithUsers(IUserGroup userGroup, IUser[] addedUsers, IUser[] removedUsers)
{
UserGroup = userGroup;
AddedUsers = addedUsers;

View File

@@ -961,8 +961,11 @@ namespace Umbraco.Core.Services
removedUsers = groupIds.Except(userIds).Select(x => xGroupUsers[x]).Where(x => x.Id != 0).ToArray();
}
//raise 2x events - the old and new one for backwards compat reasons
var saveEventArgs = new SaveEventArgs<IUserGroup>(userGroup);
if (raiseEvents && uow.Events.DispatchCancelable(SavingUserGroup, this, saveEventArgs))
var saveEventArgs2 = new SaveEventArgs<UserGroupWithUsers>(new UserGroupWithUsers(userGroup, addedUsers, removedUsers));
if (raiseEvents &&
(uow.Events.DispatchCancelable(SavingUserGroup, this, saveEventArgs) || uow.Events.DispatchCancelable(SavingUserGroup2, this, saveEventArgs2)))
{
uow.Commit();
return;
@@ -976,8 +979,10 @@ namespace Umbraco.Core.Services
if (raiseEvents)
{
saveEventArgs.CanCancel = false;
//raise 2x events - the old and new one for backwards compat reasons
uow.Events.Dispatch(SavedUserGroup, this, saveEventArgs);
uow.Events.Dispatch(SavedUserGroupWithUsers, this, new SaveUserGroupWithUsersEventArgs(userGroup, addedUsers, removedUsers));
uow.Events.Dispatch(SavedUserGroup2, this, saveEventArgs2);
}
}
}
@@ -1308,17 +1313,24 @@ namespace Umbraco.Core.Services
/// <summary>
/// Occurs before Save
/// </summary>
//TODO: In v8, change this event to be SaveEventArgs<UserGroupWithUsers> and remove SavingUserGroup2
public static event TypedEventHandler<IUserService, SaveEventArgs<IUserGroup>> SavingUserGroup;
/// <summary>
/// Occurs after Save
/// </summary>
//TODO: In v8, change this event to be SaveEventArgs<UserGroupWithUsers> and remove SavedUserGroup2
public static event TypedEventHandler<IUserService, SaveEventArgs<IUserGroup>> SavedUserGroup;
/// <summary>
/// Occurs after Save
/// </summary>
internal static event TypedEventHandler<IUserService, SaveUserGroupWithUsersEventArgs> SavedUserGroupWithUsers;
internal static event TypedEventHandler<IUserService, SaveEventArgs<UserGroupWithUsers>> SavingUserGroup2;
/// <summary>
/// Occurs after Save
/// </summary>
internal static event TypedEventHandler<IUserService, SaveEventArgs<UserGroupWithUsers>> SavedUserGroup2;
/// <summary>
/// Occurs before Delete

View File

@@ -356,7 +356,7 @@
<Compile Include="EmailSender.cs" />
<Compile Include="Events\EventDefinitionFilter.cs" />
<Compile Include="Events\IDeletingMediaFilesEventArgs.cs" />
<Compile Include="Events\SaveUserGroupWithUsersEventArgs.cs" />
<Compile Include="Events\UserGroupWithUsers.cs" />
<Compile Include="Events\ScopeEventDispatcherBase.cs" />
<Compile Include="Events\ScopeLifespanMessagesFactory.cs" />
<Compile Include="Events\SendEmailEventArgs.cs" />