Files
Orchard/src/Orchard.Web/Modules/Orchard.Users/Handlers/UserMessagesAlteration.cs
Sebastien Ros 081a3dc53b Improving lost password functionality
--HG--
branch : dev
2010-11-30 17:19:13 -08:00

48 lines
1.9 KiB
C#

using Orchard.Localization;
using Orchard.Messaging.Events;
using Orchard.Messaging.Models;
using Orchard.ContentManagement;
using Orchard.Users.Models;
namespace Orchard.Users.Handlers {
public class UserMessagesAlteration : IMessageEventHandler {
private readonly IContentManager _contentManager;
public UserMessagesAlteration(IContentManager contentManager) {
_contentManager = contentManager;
T = NullLocalizer.Instance;
}
public Localizer T { get; set; }
public void Sending(MessageContext context) {
var contentItem = _contentManager.Get(context.Recipient.Id);
if ( contentItem == null )
return;
var recipient = contentItem.As<UserPart>();
if ( recipient == null )
return;
if ( context.Type == MessageTypes.Moderation ) {
context.MailMessage.Subject = T("User needs moderation").Text;
context.MailMessage.Body = T("The following user account needs to be moderated: {0}", recipient.UserName).Text;
}
if (context.Type == MessageTypes.Validation) {
context.MailMessage.Subject = T("User account validation").Text;
context.MailMessage.Body = T("Dear {0}, please <a href=\"{1}\">click here</a> to validate you email address.", recipient.UserName, context.Properties["ChallengeUrl"]).Text;
}
if (context.Type == MessageTypes.LostPassword) {
context.MailMessage.Subject = T("Lost password").Text;
context.MailMessage.Body = T("Dear {0}, please <a href=\"{1}\">click here</a> to change your password.", recipient.UserName, context.Properties["LostPasswordUrl"]).Text;
}
}
public void Sent(MessageContext context) {
}
}
}