feat: improve field order for approvals and add seeds
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Simon 2026-03-12 16:15:57 +01:00
parent a5ce7cb921
commit a7481f6ab1
Signed by: simon
GPG key ID: 40E7A58C4AA1EDB2
8 changed files with 245 additions and 109 deletions

View file

@ -263,6 +263,21 @@ default_hidden_in_overview = %{
"membership_fee_start_date" => false
}
# Default join form field selection (email + name + address + join_date); join form stays disabled.
default_join_form_field_ids = [
"email",
"first_name",
"last_name",
"street",
"house_number",
"postal_code",
"city",
"country",
"join_date"
]
default_join_form_field_required = %{"email" => true}
case Membership.get_settings() do
{:ok, existing_settings} ->
updates =
@ -304,7 +319,9 @@ case Membership.get_settings() do
|> Ash.Changeset.for_create(:create, %{
club_name: default_club_name,
member_field_visibility: default_hidden_in_overview,
default_membership_fee_type_id: default_fee_type.id
default_membership_fee_type_id: default_fee_type.id,
join_form_field_ids: default_join_form_field_ids,
join_form_field_required: default_join_form_field_required
})
|> Ash.create!()
end

View file

@ -481,19 +481,28 @@ for {email, values} <- custom_value_assignments do
end
end
# Join form: enable so membership application list is visible in dev
# Join form: enable so membership application list is visible in dev; default field list includes address + join_date
default_join_form_field_ids = [
"email",
"first_name",
"last_name",
"street",
"house_number",
"postal_code",
"city",
"country",
"join_date"
]
default_join_form_field_required = %{"email" => true}
case Membership.get_settings() do
{:ok, settings} ->
unless settings.join_form_enabled do
Membership.update_settings(settings, %{
join_form_enabled: true,
join_form_field_ids: settings.join_form_field_ids || ["email", "first_name", "last_name", "city"],
join_form_field_required: settings.join_form_field_required || %{
"email" => true,
"first_name" => false,
"last_name" => false,
"city" => false
}
join_form_field_ids: settings.join_form_field_ids || default_join_form_field_ids,
join_form_field_required: settings.join_form_field_required || default_join_form_field_required
})
end
_ ->