From 3f0cc99f56c5b41c30becc5300c0d3217a9f369d Mon Sep 17 00:00:00 2001 From: Dhruv Bhavsar Date: Sun, 26 Mar 2017 12:15:33 -0400 Subject: [PATCH 1/2] Quick fix for email false positive message. ISSUE: #1286 --- .../Notification/EmailMessageNotification.cs | 1 + .../Notification/NotificationService.cs | 1 + Ombi.UI/Modules/Admin/AdminModule.cs | 55 ++++++++++--------- Ombi.UI/Modules/Admin/CustomizationModule.cs | 3 +- 4 files changed, 33 insertions(+), 27 deletions(-) diff --git a/Ombi.Services/Notification/EmailMessageNotification.cs b/Ombi.Services/Notification/EmailMessageNotification.cs index cd85913dc..1e99d834b 100644 --- a/Ombi.Services/Notification/EmailMessageNotification.cs +++ b/Ombi.Services/Notification/EmailMessageNotification.cs @@ -227,6 +227,7 @@ namespace Ombi.Services.Notification catch (Exception e) { Log.Error(e); + throw new InvalidOperationException(e.Message); } } diff --git a/Ombi.Services/Notification/NotificationService.cs b/Ombi.Services/Notification/NotificationService.cs index 1ff6a5fc0..15622427a 100644 --- a/Ombi.Services/Notification/NotificationService.cs +++ b/Ombi.Services/Notification/NotificationService.cs @@ -97,6 +97,7 @@ namespace Ombi.Services.Notification catch (Exception ex) { Log.Error(ex, $"Notification '{notification.NotificationName}' failed with exception"); + throw new InvalidOperationException(ex.Message); } } } diff --git a/Ombi.UI/Modules/Admin/AdminModule.cs b/Ombi.UI/Modules/Admin/AdminModule.cs index 03b8b7b82..307e501df 100644 --- a/Ombi.UI/Modules/Admin/AdminModule.cs +++ b/Ombi.UI/Modules/Admin/AdminModule.cs @@ -126,7 +126,7 @@ namespace Ombi.UI.Modules.Admin ISlackApi slackApi, ISettingsService lp, ISettingsService scheduler, IJobRecord rec, IAnalytics analytics, ISettingsService notifyService, IRecentlyAdded recentlyAdded, IMassEmail massEmail, - ISettingsService watcherSettings , + ISettingsService watcherSettings, ISettingsService discord, IDiscordApi discordapi, ISettingsService settings, IRadarrApi radarrApi, ISettingsService embySettings, IEmbyApi emby @@ -168,9 +168,9 @@ namespace Ombi.UI.Modules.Admin RadarrApi = radarrApi; EmbyApi = emby; EmbySettings = embySettings; - + Before += (ctx) => Security.AdminLoginRedirect(Permissions.Administrator, ctx); - + Get["/"] = _ => Admin(); Get["/authentication", true] = async (x, ct) => await Authentication(); @@ -226,7 +226,7 @@ namespace Ombi.UI.Modules.Admin Get["/newsletter", true] = async (x, ct) => await Newsletter(); Post["/newsletter", true] = async (x, ct) => await SaveNewsletter(); Post["/testnewsletteradminemail"] = x => TestNewsletterAdminEmail(); - + Get["/massemail"] = _ => MassEmailView(); Post["/testmassadminemail"] = x => TestMassAdminEmail(); Post["/sendmassemail"] = x => SendMassEmail(); @@ -453,16 +453,16 @@ namespace Ombi.UI.Modules.Admin { var plexSettings = this.Bind(); - if (plexSettings.Enable) - { - var valid = this.Validate(plexSettings); - if (!valid.IsValid) - { - return Response.AsJson(valid.SendJsonError()); - } - } + if (plexSettings.Enable) + { + var valid = this.Validate(plexSettings); + if (!valid.IsValid) + { + return Response.AsJson(valid.SendJsonError()); + } + } + - if (plexSettings.Enable) { var embySettings = await EmbySettings.GetSettingsAsync(); @@ -565,9 +565,9 @@ namespace Ombi.UI.Modules.Admin : new JsonResponseModel { Result = false, Message = "Could not update the settings, take a look at the logs." }); } - - + + private Negotiator Sickrage() { @@ -642,9 +642,11 @@ namespace Ombi.UI.Modules.Admin await NotificationService.Publish(notificationModel, settings); Log.Info("Sent email notification test"); } - catch (Exception) + catch (Exception ex) { Log.Error("Failed to subscribe and publish test Email Notification"); + var msg = "Failed: " + ex.Message; + return Response.AsJson(new JsonResponseModel { Result = false, Message = msg }); } finally { @@ -653,7 +655,9 @@ namespace Ombi.UI.Modules.Admin NotificationService.UnSubscribe(new EmailMessageNotification(EmailService)); } } + return Response.AsJson(new JsonResponseModel { Result = true, Message = "Successfully sent a test Email Notification!" }); + } private Response SaveEmailNotifications() @@ -832,7 +836,7 @@ namespace Ombi.UI.Modules.Admin } if (!settings.Enabled) { - return Response.AsJson(new CouchPotatoProfiles{list = new List()}); + return Response.AsJson(new CouchPotatoProfiles { list = new List() }); } var profiles = CpApi.GetProfiles(settings.FullUri, settings.ApiKey); @@ -1210,12 +1214,12 @@ namespace Ombi.UI.Modules.Admin PlexEpisodeCacher = s.PlexEpisodeCacher, PlexUserChecker = s.PlexUserChecker, UserRequestLimitResetter = s.UserRequestLimitResetter, - EmbyAvailabilityChecker = s.EmbyAvailabilityChecker, - EmbyContentCacher = s.EmbyContentCacher, - EmbyEpisodeCacher = s.EmbyEpisodeCacher, - EmbyUserChecker = s.EmbyUserChecker, - RadarrCacher = s.RadarrCacher, - WatcherCacher = s.WatcherCacher + EmbyAvailabilityChecker = s.EmbyAvailabilityChecker, + EmbyContentCacher = s.EmbyContentCacher, + EmbyEpisodeCacher = s.EmbyEpisodeCacher, + EmbyUserChecker = s.EmbyUserChecker, + RadarrCacher = s.RadarrCacher, + WatcherCacher = s.WatcherCacher }; return View["SchedulerSettings", model]; } @@ -1278,7 +1282,7 @@ namespace Ombi.UI.Modules.Admin var model = this.Bind(); return View["NotificationSettings", model]; } - + private Response TestNewsletterAdminEmail() { try @@ -1299,7 +1303,8 @@ namespace Ombi.UI.Modules.Admin { var settings = this.Bind(); Log.Debug("Clicked Admin Mass Email Test"); - if (settings.Subject == null) { + if (settings.Subject == null) + { return Response.AsJson(new JsonResponseModel { Result = false, Message = "Please Set a Subject" }); } if (settings.Body == null) diff --git a/Ombi.UI/Modules/Admin/CustomizationModule.cs b/Ombi.UI/Modules/Admin/CustomizationModule.cs index d34e41ee2..de42e82b4 100644 --- a/Ombi.UI/Modules/Admin/CustomizationModule.cs +++ b/Ombi.UI/Modules/Admin/CustomizationModule.cs @@ -122,8 +122,7 @@ namespace Ombi.UI.Modules.Admin } catch (Exception e) { - - throw; + throw e; } } } From 347b1897fb12a82ba3d19cdabb868e3e7ff50f21 Mon Sep 17 00:00:00 2001 From: Dhruv Bhavsar Date: Sun, 26 Mar 2017 18:05:41 -0400 Subject: [PATCH 2/2] Fix test newletter not sending when empty --- .../Jobs/RecentlyAddedNewsletter/RecentlyAddedNewsletter.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ombi.Services/Jobs/RecentlyAddedNewsletter/RecentlyAddedNewsletter.cs b/Ombi.Services/Jobs/RecentlyAddedNewsletter/RecentlyAddedNewsletter.cs index 6a15d00f4..20888df25 100644 --- a/Ombi.Services/Jobs/RecentlyAddedNewsletter/RecentlyAddedNewsletter.cs +++ b/Ombi.Services/Jobs/RecentlyAddedNewsletter/RecentlyAddedNewsletter.cs @@ -138,7 +138,7 @@ namespace Ombi.Services.Jobs.RecentlyAddedNewsletter if (embySettings.Enable) { var letter = EmbyNewsletter.GetNewsletter(testEmail) ?? new Newsletter(); - if (letter.Send) + if (letter.Send || testEmail) { SendNewsletter(newletterSettings, letter.Html, testEmail, "New Content On Emby!"); } @@ -153,7 +153,7 @@ namespace Ombi.Services.Jobs.RecentlyAddedNewsletter if (plexSettings.Enable) { var letter = PlexNewsletter.GetNewsletter(testEmail) ?? new Newsletter(); - if (letter.Send) + if (letter.Send || testEmail) { SendNewsletter(newletterSettings, letter.Html, testEmail); }