示例#1
0
        private void UpdateApplicationSettings()
        {
            var plex        = PlexRequestSettings.GetSettings();
            var jobSettings = Jobs.GetSettings();
            var newsLetter  = NewsletterSettings.GetSettings();

            newsLetter.SendToPlexUsers = true;
            UpdateScheduledSettings(jobSettings);

            if (plex.SendRecentlyAddedEmail)
            {
                newsLetter.SendRecentlyAddedEmail = plex.SendRecentlyAddedEmail;
                plex.SendRecentlyAddedEmail       = false;
                PlexRequestSettings.SaveSettings(plex);
            }


            NewsletterSettings.SaveSettings(newsLetter);
            Jobs.SaveSettings(jobSettings);
        }
示例#2
0
        private void PopulateDefaultUserManagementSettings()
        {
            try
            {
                var plexRequestSettings = PlexRequestSettings.GetSettings();

                UserManagementSettings.SaveSettings(new UserManagementSettings
                {
                    AutoApproveMovies  = !plexRequestSettings.RequireMovieApproval,
                    RequestTvShows     = plexRequestSettings.SearchForTvShows,
                    RequestMusic       = plexRequestSettings.SearchForMusic,
                    RequestMovies      = plexRequestSettings.SearchForMovies,
                    AutoApproveMusic   = !plexRequestSettings.RequireMusicApproval,
                    AutoApproveTvShows = !plexRequestSettings.RequireTvShowApproval
                });
            }
            catch (Exception e)
            {
                Logger.Fatal("Exception when migrating Version 1.10.0 (PopulateDefaultUserMngmentSettings)");
                Logger.Fatal(e);
            }
        }
示例#3
0
        private void UpdatePlexUsers()
        {
            try
            {
                var settings = PlexSettings.GetSettings();
                if (string.IsNullOrEmpty(settings.PlexAuthToken))
                {
                    return;
                }
                var plexUsers = PlexApi.GetUsers(settings.PlexAuthToken);

                if (plexUsers?.User == null)
                {
                    return;
                }

                var prSettings = PlexRequestSettings.GetSettings();

                var dbUsers = PlexUsers.GetAll().ToList();
                foreach (var user in plexUsers.User)
                {
                    if (dbUsers.FirstOrDefault(x => x.PlexUserId == user.Id) != null)
                    {
                        continue;
                    }

                    int permissions = 0;
                    if (prSettings.SearchForMovies)
                    {
                        permissions = (int)Permissions.RequestMovie;
                    }
                    if (prSettings.SearchForTvShows)
                    {
                        permissions += (int)Permissions.RequestTvShow;
                    }
                    if (prSettings.SearchForMusic)
                    {
                        permissions += (int)Permissions.RequestMusic;
                    }
                    if (!prSettings.RequireMovieApproval)
                    {
                        permissions += (int)Permissions.AutoApproveMovie;
                    }
                    if (!prSettings.RequireTvShowApproval)
                    {
                        permissions += (int)Permissions.AutoApproveTv;
                    }
                    if (!prSettings.RequireMusicApproval)
                    {
                        permissions += (int)Permissions.AutoApproveAlbum;
                    }

                    // Add report Issues

                    permissions += (int)Permissions.ReportIssue;

                    var m = new PlexUsers
                    {
                        PlexUserId   = user.Id,
                        Permissions  = permissions,
                        Features     = 0,
                        UserAlias    = string.Empty,
                        EmailAddress = user.Email,
                        Username     = user.Username,
                        LoginId      = Guid.NewGuid().ToString()
                    };

                    PlexUsers.Insert(m);
                }
            }
            catch (Exception e)
            {
                Logger.Fatal("Exception when migrating Version 1.10.0 (UpdatePlexUsers)");
                Logger.Fatal(e);
            }
        }