fix: exit date as default hidden column
This commit is contained in:
parent
cbe05c5ca8
commit
38d106a69e
5 changed files with 41 additions and 10 deletions
|
|
@ -600,18 +600,21 @@ defmodule Mv.Membership.Member do
|
|||
"""
|
||||
@spec show_in_overview?(atom()) :: boolean()
|
||||
def show_in_overview?(field) when is_atom(field) do
|
||||
# exit_date defaults to false (hidden) instead of true
|
||||
default_visibility = if field == :exit_date, do: false, else: true
|
||||
|
||||
case Mv.Membership.get_settings() do
|
||||
{:ok, settings} ->
|
||||
visibility_config = settings.member_field_visibility || %{}
|
||||
# Normalize map keys to atoms (JSONB may return string keys)
|
||||
normalized_config = normalize_visibility_config(visibility_config)
|
||||
|
||||
# Get value from normalized config, default to true
|
||||
Map.get(normalized_config, field, true)
|
||||
# Get value from normalized config, use field-specific default
|
||||
Map.get(normalized_config, field, default_visibility)
|
||||
|
||||
{:error, _} ->
|
||||
# If settings can't be loaded, default to visible
|
||||
true
|
||||
# If settings can't be loaded, use field-specific default
|
||||
default_visibility
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -89,7 +89,10 @@ defmodule Mv.Membership do
|
|||
default_club_name = System.get_env("ASSOCIATION_NAME") || "Club Name"
|
||||
|
||||
Mv.Membership.Setting
|
||||
|> Ash.Changeset.for_create(:create, %{club_name: default_club_name})
|
||||
|> Ash.Changeset.for_create(:create, %{
|
||||
club_name: default_club_name,
|
||||
member_field_visibility: %{"exit_date" => false}
|
||||
})
|
||||
|> Ash.create!(domain: __MODULE__)
|
||||
|> then(fn settings -> {:ok, settings} end)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue