Merge pull request #4360 from Ombi-app/newsletter-fixes

fix(newsletter): 🐛 Fixed a few small bugs in the newsletter
pull/4359/head^2
Jamie 3 years ago committed by GitHub
commit 7af084f5ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -29,6 +29,8 @@ namespace Ombi.Schedule.Tests
yield return new TestCaseData("https://google.com:3577/", "1").Returns("https://google.com:3577/unsubscribe/1").SetName("Port With Slash");
yield return new TestCaseData("", "1").Returns(string.Empty).SetName("Missing App URL empty");
yield return new TestCaseData(null, "1").Returns(string.Empty).SetName("Missing App URL null");
yield return new TestCaseData("hty", string.Empty).Returns(string.Empty).SetName("Missing ID empty");
yield return new TestCaseData("hty", null).Returns(string.Empty).SetName("Missing ID null");
}
}
}

@ -208,13 +208,7 @@ namespace Ombi.Schedule.Jobs.Ombi
if (!test)
{
// Get the users to send it to
var users = await _userManager.GetUsersInRoleAsync(OmbiRoles.ReceivesNewsletter);
if (!users.Any())
{
return;
}
var users = new List<OmbiUser>();
foreach (var emails in settings.ExternalEmails)
{
users.Add(new OmbiUser
@ -224,11 +218,23 @@ namespace Ombi.Schedule.Jobs.Ombi
});
}
// Get the users to send it to
users.AddRange(await _userManager.GetUsersInRoleAsync(OmbiRoles.ReceivesNewsletter));
if (!users.Any())
{
return;
}
var messageContent = ParseTemplate(template, customization);
var email = new NewsletterTemplate();
foreach (var user in users)
{
foreach (var user in users.DistinctBy(x => x.Email))
{ // Get the users to send it to
if (user.Email.IsNullOrEmpty())
{
continue;
}
var url = GenerateUnsubscribeLink(customization.ApplicationUrl, user.Id);
var html = email.LoadTemplate(messageContent.Subject, messageContent.Message, body, customization.Logo, url);
@ -243,11 +249,6 @@ namespace Ombi.Schedule.Jobs.Ombi
Subject = messageContent.Subject
};
// Get the users to send it to
if (user.Email.IsNullOrEmpty())
{
continue;
}
// Send the message to the user
message.To.Add(new MailboxAddress(user.Email.Trim(), user.Email.Trim()));
@ -391,7 +392,7 @@ namespace Ombi.Schedule.Jobs.Ombi
public static string GenerateUnsubscribeLink(string applicationUrl, string id)
{
if (!applicationUrl.HasValue())
if (!applicationUrl.HasValue() || !id.HasValue())
{
return string.Empty;
}

@ -16,6 +16,7 @@
"request-limits",
"notifications",
"settings",
"user-management"
"user-management",
"newsletter"
]
}

Loading…
Cancel
Save