refactor: fix review comments
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Simon 2026-05-08 12:45:57 +02:00
parent 93e1ec7414
commit b1740e3435
Signed by: simon
GPG key ID: 40E7A58C4AA1EDB2
10 changed files with 63 additions and 199 deletions

View file

@ -85,16 +85,8 @@ defmodule MvWeb.GlobalSettingsLive do
|> assign(:oidc_configured, Mv.Config.oidc_configured?())
|> assign(:oidc_client_secret_set, Mv.Config.oidc_client_secret_set?())
|> assign(:registration_enabled, settings.registration_enabled != false)
|> assign(:smtp_env_configured, Mv.Config.smtp_env_configured?())
|> assign(:smtp_env_mode, Mv.Config.smtp_env_mode?())
|> assign(:smtp_missing_required_env_keys, Mv.Config.smtp_missing_required_env_keys())
|> assign(:smtp_host_env_set, Mv.Config.smtp_host_env_set?())
|> assign(:smtp_port_env_set, Mv.Config.smtp_port_env_set?())
|> assign(:smtp_username_env_set, Mv.Config.smtp_username_env_set?())
|> assign(:smtp_password_env_set, Mv.Config.smtp_password_env_set?())
|> assign(:smtp_ssl_env_set, Mv.Config.smtp_ssl_env_set?())
|> assign(:smtp_from_name_env_set, Mv.Config.mail_from_name_env_set?())
|> assign(:smtp_from_email_env_set, Mv.Config.mail_from_email_env_set?())
|> assign(:smtp_password_set, present?(Mv.Config.smtp_password()))
|> assign(:smtp_configured, Mv.Config.smtp_configured?())
|> assign(:smtp_test_result, nil)
@ -361,19 +353,14 @@ defmodule MvWeb.GlobalSettingsLive do
type="text"
label={gettext("Host")}
disabled={@smtp_env_mode}
placeholder={
if(@smtp_host_env_set,
do: gettext("From SMTP_HOST"),
else: "smtp.example.com"
)
}
placeholder="smtp.example.com"
/>
<.input
field={@form[:smtp_port]}
type="number"
label={gettext("Port")}
disabled={@smtp_env_mode}
placeholder={if(@smtp_port_env_set, do: gettext("From SMTP_PORT"), else: "587")}
placeholder="587"
/>
<.input
field={@form[:smtp_ssl]}
@ -385,7 +372,6 @@ defmodule MvWeb.GlobalSettingsLive do
{gettext("SSL (port 465)"), "ssl"},
{gettext("None (port 25, insecure)"), "none"}
]}
placeholder={if(@smtp_ssl_env_set, do: gettext("From SMTP_SSL"), else: nil)}
/>
</div>
@ -395,12 +381,7 @@ defmodule MvWeb.GlobalSettingsLive do
type="text"
label={gettext("Username")}
disabled={@smtp_env_mode}
placeholder={
if(@smtp_username_env_set,
do: gettext("From SMTP_USERNAME"),
else: "user@example.com"
)
}
placeholder="user@example.com"
/>
<.input
field={@form[:smtp_password]}
@ -408,14 +389,11 @@ defmodule MvWeb.GlobalSettingsLive do
label={gettext("Password")}
disabled={@smtp_env_mode}
placeholder={
if(@smtp_password_env_set,
do: gettext("From SMTP_PASSWORD"),
else:
if(@smtp_password_set,
do: gettext("Leave blank to keep current"),
else: nil
)
)
if @smtp_env_mode do
gettext("From SMTP_PASSWORD")
else
if @smtp_password_set, do: gettext("Leave blank to keep current"), else: nil
end
}
/>
</div>
@ -426,21 +404,14 @@ defmodule MvWeb.GlobalSettingsLive do
type="email"
label={gettext("Sender email (From)")}
disabled={@smtp_env_mode}
placeholder={
if(@smtp_from_email_env_set,
do: gettext("From MAIL_FROM_EMAIL"),
else: "noreply@example.com"
)
}
placeholder="noreply@example.com"
/>
<.input
field={@form[:smtp_from_name]}
type="text"
label={gettext("Sender name (From)")}
disabled={@smtp_env_mode}
placeholder={
if(@smtp_from_name_env_set, do: gettext("From MAIL_FROM_NAME"), else: "Mila")
}
placeholder="Mila"
/>
</div>
</div>
@ -450,12 +421,7 @@ defmodule MvWeb.GlobalSettingsLive do
)}
</p>
<.button
:if={
not @smtp_env_mode and
not (@smtp_host_env_set and @smtp_port_env_set and @smtp_username_env_set and
@smtp_password_env_set and @smtp_ssl_env_set and @smtp_from_email_env_set and
@smtp_from_name_env_set)
}
:if={not @smtp_env_mode}
phx-disable-with={gettext("Saving...")}
variant="primary"
class="mt-2"
@ -941,9 +907,9 @@ defmodule MvWeb.GlobalSettingsLive do
|> assign(:oidc_only, Mv.Config.oidc_only?())
|> assign(:oidc_configured, Mv.Config.oidc_configured?())
|> assign(:smtp_configured, Mv.Config.smtp_configured?())
|> assign(:smtp_env_mode, Mv.Config.smtp_env_mode?())
|> assign(:smtp_missing_required_env_keys, Mv.Config.smtp_missing_required_env_keys())
|> assign(:smtp_password_set, present?(Mv.Config.smtp_password()))
|> assign(:smtp_from_name_env_set, Mv.Config.mail_from_name_env_set?())
|> assign(:smtp_from_email_env_set, Mv.Config.mail_from_email_env_set?())
|> assign(:vereinfacht_test_result, test_result)
|> put_flash(:success, gettext("Settings updated successfully"))
|> assign_form()
@ -1283,25 +1249,17 @@ defmodule MvWeb.GlobalSettingsLive do
end
defp merge_smtp_env_values(s) do
s
|> put_if_env_set(:smtp_host, Mv.Config.smtp_host_env_set?(), Mv.Config.smtp_host())
|> put_if_env_set(:smtp_port, Mv.Config.smtp_port_env_set?(), Mv.Config.smtp_port())
|> put_if_env_set(
:smtp_username,
Mv.Config.smtp_username_env_set?(),
Mv.Config.smtp_username()
)
|> put_if_env_set(:smtp_ssl, Mv.Config.smtp_ssl_env_set?(), Mv.Config.smtp_ssl())
|> put_if_env_set(
:smtp_from_email,
Mv.Config.mail_from_email_env_set?(),
Mv.Config.mail_from_email()
)
|> put_if_env_set(
:smtp_from_name,
Mv.Config.mail_from_name_env_set?(),
Mv.Config.mail_from_name()
)
if Mv.Config.smtp_env_mode?() do
s
|> Map.put(:smtp_host, Mv.Config.smtp_host())
|> Map.put(:smtp_port, Mv.Config.smtp_port())
|> Map.put(:smtp_username, Mv.Config.smtp_username())
|> Map.put(:smtp_ssl, Mv.Config.smtp_ssl())
|> Map.put(:smtp_from_email, Mv.Config.mail_from_email())
|> Map.put(:smtp_from_name, Mv.Config.mail_from_name())
else
s
end
end
defp enrich_sync_errors([]), do: []