mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 13:05:32 +09:00
feat: Toggle to "Disable new IP Login authorization" emails in /admin (#1030)
Co-authored-by: Jiralite <[email protected]> Co-authored-by: Hampus <[email protected]>
This commit is contained in:
10 files changed
+149
-44
No files matched your search
@@ -140,6 +140,10 @@ pub struct InstanceEmailIntegrationResponse {
|
||||
pub from_name: Option<String>,
|
||||
#[serde(default)]
|
||||
pub smtp: InstanceEmailSmtpIntegrationResponse,
|
||||
#[serde(default)]
|
||||
pub disable_new_ip_authorization: bool,
|
||||
#[serde(default)]
|
||||
pub effective_disable_new_ip_authorization: bool,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||
@@ -579,6 +583,8 @@ pub struct InstanceEmailIntegrationUpdateRequest {
|
||||
pub from_name: Option<String>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub smtp: Option<InstanceEmailSmtpIntegrationUpdateRequest>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub disable_new_ip_authorization: Option<bool>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default, Serialize)]
|
||||
|
||||
@@ -627,6 +627,9 @@ fn build_integrations_update(form: &MultiValueForm) -> InstanceConfigUpdateReque
|
||||
password: clean("integration_smtp_password"),
|
||||
secure: Some(form.bool_value("integration_smtp_secure")),
|
||||
}),
|
||||
disable_new_ip_authorization: Some(
|
||||
form.bool_value("integration_email_disable_new_ip_authorization"),
|
||||
),
|
||||
}),
|
||||
bluesky: Some(InstanceBlueskyIntegrationUpdateRequest {
|
||||
enabled: Some(form.bool_value("integration_bluesky_enabled")),
|
||||
|
||||
@@ -481,6 +481,11 @@ fn integrations_config_section(
|
||||
} @else {
|
||||
(badge("Effective: disabled", BadgeVariant::Default))
|
||||
}
|
||||
@if integrations.email.effective_disable_new_ip_authorization {
|
||||
(badge("IP auth disabled", BadgeVariant::Warning))
|
||||
} @else {
|
||||
(badge("IP auth required", BadgeVariant::Default))
|
||||
}
|
||||
(secret_badge("SMTP password", integrations.email.smtp.password_set))
|
||||
}
|
||||
(checkbox("integration_email_enabled", "true", "Enable email delivery", integrations.email.effective_enabled, true))
|
||||
@@ -518,6 +523,7 @@ fn integrations_config_section(
|
||||
(password_input("integration_smtp_password", "SMTP password", Some("Leave blank to keep the current password.")))
|
||||
}
|
||||
(checkbox("integration_smtp_secure", "true", "Use TLS", integrations.email.smtp.secure.unwrap_or(true), true))
|
||||
(checkbox("integration_email_disable_new_ip_authorization", "true", "Disable new IP login authorisation", integrations.email.disable_new_ip_authorization, true))
|
||||
div class="flex flex-wrap gap-2" {
|
||||
button type="submit"
|
||||
formaction={(base) "/instance-config?action=test_smtp"}
|
||||
|
||||
Reference in new issue
Block a user