mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-06 03:26:07 +02:00
add new notification options
This commit is contained in:
parent
547291f048
commit
42145c86e8
5 changed files with 45 additions and 2 deletions
|
@ -225,6 +225,8 @@ namespace MediaBrowser.Model.Configuration
|
|||
|
||||
public double DownMixAudioBoost { get; set; }
|
||||
|
||||
public NotificationOptions NotificationOptions { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ServerConfiguration" /> class.
|
||||
/// </summary>
|
||||
|
@ -288,6 +290,8 @@ namespace MediaBrowser.Model.Configuration
|
|||
DlnaOptions = new DlnaOptions();
|
||||
|
||||
UICulture = "en-us";
|
||||
|
||||
NotificationOptions = new NotificationOptions();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -315,4 +319,20 @@ namespace MediaBrowser.Model.Configuration
|
|||
public string From { get; set; }
|
||||
public string To { get; set; }
|
||||
}
|
||||
|
||||
public class NotificationOptions
|
||||
{
|
||||
public bool SendOnUpdates { get; set; }
|
||||
public bool SendOnPlayback { get; set; }
|
||||
public bool SendOnFailedTasks { get; set; }
|
||||
public bool SendOnNewLibraryContent { get; set; }
|
||||
|
||||
public NotificationOptions()
|
||||
{
|
||||
SendOnUpdates = true;
|
||||
SendOnPlayback = true;
|
||||
SendOnFailedTasks = true;
|
||||
SendOnNewLibraryContent = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
using MediaBrowser.Common.Plugins;
|
||||
using MediaBrowser.Common.ScheduledTasks;
|
||||
using MediaBrowser.Common.Updates;
|
||||
using MediaBrowser.Controller.Configuration;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Notifications;
|
||||
|
@ -27,6 +28,8 @@ namespace MediaBrowser.Server.Implementations.EntryPoints.Notifications
|
|||
private readonly ITaskManager _taskManager;
|
||||
private readonly INotificationManager _notificationManager;
|
||||
|
||||
private IServerConfigurationManager _config;
|
||||
|
||||
public Notifications(IInstallationManager installationManager, IUserManager userManager, ILogger logger, ITaskManager taskManager, INotificationManager notificationManager)
|
||||
{
|
||||
_installationManager = installationManager;
|
||||
|
@ -75,7 +78,8 @@ namespace MediaBrowser.Server.Implementations.EntryPoints.Notifications
|
|||
{
|
||||
var result = e.Argument;
|
||||
|
||||
if (result.Status == TaskCompletionStatus.Failed)
|
||||
if (result.Status == TaskCompletionStatus.Failed &&
|
||||
_config.Configuration.NotificationOptions.SendOnFailedTasks)
|
||||
{
|
||||
var userIds = _userManager
|
||||
.Users
|
||||
|
@ -130,6 +134,11 @@ namespace MediaBrowser.Server.Implementations.EntryPoints.Notifications
|
|||
|
||||
async void _installationManager_PackageInstallationCompleted(object sender, InstallationEventArgs e)
|
||||
{
|
||||
if (!_config.Configuration.NotificationOptions.SendOnUpdates)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var installationInfo = e.InstallationInfo;
|
||||
|
||||
var userIds = _userManager
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
"TabProfile": "Profile",
|
||||
"TabMetadata": "Metadata",
|
||||
"TabImages": "Images",
|
||||
"TabNotifications": "Notifications"
|
||||
"TabCollectionTitles": "Titles",
|
||||
"LabelDisplayMissingEpisodesWithinSeasons": "Display missing episodes within seasons",
|
||||
"LabelUnairedMissingEpisodesWithinSeasons": "Display unaired episodes within seasons",
|
||||
|
@ -554,5 +555,11 @@
|
|||
"HeaderRequireManualLogin": "Require manual username entry for:",
|
||||
"HeaderRequireManualLoginHelp": "When disabled clients may present a login screen with a visual selection of users.",
|
||||
"OptionOtherApps": "Other apps",
|
||||
"OptionMobileApps": "Mobile apps"
|
||||
"OptionMobileApps": "Mobile apps",
|
||||
"HeaderEnableNotificationForEvents": "Send notifications for the following events:",
|
||||
"OptionNotifyOnUpdates": "When updates are available",
|
||||
"OptionNotifyOnPlayback": "When users play content",
|
||||
"OptionNotifyOnFailedTasks": "When scheduled tasks fail",
|
||||
"OptionNotifyOnNewLibraryContent": "When new library content is added",
|
||||
"SendNotificationHelp": "Notifications are delivered to the dashboard inbox. Browse the plugin catalog to install additional notification formats such as email and text messaging."
|
||||
}
|
|
@ -597,6 +597,7 @@ namespace MediaBrowser.WebDashboard.Api
|
|||
"musicrecommended.js",
|
||||
"musicvideos.js",
|
||||
"notifications.js",
|
||||
"notificationsettings.js",
|
||||
"playlist.js",
|
||||
"plugincatalogpage.js",
|
||||
"pluginspage.js",
|
||||
|
|
|
@ -508,6 +508,9 @@
|
|||
<Content Include="dashboard-ui\livetvrecordings.html">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="dashboard-ui\notificationsettings.html">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="dashboard-ui\nowplaying.html">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
@ -631,6 +634,9 @@
|
|||
<Content Include="dashboard-ui\scripts\livetvrecordings.js">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="dashboard-ui\scripts\notificationsettings.js">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="dashboard-ui\scripts\nowplayingbar.js">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
|
|
Loading…
Reference in a new issue