From fec2f7b6f6d94f17d975334281909887d350e3be Mon Sep 17 00:00:00 2001 From: Moritz Date: Mon, 23 Feb 2026 22:10:38 +0100 Subject: [PATCH] Constants: add vereinfacht_required_member_fields Defines first_name, last_name, street, postal_code, city as required when Vereinfacht integration is active. --- lib/mv/constants.ex | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/mv/constants.ex b/lib/mv/constants.ex index 4ef355d..de429e8 100644 --- a/lib/mv/constants.ex +++ b/lib/mv/constants.ex @@ -27,8 +27,26 @@ defmodule Mv.Constants do @email_validator_checks [:html_input, :pow] + # Member fields that are required when Vereinfacht integration is active (contact sync) + @vereinfacht_required_member_fields [:first_name, :last_name, :street, :postal_code, :city] + def member_fields, do: @member_fields + @doc """ + Returns member fields that are always required when Vereinfacht integration is configured. + + Used for validation, member form required indicators, and settings UI (checkbox disabled). + """ + def vereinfacht_required_member_fields, do: @vereinfacht_required_member_fields + + @doc """ + Returns whether the given member field is required by Vereinfacht when integration is active. + """ + def vereinfacht_required_field?(field) when is_atom(field), + do: field in @vereinfacht_required_member_fields + + def vereinfacht_required_field?(_), do: false + @doc """ Returns the prefix used for custom field keys in field visibility maps.