Configurable member field "required" flag and Vereinfacht-required fields closes #440 #441

Merged
moritz merged 13 commits from fix/required_fields into main 2026-02-23 23:28:36 +01:00
Showing only changes of commit cca2ca4632 - Show all commits

View file

@ -209,7 +209,7 @@ defmodule MvWeb.MemberFieldLive.FormComponent do
end
required =
socket.assigns[:vereinfacht_required_field?] ||
socket.assigns.vereinfacht_required_field? ||
if Map.has_key?(member_field_params, "required") do
TypeParsers.parse_boolean(member_field_params["required"])
else
@ -245,7 +245,7 @@ defmodule MvWeb.MemberFieldLive.FormComponent do
end
required =
socket.assigns[:vereinfacht_required_field?] ||
socket.assigns.vereinfacht_required_field? ||
if Map.has_key?(member_field_params, "required") do
TypeParsers.parse_boolean(member_field_params["required"])
else
@ -291,6 +291,13 @@ defmodule MvWeb.MemberFieldLive.FormComponent do
normalized_required = VisibilityConfig.normalize(required_config)
show_in_overview = Map.get(normalized_visibility, member_field, true)
vereinfacht_required? = Mv.Config.vereinfacht_configured?()
# Persist in socket so validate/save can enforce server-side without relying on render assigns
socket =
assign(
socket,
:vereinfacht_required_field?,
vereinfacht_required_field?(%{member_field: member_field})
)
# Email always required; Vereinfacht-required fields when integration active; else from settings
required =