fix linting
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing

This commit is contained in:
carla 2026-02-09 14:08:12 +01:00
parent 80fe73a561
commit e68a7cf8c7
4 changed files with 456 additions and 390 deletions

View file

@ -245,7 +245,10 @@ defmodule MvWeb.MemberLive.Index do
new_show_current,
socket.assigns.boolean_custom_field_filters
)
|> maybe_add_field_selection(socket.assigns[:user_field_selection], socket.assigns[:fields_in_url?] || false)
|> maybe_add_field_selection(
socket.assigns[:user_field_selection],
socket.assigns[:fields_in_url?] || false
)
new_path = ~p"/members?#{query_params}"
@ -352,7 +355,10 @@ defmodule MvWeb.MemberLive.Index do
socket.assigns.show_current_cycle,
socket.assigns.boolean_custom_field_filters
)
|> maybe_add_field_selection(socket.assigns[:user_field_selection], socket.assigns[:fields_in_url?] || false)
|> maybe_add_field_selection(
socket.assigns[:user_field_selection],
socket.assigns[:fields_in_url?] || false
)
{:noreply, push_patch(socket, to: ~p"/members?#{query_params}", replace: true)}
end
@ -374,7 +380,10 @@ defmodule MvWeb.MemberLive.Index do
socket.assigns.show_current_cycle,
socket.assigns.boolean_custom_field_filters
)
|> maybe_add_field_selection(socket.assigns[:user_field_selection], socket.assigns[:fields_in_url?] || false)
|> maybe_add_field_selection(
socket.assigns[:user_field_selection],
socket.assigns[:fields_in_url?] || false
)
new_path = ~p"/members?#{query_params}"
@ -398,7 +407,10 @@ defmodule MvWeb.MemberLive.Index do
socket.assigns.show_current_cycle,
socket.assigns.boolean_custom_field_filters
)
|> maybe_add_field_selection(socket.assigns[:user_field_selection], socket.assigns[:fields_in_url?] || false)
|> maybe_add_field_selection(
socket.assigns[:user_field_selection],
socket.assigns[:fields_in_url?] || false
)
new_path = ~p"/members?#{query_params}"
{:noreply, push_patch(socket, to: new_path, replace: true)}
@ -428,7 +440,10 @@ defmodule MvWeb.MemberLive.Index do
socket.assigns.show_current_cycle,
updated_filters
)
|> maybe_add_field_selection(socket.assigns[:user_field_selection], socket.assigns[:fields_in_url?] || false)
|> maybe_add_field_selection(
socket.assigns[:user_field_selection],
socket.assigns[:fields_in_url?] || false
)
new_path = ~p"/members?#{query_params}"
{:noreply, push_patch(socket, to: new_path, replace: true)}
@ -452,7 +467,10 @@ defmodule MvWeb.MemberLive.Index do
socket.assigns.show_current_cycle,
boolean_filters
)
|> maybe_add_field_selection(socket.assigns[:user_field_selection], socket.assigns[:fields_in_url?] || false)
|> maybe_add_field_selection(
socket.assigns[:user_field_selection],
socket.assigns[:fields_in_url?] || false
)
new_path = ~p"/members?#{query_params}"
{:noreply, push_patch(socket, to: new_path, replace: true)}
@ -542,11 +560,12 @@ defmodule MvWeb.MemberLive.Index do
@impl true
def handle_params(params, _url, socket) do
prev_sig = build_signature(socket)
fields_in_url? =
case Map.get(params, "fields") do
v when is_binary(v) and v != "" -> true
_ -> false
end
case Map.get(params, "fields") do
v when is_binary(v) and v != "" -> true
_ -> false
end
url_selection = FieldSelection.parse_from_url(params)
@ -691,9 +710,10 @@ defmodule MvWeb.MemberLive.Index do
defp maybe_add_field_selection(params, selection, true) when is_map(selection) do
fields_param = FieldSelection.to_url_param(selection)
cond do
fields_param == "" -> Map.delete(params, "fields")
true -> Map.put(params, "fields", fields_param)
if fields_param == "" do
Map.delete(params, "fields")
else
Map.put(params, "fields", fields_param)
end
end
@ -900,15 +920,23 @@ defmodule MvWeb.MemberLive.Index do
defp maybe_sort(query, _field, nil, _custom_fields), do: {query, false}
defp maybe_sort(query, field, order, _custom_fields) do
if computed_field?(field) do
{query, false}
else
apply_sort_to_query(query, field, order)
end
end
defp computed_field?(field) do
computed_atoms = FieldVisibility.computed_member_fields()
computed_strings = Enum.map(computed_atoms, &Atom.to_string/1)
cond do
# Block computed fields (atom and string variants)
(is_atom(field) and field in computed_atoms) or
(is_binary(field) and field in computed_strings) ->
{query, false}
(is_atom(field) and field in computed_atoms) or
(is_binary(field) and field in computed_strings)
end
defp apply_sort_to_query(query, field, order) do
cond do
# Custom field sort -> after load
custom_field_sort?(field) ->
{query, true}