mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-11 07:46:05 -07:00
Moved Newsletter Settings to its own page
This commit is contained in:
parent
c1ea2ecc65
commit
626decacb1
9 changed files with 152 additions and 22 deletions
|
@ -80,6 +80,7 @@ namespace PlexRequests.UI.Modules
|
|||
private ISettingsService<PushbulletNotificationSettings> PushbulletService { get; }
|
||||
private ISettingsService<PushoverNotificationSettings> PushoverService { get; }
|
||||
private ISettingsService<HeadphonesSettings> HeadphonesService { get; }
|
||||
private ISettingsService<NewletterSettings> NewsLetterService { get; }
|
||||
private ISettingsService<LogSettings> LogService { get; }
|
||||
private IPlexApi PlexApi { get; }
|
||||
private ISonarrApi SonarrApi { get; }
|
||||
|
@ -112,6 +113,7 @@ namespace PlexRequests.UI.Modules
|
|||
PushbulletApi pbApi,
|
||||
ICouchPotatoApi cpApi,
|
||||
ISettingsService<PushoverNotificationSettings> pushoverSettings,
|
||||
ISettingsService<NewletterSettings> newsletter,
|
||||
IPushoverApi pushoverApi,
|
||||
IRepository<LogEntity> logsRepo,
|
||||
INotificationService notify,
|
||||
|
@ -139,6 +141,7 @@ namespace PlexRequests.UI.Modules
|
|||
PushoverApi = pushoverApi;
|
||||
NotificationService = notify;
|
||||
HeadphonesService = headphones;
|
||||
NewsLetterService = newsletter;
|
||||
LogService = logs;
|
||||
Cache = cache;
|
||||
SlackSettings = slackSettings;
|
||||
|
@ -200,6 +203,9 @@ namespace PlexRequests.UI.Modules
|
|||
Get["/headphones"] = _ => Headphones();
|
||||
Post["/headphones"] = _ => SaveHeadphones();
|
||||
|
||||
Get["/newsletter"] = _ => Newsletter();
|
||||
Post["/newsletter"] = _ => SaveNewsletter();
|
||||
|
||||
Post["/createapikey"] = x => CreateApiKey();
|
||||
|
||||
Post["/autoupdate"] = x => AutoUpdate();
|
||||
|
@ -814,6 +820,33 @@ namespace PlexRequests.UI.Modules
|
|||
: new JsonResponseModel { Result = false, Message = "Could not update the settings, take a look at the logs." });
|
||||
}
|
||||
|
||||
private Negotiator Newsletter()
|
||||
{
|
||||
var settings = NewsLetterService.GetSettings();
|
||||
return View["NewsletterSettings", settings];
|
||||
}
|
||||
|
||||
private Response SaveNewsletter()
|
||||
{
|
||||
var settings = this.Bind<NewletterSettings>();
|
||||
|
||||
var valid = this.Validate(settings);
|
||||
if (!valid.IsValid)
|
||||
{
|
||||
var error = valid.SendJsonError();
|
||||
Log.Info("Error validating Headphones settings, message: {0}", error.Message);
|
||||
return Response.AsJson(error);
|
||||
}
|
||||
settings.SendRecentlyAddedEmail = settings.SendRecentlyAddedEmail;
|
||||
var result = NewsLetterService.SaveSettings(settings);
|
||||
|
||||
Log.Info("Saved headphones settings, result: {0}", result);
|
||||
return Response.AsJson(result
|
||||
? new JsonResponseModel { Result = true, Message = "Successfully Updated the Settings for Newsletter!" }
|
||||
: new JsonResponseModel { Result = false, Message = "Could not update the settings, take a look at the logs." });
|
||||
}
|
||||
|
||||
|
||||
private Response CreateApiKey()
|
||||
{
|
||||
this.RequiresClaims(UserClaims.Admin);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue