fix: hide paid column and add tests
Some checks reported errors
continuous-integration/drone/push Build was killed

This commit is contained in:
carla 2025-12-03 14:56:39 +01:00
parent c3b33b55a5
commit c9678231f9
4 changed files with 26 additions and 366 deletions

View file

@ -2,13 +2,6 @@
<.header>
{gettext("Members")}
<:actions>
<.live_component
module={MvWeb.Components.FieldVisibilityDropdownComponent}
id="field-visibility-dropdown"
all_fields={@all_available_fields}
custom_fields={@all_custom_fields}
selected_fields={@user_field_selection}
/>
<.button
:if={Enum.any?(@members, &MapSet.member?(@selected_members, &1.id))}
id="copy-emails-btn"
@ -46,6 +39,13 @@
paid_filter={@paid_filter}
member_count={length(@members)}
/>
<.live_component
module={MvWeb.Components.FieldVisibilityDropdownComponent}
id="field-visibility-dropdown"
all_fields={@all_available_fields}
custom_fields={@all_custom_fields}
selected_fields={@user_field_selection}
/>
</div>
<.table
@ -247,7 +247,7 @@
>
{member.join_date}
</:col>
<:col :let={member} label={gettext("Paid")}>
<:col :let={member} :if={:paid in @member_fields_visible} label={gettext("Paid")}>
<span class={[
"badge",
if(member.paid == true, do: "badge-success", else: "badge-error")

View file

@ -210,8 +210,8 @@ defmodule MvWeb.MemberLive.Index.FieldSelection do
{:ok, decoded} when is_map(decoded) ->
# Ensure all values are booleans
Enum.reduce(decoded, %{}, fn
{key, value} when is_boolean(value) -> {key, value}
{key, _value} -> {key, true}
{key, value}, acc when is_boolean(value) -> Map.put(acc, key, value)
{key, _value}, acc -> Map.put(acc, key, true)
end)
_ ->