Configurable member field "required" flag and Vereinfacht-required fields closes #440 #441
1 changed files with 9 additions and 2 deletions
|
|
@ -209,7 +209,7 @@ defmodule MvWeb.MemberFieldLive.FormComponent do
|
||||||
end
|
end
|
||||||
|
|
||||||
required =
|
required =
|
||||||
socket.assigns[:vereinfacht_required_field?] ||
|
socket.assigns.vereinfacht_required_field? ||
|
||||||
if Map.has_key?(member_field_params, "required") do
|
if Map.has_key?(member_field_params, "required") do
|
||||||
TypeParsers.parse_boolean(member_field_params["required"])
|
TypeParsers.parse_boolean(member_field_params["required"])
|
||||||
else
|
else
|
||||||
|
|
@ -245,7 +245,7 @@ defmodule MvWeb.MemberFieldLive.FormComponent do
|
||||||
end
|
end
|
||||||
|
|
||||||
required =
|
required =
|
||||||
socket.assigns[:vereinfacht_required_field?] ||
|
socket.assigns.vereinfacht_required_field? ||
|
||||||
if Map.has_key?(member_field_params, "required") do
|
if Map.has_key?(member_field_params, "required") do
|
||||||
TypeParsers.parse_boolean(member_field_params["required"])
|
TypeParsers.parse_boolean(member_field_params["required"])
|
||||||
else
|
else
|
||||||
|
|
@ -291,6 +291,13 @@ defmodule MvWeb.MemberFieldLive.FormComponent do
|
||||||
normalized_required = VisibilityConfig.normalize(required_config)
|
normalized_required = VisibilityConfig.normalize(required_config)
|
||||||
show_in_overview = Map.get(normalized_visibility, member_field, true)
|
show_in_overview = Map.get(normalized_visibility, member_field, true)
|
||||||
vereinfacht_required? = Mv.Config.vereinfacht_configured?()
|
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
|
# Email always required; Vereinfacht-required fields when integration active; else from settings
|
||||||
required =
|
required =
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue