From 780e2a8484de09dc2d5694d082d1b76ec86a4272 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Fri, 16 Jan 2026 11:58:03 -0500 Subject: [PATCH] enable scheduled job automatically if SMTP is enabled in Site Settings --- Oqtane.Client/Modules/Admin/Jobs/Edit.razor | 3 +- Oqtane.Client/Modules/Admin/Site/Index.razor | 30 ++++++++++++++----- .../Resources/Modules/Admin/Site/Index.resx | 3 -- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/Jobs/Edit.razor b/Oqtane.Client/Modules/Admin/Jobs/Edit.razor index 24ab9849..85020c33 100644 --- a/Oqtane.Client/Modules/Admin/Jobs/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Jobs/Edit.razor @@ -248,8 +248,7 @@ job.NextExecution = null; job = await JobService.UpdateJobAsync(job); await logger.LogInformation("Job Updated {Job}", job); - await LoadJob(); - StateHasChanged(); + NavigationManager.NavigateTo(NavigateUrl()); } } } diff --git a/Oqtane.Client/Modules/Admin/Site/Index.razor b/Oqtane.Client/Modules/Admin/Site/Index.razor index bfd5022b..0852a754 100644 --- a/Oqtane.Client/Modules/Admin/Site/Index.razor +++ b/Oqtane.Client/Modules/Admin/Site/Index.razor @@ -14,6 +14,7 @@ @inject IServiceProvider ServiceProvider @inject IStringLocalizer Localizer @inject INotificationService NotificationService +@inject IJobService JobService @inject IStringLocalizer SharedLocalizer @inject IOutputCacheService CacheService @@ -207,13 +208,6 @@ @if (_smtpenabled == "True" && UserSecurity.IsAuthorized(PageState.User, RoleNames.Host)) { -
-
-
-
- @Localizer["Smtp.Required.EnableNotificationJob"]
-
-
@@ -848,6 +842,17 @@ settings = SettingService.SetSetting(settings, "SMTPSender", _smtpsender, true); settings = SettingService.SetSetting(settings, "SMTPRelay", _smtprelay, true); settings = SettingService.SetSetting(settings, "NotificationRetention", _retention.ToString(), true); + + if (_smtpenabled == "True") + { + var jobs = await JobService.GetJobsAsync(); + var job = jobs.FirstOrDefault(item => item.JobType == "Oqtane.Infrastructure.NotificationJob, Oqtane.Server"); + if (job != null && !job.IsEnabled) + { + job.IsEnabled = true; + await JobService.UpdateJobAsync(job); + } + } } //cookie consent @@ -957,7 +962,10 @@ { try { + _smtpenabled = "True"; + var settings = await SettingService.GetSiteSettingsAsync(PageState.Site.SiteId); + settings = SettingService.SetSetting(settings, "SMTPEnabled", _smtpenabled, true); settings = SettingService.SetSetting(settings, "SMTPHost", _smtphost, true); settings = SettingService.SetSetting(settings, "SMTPPort", _smtpport, true); settings = SettingService.SetSetting(settings, "SMTPSSL", _smtpssl, true); @@ -972,6 +980,14 @@ await SettingService.UpdateSiteSettingsAsync(settings, PageState.Site.SiteId); await logger.LogInformation("Site SMTP Settings Saved"); + var jobs = await JobService.GetJobsAsync(); + var job = jobs.FirstOrDefault(item => item.JobType == "Oqtane.Infrastructure.NotificationJob, Oqtane.Server"); + if (job != null && !job.IsEnabled) + { + job.IsEnabled = true; + await JobService.UpdateJobAsync(job); + } + await NotificationService.AddNotificationAsync(new Notification(PageState.Site.SiteId, PageState.User, PageState.Site.Name + " SMTP Configuration Test", "SMTP Server Is Configured Correctly.")); AddModuleMessage(Localizer["Info.Smtp.SaveSettings"], MessageType.Info); await ScrollToPageTop(); diff --git a/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx b/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx index 24fa9978..64d16606 100644 --- a/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx +++ b/Oqtane.Client/Resources/Modules/Admin/Site/Index.resx @@ -132,9 +132,6 @@ Default Admin Container - - ** Please Note That SMTP Requires The Notification Job To Be Enabled In Scheduled Jobs - Test SMTP Configuration