diff --git a/src/Orchard.Web/Modules/Orchard.Email/Services/MissingSettingsBanner.cs b/src/Orchard.Web/Modules/Orchard.Email/Services/MissingSettingsBanner.cs index df0e7f213..a0adcb6b8 100644 --- a/src/Orchard.Web/Modules/Orchard.Email/Services/MissingSettingsBanner.cs +++ b/src/Orchard.Web/Modules/Orchard.Email/Services/MissingSettingsBanner.cs @@ -1,27 +1,37 @@ using System.Collections.Generic; +using System.Web.Mvc; using Orchard.ContentManagement; -using Orchard.Localization; using Orchard.Email.Models; +using Orchard.Localization; using Orchard.UI.Admin.Notification; using Orchard.UI.Notify; -namespace Orchard.Email.Services { - public class MissingSettingsBanner: INotificationProvider { +namespace Orchard.Email.Services +{ + public class MissingSettingsBanner : INotificationProvider + { private readonly IOrchardServices _orchardServices; + private readonly WorkContext _workContext; - public MissingSettingsBanner(IOrchardServices orchardServices) { + public MissingSettingsBanner(IOrchardServices orchardServices, WorkContext workContext) + { _orchardServices = orchardServices; + _workContext = workContext; T = NullLocalizer.Instance; } public Localizer T { get; set; } - public IEnumerable GetNotifications() { + public IEnumerable GetNotifications() + { var smtpSettings = _orchardServices.WorkContext.CurrentSite.As(); - if ( smtpSettings == null || !smtpSettings.IsValid() ) { - yield return new NotifyEntry { Message = T("The SMTP settings needs to be configured." ), Type = NotifyType.Warning}; + if (smtpSettings == null || !smtpSettings.IsValid()) + { + var urlHelper = new UrlHelper(_workContext.HttpContext.Request.RequestContext); + var url = urlHelper.Action("Email", "Admin", new { Area = "Settings" }); + yield return new NotifyEntry { Message = T("The SMTP settings needs to be configured.", url), Type = NotifyType.Warning }; } } }