diff --git a/lib/membership/custom_field.ex b/lib/membership/custom_field.ex index e1cf397..5b7514c 100644 --- a/lib/membership/custom_field.ex +++ b/lib/membership/custom_field.ex @@ -14,6 +14,7 @@ defmodule Mv.Membership.CustomField do - `description` - Optional human-readable description - `immutable` - If true, custom field values cannot be changed after creation - `required` - If true, all members must have this custom field (future feature) + - `show_in_overview` - If true, this custom field will be displayed in the member overview table and can be sorted ## Supported Value Types - `:string` - Text data (max 10,000 characters) @@ -59,10 +60,10 @@ defmodule Mv.Membership.CustomField do actions do defaults [:read, :update] - default_accept [:name, :value_type, :description, :immutable, :required] + default_accept [:name, :value_type, :description, :immutable, :required, :show_in_overview] create :create do - accept [:name, :value_type, :description, :immutable, :required] + accept [:name, :value_type, :description, :immutable, :required, :show_in_overview] change Mv.Membership.CustomField.Changes.GenerateSlug validate string_length(:slug, min: 1) end @@ -119,6 +120,12 @@ defmodule Mv.Membership.CustomField do attribute :required, :boolean, default: false, allow_nil?: false + + attribute :show_in_overview, :boolean, + default: true, + allow_nil?: false, + public?: true, + description: "If true, this custom field will be displayed in the member overview table" end relationships do