Member: skip required custom fields validation for set_vereinfacht_contact_id
Validation runs only for create_member and update_member so Vereinfacht sync (which only sets vereinfacht_contact_id) no longer fails with Required custom fields missing.
This commit is contained in:
parent
e9ed61a8fd
commit
b3b8b31c0f
1 changed files with 39 additions and 35 deletions
|
|
@ -500,14 +500,17 @@ defmodule Mv.Membership.Member do
|
|||
end
|
||||
end
|
||||
|
||||
# Validate required custom fields (actor from validation context only; no fallback)
|
||||
# Validate required custom fields (actor from validation context only; no fallback).
|
||||
# Only for create_member/update_member; skip for set_vereinfacht_contact_id (internal sync
|
||||
# only sets vereinfacht_contact_id; custom fields were already validated and saved).
|
||||
validate fn changeset, context ->
|
||||
provided_values = provided_custom_field_values(changeset)
|
||||
actor = context.actor
|
||||
|
||||
case Mv.Membership.list_required_custom_fields(actor: actor) do
|
||||
{:ok, required_custom_fields} ->
|
||||
missing_fields = missing_required_fields(required_custom_fields, provided_values)
|
||||
missing_fields =
|
||||
missing_required_fields(required_custom_fields, provided_values)
|
||||
|
||||
if Enum.empty?(missing_fields) do
|
||||
:ok
|
||||
|
|
@ -543,7 +546,8 @@ defmodule Mv.Membership.Member do
|
|||
message:
|
||||
"Unable to validate required custom fields. Please try again or contact support."}
|
||||
end
|
||||
end
|
||||
end,
|
||||
where: [action_is([:create_member, :update_member])]
|
||||
|
||||
# Validate member fields that are marked as required in settings or by Vereinfacht.
|
||||
# When settings cannot be loaded, we still enforce email + Vereinfacht-required fields.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue