Implimented the features #218

This commit is contained in:
tidusjar 2016-11-20 19:50:33 +00:00
commit 00cd6969e0
11 changed files with 277 additions and 150 deletions

View file

@ -39,7 +39,9 @@ using PlexRequests.Api.Interfaces;
using PlexRequests.Api.Models.Plex;
using PlexRequests.Core;
using PlexRequests.Core.SettingModels;
using PlexRequests.Core.Users;
using PlexRequests.Helpers;
using PlexRequests.Helpers.Permissions;
using PlexRequests.Services.Interfaces;
using PlexRequests.Services.Jobs.Templates;
using PlexRequests.Store.Models.Plex;
@ -52,8 +54,8 @@ namespace PlexRequests.Services.Jobs
{
public RecentlyAdded(IPlexApi api, ISettingsService<PlexSettings> plexSettings,
ISettingsService<EmailNotificationSettings> email, IJobRecord rec,
ISettingsService<NewletterSettings> newsletter,
IPlexReadOnlyDatabase db)
ISettingsService<NewletterSettings> newsletter,
IPlexReadOnlyDatabase db, IUserHelper userHelper)
{
JobRecord = rec;
Api = api;
@ -61,6 +63,7 @@ namespace PlexRequests.Services.Jobs
EmailSettings = email;
NewsletterSettings = newsletter;
PlexDb = db;
UserHelper = userHelper;
}
private IPlexApi Api { get; }
@ -73,6 +76,7 @@ namespace PlexRequests.Services.Jobs
private ISettingsService<NewletterSettings> NewsletterSettings { get; }
private IJobRecord JobRecord { get; }
private IPlexReadOnlyDatabase PlexDb { get; }
private IUserHelper UserHelper { get; }
private static readonly Logger Log = LogManager.GetCurrentClassLogger();
@ -177,7 +181,7 @@ namespace PlexRequests.Services.Jobs
}
sb.Append("</table><br/><br/>");
}
private void GenerateTvHtml(RecentlyAddedModel tv, PlexSettings plexSettings, StringBuilder sb)
{
// TV
@ -255,18 +259,21 @@ namespace PlexRequests.Services.Jobs
if (!testEmail)
{
if (newletterSettings.SendToPlexUsers)
//if (newletterSettings.SendToPlexUsers)
//{
var users = UserHelper.GetUsersWithFeature(Features.RequestAddedNotification);
if (users != null)
{
var users = Api.GetUsers(plexSettings.PlexAuthToken);
if (users != null)
foreach (var user in users)
{
foreach (var user in users.User)
if (!string.IsNullOrEmpty(user.EmailAddress))
{
if (user.Email != null)
message.Bcc.Add(new MailboxAddress(user.Username, user.Email));
message.Bcc.Add(new MailboxAddress(user.Username, user.EmailAddress));
}
}
}
//}
if (newletterSettings.CustomUsersEmailAddresses != null
&& newletterSettings.CustomUsersEmailAddresses.Any())