mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
#19746: Simplifying user event handlers invocation by taking advantage of the fact that IUSerEventHandler is an IEventHandler.
Work Item: 19746 --HG-- branch : 1.x extra : amend_source : 952053304943e1382c6199f86f98743bd8b7c188
This commit is contained in:
@@ -1,10 +1,8 @@
|
||||
using System;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Web;
|
||||
using Orchard.Core.Settings.Models;
|
||||
using Orchard.Localization;
|
||||
using System.Security.Principal;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Security;
|
||||
using Orchard.Logging;
|
||||
@@ -17,7 +15,6 @@ using Orchard.ContentManagement;
|
||||
using Orchard.Users.Models;
|
||||
using Orchard.UI.Notify;
|
||||
using Orchard.Users.Events;
|
||||
using System.Collections.Generic;
|
||||
using Orchard.Utility.Extensions;
|
||||
|
||||
namespace Orchard.Users.Controllers {
|
||||
@@ -27,19 +24,19 @@ namespace Orchard.Users.Controllers {
|
||||
private readonly IMembershipService _membershipService;
|
||||
private readonly IUserService _userService;
|
||||
private readonly IOrchardServices _orchardServices;
|
||||
private readonly IEnumerable<IUserEventHandler> _userEventHandlers;
|
||||
private readonly IUserEventHandler _userEventHandler;
|
||||
|
||||
public AccountController(
|
||||
IAuthenticationService authenticationService,
|
||||
IMembershipService membershipService,
|
||||
IUserService userService,
|
||||
IOrchardServices orchardServices,
|
||||
IEnumerable<IUserEventHandler> userEventHandlers) {
|
||||
IUserEventHandler userEventHandler) {
|
||||
_authenticationService = authenticationService;
|
||||
_membershipService = membershipService;
|
||||
_userService = userService;
|
||||
_orchardServices = orchardServices;
|
||||
_userEventHandlers = userEventHandlers;
|
||||
_userEventHandler = userEventHandler;
|
||||
Logger = NullLogger.Instance;
|
||||
T = NullLocalizer.Instance;
|
||||
}
|
||||
@@ -62,9 +59,7 @@ namespace Orchard.Users.Controllers {
|
||||
//Suggestion: Could instead use the new AccessDenined IUserEventHandler method and let modules decide if they want to log this event?
|
||||
Logger.Information("Access denied to user #{0} '{1}' on {2}", currentUser.Id, currentUser.UserName, returnUrl);
|
||||
|
||||
foreach (var userEventHandler in _userEventHandlers) {
|
||||
userEventHandler.AccessDenied(currentUser);
|
||||
}
|
||||
_userEventHandler.AccessDenied(currentUser);
|
||||
|
||||
return View();
|
||||
}
|
||||
@@ -90,9 +85,7 @@ namespace Orchard.Users.Controllers {
|
||||
}
|
||||
|
||||
_authenticationService.SignIn(user, rememberMe);
|
||||
foreach (var userEventHandler in _userEventHandlers) {
|
||||
userEventHandler.LoggedIn(user);
|
||||
}
|
||||
_userEventHandler.LoggedIn(user);
|
||||
|
||||
return this.RedirectLocal(returnUrl);
|
||||
}
|
||||
@@ -101,9 +94,7 @@ namespace Orchard.Users.Controllers {
|
||||
var wasLoggedInUser = _authenticationService.GetAuthenticatedUser();
|
||||
_authenticationService.SignOut();
|
||||
if (wasLoggedInUser != null)
|
||||
foreach (var userEventHandler in _userEventHandlers) {
|
||||
userEventHandler.LoggedOut(wasLoggedInUser);
|
||||
}
|
||||
_userEventHandler.LoggedOut(wasLoggedInUser);
|
||||
return this.RedirectLocal(returnUrl);
|
||||
}
|
||||
|
||||
@@ -152,9 +143,7 @@ namespace Orchard.Users.Controllers {
|
||||
|
||||
_userService.SendChallengeEmail(user.As<UserPart>(), nonce => Url.MakeAbsolute(Url.Action("ChallengeEmail", "Account", new {Area = "Orchard.Users", nonce = nonce}), siteUrl));
|
||||
|
||||
foreach (var userEventHandler in _userEventHandlers) {
|
||||
userEventHandler.SentChallengeEmail(user);
|
||||
}
|
||||
_userEventHandler.SentChallengeEmail(user);
|
||||
return RedirectToAction("ChallengeEmailSent");
|
||||
}
|
||||
|
||||
@@ -236,9 +225,7 @@ namespace Orchard.Users.Controllers {
|
||||
|
||||
if ( validated != null ) {
|
||||
_membershipService.SetPassword(validated, newPassword);
|
||||
foreach (var userEventHandler in _userEventHandlers) {
|
||||
userEventHandler.ChangedPassword(validated);
|
||||
}
|
||||
_userEventHandler.ChangedPassword(validated);
|
||||
return RedirectToAction("ChangePasswordSuccess");
|
||||
}
|
||||
|
||||
@@ -284,9 +271,7 @@ namespace Orchard.Users.Controllers {
|
||||
|
||||
_membershipService.SetPassword(user, newPassword);
|
||||
|
||||
foreach (var userEventHandler in _userEventHandlers) {
|
||||
userEventHandler.ChangedPassword(user);
|
||||
}
|
||||
_userEventHandler.ChangedPassword(user);
|
||||
|
||||
return RedirectToAction("ChangePasswordSuccess");
|
||||
}
|
||||
@@ -315,9 +300,7 @@ namespace Orchard.Users.Controllers {
|
||||
var user = _userService.ValidateChallenge(nonce);
|
||||
|
||||
if ( user != null ) {
|
||||
foreach (var userEventHandler in _userEventHandlers) {
|
||||
userEventHandler.ConfirmedEmail(user);
|
||||
}
|
||||
_userEventHandler.ConfirmedEmail(user);
|
||||
|
||||
return RedirectToAction("ChallengeEmailSuccess");
|
||||
}
|
||||
|
Reference in New Issue
Block a user