Skip to content

Commit 75685c5

Browse files
committed
Bump OCC.Email.Hotmail to 1.6.0
1 parent 3017f3c commit 75685c5

14 files changed

Lines changed: 351 additions & 410 deletions
Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,40 @@
1-
using Microsoft.Extensions.Localization;
1+
using Microsoft.AspNetCore.Routing;
2+
using Microsoft.Extensions.Localization;
23
using OrchardCore.Navigation;
34
using OrchardCoreContrib.Email.Hotmail.Drivers;
5+
6+
namespace OrchardCoreContrib.Email.Hotmail;
7+
48
using OrchardCoreContrib.Navigation;
59

6-
namespace OrchardCoreContrib.Email.Hotmail
10+
/// <summary>
11+
/// Represents an admin menu for Hotmail mailing module.
12+
/// </summary>
13+
/// <remarks>
14+
/// Initializes a new instance of <see cref="AdminMenu"/>.
15+
/// </remarks>
16+
/// <param name="stringLocalizer"></param>
17+
public class AdminMenu(IStringLocalizer<AdminMenu> S) : AdminNavigationProvider
718
{
8-
using OrchardCoreContrib.Navigation;
9-
10-
/// <summary>
11-
/// Represents an admin menu for Hotmail mailing module.
12-
/// </summary>
13-
public class AdminMenu : AdminNavigationProvider
19+
private static readonly RouteValueDictionary _routeValues = new()
1420
{
15-
private readonly IStringLocalizer S;
21+
{ "area", "OrchardCore.Settings" },
22+
{ "groupId", HotmailSettingsDisplayDriver.GroupId },
23+
};
1624

17-
/// <summary>
18-
/// Initializes a new instance of <see cref="AdminMenu"/>.
19-
/// </summary>
20-
/// <param name="stringLocalizer"></param>
21-
public AdminMenu(IStringLocalizer<AdminMenu> stringLocalizer)
22-
{
23-
S = stringLocalizer;
24-
}
25-
26-
/// <inheritdoc/>
27-
public override void BuildNavigation(NavigationBuilder builder)
28-
{
29-
builder
30-
.Add(S["Configuration"], configuration => configuration
31-
.Add(S["Settings"], settings => settings
32-
.Add(S["Hotmail"], S["Hotmail"].PrefixPosition(), entry => entry
33-
.AddClass("hotmail").Id("hotmail")
34-
.Action("Index", "Admin", new { area = "OrchardCore.Settings", groupId = HotmailSettingsDisplayDriver.GroupId })
35-
.Permission(Permissions.ManageHotmailSettings)
36-
.LocalNav()
37-
)
25+
/// <inheritdoc/>
26+
public override void BuildNavigation(NavigationBuilder builder)
27+
{
28+
builder
29+
.Add(S["Configuration"], configuration => configuration
30+
.Add(S["Settings"], settings => settings
31+
.Add(S["Hotmail"], S["Hotmail"].PrefixPosition(), entry => entry
32+
.AddClass("hotmail").Id("hotmail")
33+
.Action("Index", "Admin", _routeValues)
34+
.Permission(HotmailPermissions.ManageHotmailSettings)
35+
.LocalNav()
3836
)
39-
);
40-
}
37+
)
38+
);
4139
}
4240
}

src/OrchardCoreContrib.Email.Hotmail/Controllers/AdminController.cs

Lines changed: 55 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -5,98 +5,83 @@
55
using OrchardCore.Email;
66
using OrchardCoreContrib.Email.Hotmail.Drivers;
77
using OrchardCoreContrib.Email.Hotmail.ViewModels;
8-
using System.Threading.Tasks;
98

10-
namespace OrchardCoreContrib.Email.Hotmail.Controllers
9+
namespace OrchardCoreContrib.Email.Hotmail.Controllers;
10+
11+
public class AdminController(
12+
IHtmlLocalizer<AdminController> H,
13+
IAuthorizationService authorizationService,
14+
INotifier notifier,
15+
ISmtpService smtpService) : Controller
1116
{
12-
public class AdminController : Controller
17+
[HttpGet]
18+
public async Task<IActionResult> Index()
1319
{
14-
private readonly IAuthorizationService _authorizationService;
15-
private readonly INotifier _notifier;
16-
private readonly ISmtpService _smtpService;
17-
private readonly IHtmlLocalizer H;
18-
19-
public AdminController(
20-
IHtmlLocalizer<AdminController> htmlLocalizer,
21-
IAuthorizationService authorizationService,
22-
INotifier notifier,
23-
ISmtpService smtpService)
20+
if (!await authorizationService.AuthorizeAsync(User, HotmailPermissions.ManageHotmailSettings))
2421
{
25-
H = htmlLocalizer;
26-
_authorizationService = authorizationService;
27-
_notifier = notifier;
28-
_smtpService = smtpService;
22+
return Forbid();
2923
}
3024

31-
[HttpGet]
32-
public async Task<IActionResult> Index()
33-
{
34-
if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageHotmailSettings))
35-
{
36-
return Forbid();
37-
}
25+
return View();
26+
}
3827

39-
return View();
28+
[HttpPost, ActionName(nameof(Index))]
29+
public async Task<IActionResult> IndexPost(HotmailSettingsViewModel model)
30+
{
31+
if (!await authorizationService.AuthorizeAsync(User, HotmailPermissions.ManageHotmailSettings))
32+
{
33+
return Forbid();
4034
}
4135

42-
[HttpPost, ActionName(nameof(Index))]
43-
public async Task<IActionResult> IndexPost(HotmailSettingsViewModel model)
36+
if (ModelState.IsValid)
4437
{
45-
if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageHotmailSettings))
46-
{
47-
return Forbid();
48-
}
49-
50-
if (ModelState.IsValid)
51-
{
52-
var message = CreateMessageFromViewModel(model);
38+
var message = CreateMessageFromViewModel(model);
5339

54-
var result = await _smtpService.SendAsync(message);
40+
var result = await smtpService.SendAsync(message);
5541

56-
if (!result.Succeeded)
57-
{
58-
foreach (var error in result.Errors)
59-
{
60-
ModelState.AddModelError("*", error.ToString());
61-
}
62-
}
63-
else
42+
if (!result.Succeeded)
43+
{
44+
foreach (var error in result.Errors)
6445
{
65-
await _notifier.SuccessAsync(H["Message sent successfully"]);
66-
67-
return Redirect(Url.Action("Index", "Admin", new { area = "OrchardCore.Settings", groupId = HotmailSettingsDisplayDriver.GroupId }));
46+
ModelState.AddModelError("*", error.ToString());
6847
}
6948
}
49+
else
50+
{
51+
await notifier.SuccessAsync(H["Message sent successfully"]);
7052

71-
return View(model);
53+
return Redirect(Url.Action("Index", "Admin", new { area = "OrchardCore.Settings", groupId = HotmailSettingsDisplayDriver.GroupId }));
54+
}
7255
}
7356

74-
private MailMessage CreateMessageFromViewModel(HotmailSettingsViewModel testSettings)
75-
{
76-
var message = new MailMessage
77-
{
78-
To = testSettings.To,
79-
Bcc = testSettings.Bcc,
80-
Cc = testSettings.Cc,
81-
ReplyTo = testSettings.ReplyTo
82-
};
57+
return View(model);
58+
}
8359

84-
if (!string.IsNullOrWhiteSpace(testSettings.Sender))
85-
{
86-
message.Sender = testSettings.Sender;
87-
}
60+
private MailMessage CreateMessageFromViewModel(HotmailSettingsViewModel testSettings)
61+
{
62+
var message = new MailMessage
63+
{
64+
To = testSettings.To,
65+
Bcc = testSettings.Bcc,
66+
Cc = testSettings.Cc,
67+
ReplyTo = testSettings.ReplyTo
68+
};
8869

89-
if (!string.IsNullOrWhiteSpace(testSettings.Subject))
90-
{
91-
message.Subject = testSettings.Subject;
92-
}
70+
if (!string.IsNullOrWhiteSpace(testSettings.Sender))
71+
{
72+
message.Sender = testSettings.Sender;
73+
}
9374

94-
if (!string.IsNullOrWhiteSpace(testSettings.Body))
95-
{
96-
message.Body = testSettings.Body;
97-
}
75+
if (!string.IsNullOrWhiteSpace(testSettings.Subject))
76+
{
77+
message.Subject = testSettings.Subject;
78+
}
9879

99-
return message;
80+
if (!string.IsNullOrWhiteSpace(testSettings.Body))
81+
{
82+
message.Body = testSettings.Body;
10083
}
84+
85+
return message;
10186
}
10287
}

0 commit comments

Comments
 (0)