mirror of
https://github.com/lidarr/lidarr.git
synced 2025-07-10 23:33:38 -07:00
Replaced save notifications for settings on page with AJAX Notifications.
This commit is contained in:
parent
3cc052e9b6
commit
d65d79a5c9
10 changed files with 81 additions and 10 deletions
|
@ -5,6 +5,7 @@ using System.Web.Mvc;
|
|||
using NLog;
|
||||
using NzbDrone.Core.Helpers;
|
||||
using NzbDrone.Core.Model;
|
||||
using NzbDrone.Core.Model.Notification;
|
||||
using NzbDrone.Core.Providers;
|
||||
using NzbDrone.Core.Providers.Core;
|
||||
using NzbDrone.Core.Providers.Indexer;
|
||||
|
@ -25,16 +26,18 @@ namespace NzbDrone.Web.Controllers
|
|||
private readonly QualityProvider _qualityProvider;
|
||||
private readonly RootDirProvider _rootDirProvider;
|
||||
private readonly AutoConfigureProvider _autoConfigureProvider;
|
||||
private readonly NotificationProvider _notificationProvider;
|
||||
|
||||
public SettingsController(ConfigProvider configProvider, IndexerProvider indexerProvider,
|
||||
QualityProvider qualityProvider, RootDirProvider rootDirProvider,
|
||||
AutoConfigureProvider autoConfigureProvider)
|
||||
AutoConfigureProvider autoConfigureProvider, NotificationProvider notificationProvider)
|
||||
{
|
||||
_configProvider = configProvider;
|
||||
_indexerProvider = indexerProvider;
|
||||
_qualityProvider = qualityProvider;
|
||||
_rootDirProvider = rootDirProvider;
|
||||
_autoConfigureProvider = autoConfigureProvider;
|
||||
_notificationProvider = notificationProvider;
|
||||
}
|
||||
|
||||
public ActionResult Index(string viewName)
|
||||
|
@ -313,6 +316,10 @@ namespace NzbDrone.Web.Controllers
|
|||
[HttpPost]
|
||||
public ActionResult SaveGeneral(SettingsModel data)
|
||||
{
|
||||
var basicNotification = new BasicNotification();
|
||||
basicNotification.Type = BasicNotificationType.Info;
|
||||
basicNotification.AutoDismiss = true;
|
||||
|
||||
try
|
||||
{
|
||||
foreach (var dir in data.Directories)
|
||||
|
@ -324,15 +331,26 @@ namespace NzbDrone.Web.Controllers
|
|||
{
|
||||
Logger.Debug("Failed to save Root Dirs");
|
||||
Logger.DebugException(ex.Message, ex);
|
||||
|
||||
basicNotification.Title = SETTINGS_FAILED;
|
||||
_notificationProvider.Register(basicNotification);
|
||||
return Content(SETTINGS_FAILED);
|
||||
}
|
||||
|
||||
|
||||
basicNotification.Title = SETTINGS_SAVED;
|
||||
_notificationProvider.Register(basicNotification);
|
||||
|
||||
return Content(SETTINGS_SAVED);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult SaveIndexers(IndexerSettingsModel data)
|
||||
{
|
||||
var basicNotification = new BasicNotification();
|
||||
basicNotification.Type = BasicNotificationType.Info;
|
||||
basicNotification.AutoDismiss = true;
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var nzbsOrgSettings = _indexerProvider.GetSettings(typeof(NzbsOrgProvider));
|
||||
|
@ -363,15 +381,23 @@ namespace NzbDrone.Web.Controllers
|
|||
_configProvider.NewzbinUsername = data.NewzbinUsername;
|
||||
_configProvider.NewzbinPassword = data.NewzbinPassword;
|
||||
|
||||
basicNotification.Title = SETTINGS_SAVED;
|
||||
_notificationProvider.Register(basicNotification);
|
||||
return Content(SETTINGS_SAVED);
|
||||
}
|
||||
|
||||
basicNotification.Title = SETTINGS_FAILED;
|
||||
_notificationProvider.Register(basicNotification);
|
||||
return Content(SETTINGS_FAILED);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult SaveDownloads(DownloadSettingsModel data)
|
||||
{
|
||||
var basicNotification = new BasicNotification();
|
||||
basicNotification.Type = BasicNotificationType.Info;
|
||||
basicNotification.AutoDismiss = true;
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
_configProvider.SyncFrequency = data.SyncFrequency.ToString();
|
||||
|
@ -387,15 +413,23 @@ namespace NzbDrone.Web.Controllers
|
|||
_configProvider.UseBlackhole = data.UseBlackHole;
|
||||
_configProvider.BlackholeDirectory = data.BlackholeDirectory;
|
||||
|
||||
basicNotification.Title = SETTINGS_SAVED;
|
||||
_notificationProvider.Register(basicNotification);
|
||||
return Content(SETTINGS_SAVED);
|
||||
}
|
||||
|
||||
basicNotification.Title = SETTINGS_FAILED;
|
||||
_notificationProvider.Register(basicNotification);
|
||||
return Content(SETTINGS_FAILED);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult SaveQuality(QualityModel data)
|
||||
{
|
||||
var basicNotification = new BasicNotification();
|
||||
basicNotification.Type = BasicNotificationType.Info;
|
||||
basicNotification.AutoDismiss = true;
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
_configProvider.SetValue("DefaultQualityProfile", data.DefaultQualityProfileId.ToString());
|
||||
|
@ -422,15 +456,23 @@ namespace NzbDrone.Web.Controllers
|
|||
|
||||
_qualityProvider.Update(profile);
|
||||
}
|
||||
basicNotification.Title = SETTINGS_SAVED;
|
||||
_notificationProvider.Register(basicNotification);
|
||||
return Content(SETTINGS_SAVED);
|
||||
}
|
||||
|
||||
basicNotification.Title = SETTINGS_FAILED;
|
||||
_notificationProvider.Register(basicNotification);
|
||||
return Content(SETTINGS_FAILED);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult SaveNotifications(NotificationSettingsModel data)
|
||||
{
|
||||
var basicNotification = new BasicNotification();
|
||||
basicNotification.Type = BasicNotificationType.Info;
|
||||
basicNotification.AutoDismiss = true;
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
_configProvider.SetValue("XbmcEnabled", data.XbmcEnabled.ToString());
|
||||
|
@ -448,15 +490,23 @@ namespace NzbDrone.Web.Controllers
|
|||
_configProvider.SetValue("XbmcUsername", data.XbmcUsername);
|
||||
_configProvider.SetValue("XbmcPassword", data.XbmcPassword);
|
||||
|
||||
basicNotification.Title = SETTINGS_SAVED;
|
||||
_notificationProvider.Register(basicNotification);
|
||||
return Content(SETTINGS_SAVED);
|
||||
}
|
||||
|
||||
basicNotification.Title = SETTINGS_FAILED;
|
||||
_notificationProvider.Register(basicNotification);
|
||||
return Content(SETTINGS_FAILED);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public ActionResult SaveEpisodeSorting(EpisodeSortingModel data)
|
||||
{
|
||||
var basicNotification = new BasicNotification();
|
||||
basicNotification.Type = BasicNotificationType.Info;
|
||||
basicNotification.AutoDismiss = true;
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
_configProvider.SetValue("Sorting_ShowName", data.ShowName.ToString());
|
||||
|
@ -470,9 +520,13 @@ namespace NzbDrone.Web.Controllers
|
|||
_configProvider.SetValue("Sorting_NumberStyle", data.NumberStyle.ToString());
|
||||
_configProvider.SetValue("Sorting_MultiEpisodeStyle", data.MultiEpisodeStyle.ToString());
|
||||
|
||||
basicNotification.Title = SETTINGS_SAVED;
|
||||
_notificationProvider.Register(basicNotification);
|
||||
return Content(SETTINGS_SAVED);
|
||||
}
|
||||
|
||||
basicNotification.Title = SETTINGS_FAILED;
|
||||
_notificationProvider.Register(basicNotification);
|
||||
return Content(SETTINGS_FAILED);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue