only hosts should be allowed to view/edit SMTP settings

This commit is contained in:
sbwalker
2025-08-07 14:42:24 -04:00
parent a37f07d20b
commit 3bd6767138

View File

@ -202,7 +202,7 @@
</select> </select>
</div> </div>
</div> </div>
@if (_smtpenabled == "True") @if (_smtpenabled == "True" && UserSecurity.IsAuthorized(PageState.User, RoleNames.Host))
{ {
<div class="row mb-1 align-items-center"> <div class="row mb-1 align-items-center">
<div class="col-sm-3"> <div class="col-sm-3">
@ -609,21 +609,24 @@
// SMTP // SMTP
_smtpenabled = SettingService.GetSetting(settings, "SMTPEnabled", "False"); _smtpenabled = SettingService.GetSetting(settings, "SMTPEnabled", "False");
_smtphost = SettingService.GetSetting(settings, "SMTPHost", string.Empty); if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host))
_smtpport = SettingService.GetSetting(settings, "SMTPPort", string.Empty); {
_smtpssl = SettingService.GetSetting(settings, "SMTPSSL", "False"); _smtphost = SettingService.GetSetting(settings, "SMTPHost", string.Empty);
_smtpauthentication = SettingService.GetSetting(settings, "SMTPAuthentication", "Basic"); _smtpport = SettingService.GetSetting(settings, "SMTPPort", string.Empty);
_smtpusername = SettingService.GetSetting(settings, "SMTPUsername", string.Empty); _smtpssl = SettingService.GetSetting(settings, "SMTPSSL", "False");
_smtppassword = SettingService.GetSetting(settings, "SMTPPassword", string.Empty); _smtpauthentication = SettingService.GetSetting(settings, "SMTPAuthentication", "Basic");
_togglesmtppassword = SharedLocalizer["ShowPassword"]; _smtpusername = SettingService.GetSetting(settings, "SMTPUsername", string.Empty);
_smtpauthority = SettingService.GetSetting(settings, "SMTPAuthority", string.Empty); _smtppassword = SettingService.GetSetting(settings, "SMTPPassword", string.Empty);
_smtpclientid = SettingService.GetSetting(settings, "SMTPClientId", string.Empty); _togglesmtppassword = SharedLocalizer["ShowPassword"];
_smtpclientsecret = SettingService.GetSetting(settings, "SMTPClientSecret", string.Empty); _smtpauthority = SettingService.GetSetting(settings, "SMTPAuthority", string.Empty);
_togglesmtpclientsecret = SharedLocalizer["ShowPassword"]; _smtpclientid = SettingService.GetSetting(settings, "SMTPClientId", string.Empty);
_smtpscopes = SettingService.GetSetting(settings, "SMTPScopes", string.Empty); _smtpclientsecret = SettingService.GetSetting(settings, "SMTPClientSecret", string.Empty);
_smtpsender = SettingService.GetSetting(settings, "SMTPSender", string.Empty); _togglesmtpclientsecret = SharedLocalizer["ShowPassword"];
_smtprelay = SettingService.GetSetting(settings, "SMTPRelay", "False"); _smtpscopes = SettingService.GetSetting(settings, "SMTPScopes", string.Empty);
_retention = int.Parse(SettingService.GetSetting(settings, "NotificationRetention", "30")); _smtpsender = SettingService.GetSetting(settings, "SMTPSender", string.Empty);
_smtprelay = SettingService.GetSetting(settings, "SMTPRelay", "False");
_retention = int.Parse(SettingService.GetSetting(settings, "NotificationRetention", "30"));
}
// PWA // PWA
_pwaisenabled = site.PwaIsEnabled.ToString(); _pwaisenabled = site.PwaIsEnabled.ToString();
@ -800,21 +803,23 @@
// SMTP // SMTP
var settings = await SettingService.GetSiteSettingsAsync(site.SiteId); var settings = await SettingService.GetSiteSettingsAsync(site.SiteId);
settings = SettingService.SetSetting(settings, "SMTPHost", _smtphost, true);
settings = SettingService.SetSetting(settings, "SMTPPort", _smtpport, true);
settings = SettingService.SetSetting(settings, "SMTPSSL", _smtpssl, true);
settings = SettingService.SetSetting(settings, "SMTPAuthentication", _smtpauthentication, true);
settings = SettingService.SetSetting(settings, "SMTPUsername", _smtpusername, true);
settings = SettingService.SetSetting(settings, "SMTPPassword", _smtppassword, true);
settings = SettingService.SetSetting(settings, "SMTPAuthority", _smtpauthority, true);
settings = SettingService.SetSetting(settings, "SMTPClientId", _smtpclientid, true);
settings = SettingService.SetSetting(settings, "SMTPClientSecret", _smtpclientsecret, true);
settings = SettingService.SetSetting(settings, "SMTPScopes", _smtpscopes, true);
settings = SettingService.SetSetting(settings, "SMTPSender", _smtpsender, true);
settings = SettingService.SetSetting(settings, "SMTPRelay", _smtprelay, true);
settings = SettingService.SetSetting(settings, "SMTPEnabled", _smtpenabled, true); settings = SettingService.SetSetting(settings, "SMTPEnabled", _smtpenabled, true);
settings = SettingService.SetSetting(settings, "SiteGuid", _siteguid, true); if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host))
settings = SettingService.SetSetting(settings, "NotificationRetention", _retention.ToString(), true); {
settings = SettingService.SetSetting(settings, "SMTPHost", _smtphost, true);
settings = SettingService.SetSetting(settings, "SMTPPort", _smtpport, true);
settings = SettingService.SetSetting(settings, "SMTPSSL", _smtpssl, true);
settings = SettingService.SetSetting(settings, "SMTPAuthentication", _smtpauthentication, true);
settings = SettingService.SetSetting(settings, "SMTPUsername", _smtpusername, true);
settings = SettingService.SetSetting(settings, "SMTPPassword", _smtppassword, true);
settings = SettingService.SetSetting(settings, "SMTPAuthority", _smtpauthority, true);
settings = SettingService.SetSetting(settings, "SMTPClientId", _smtpclientid, true);
settings = SettingService.SetSetting(settings, "SMTPClientSecret", _smtpclientsecret, true);
settings = SettingService.SetSetting(settings, "SMTPScopes", _smtpscopes, true);
settings = SettingService.SetSetting(settings, "SMTPSender", _smtpsender, true);
settings = SettingService.SetSetting(settings, "SMTPRelay", _smtprelay, true);
settings = SettingService.SetSetting(settings, "NotificationRetention", _retention.ToString(), true);
}
//cookie consent //cookie consent
settings = SettingService.SetSetting(settings, "CookieConsent", _cookieconsent); settings = SettingService.SetSetting(settings, "CookieConsent", _cookieconsent);
@ -822,6 +827,7 @@
// functionality // functionality
settings = SettingService.SetSetting(settings, "TextEditor", _textEditor); settings = SettingService.SetSetting(settings, "TextEditor", _textEditor);
settings = SettingService.SetSetting(settings, "SiteGuid", _siteguid, true);
await SettingService.UpdateSiteSettingsAsync(settings, site.SiteId); await SettingService.UpdateSiteSettingsAsync(settings, site.SiteId);
await logger.LogInformation("Site Settings Saved {Site}", site); await logger.LogInformation("Site Settings Saved {Site}", site);