fix linting
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
carla 2026-02-20 09:16:38 +01:00
parent cb932ad6ef
commit 397f7a7975
3 changed files with 52 additions and 38 deletions

View file

@ -380,33 +380,37 @@ defmodule MvWeb.MemberExportController do
if field == "groups" do
sort_members_by_groups_export(members, order)
else
id_str = String.trim_leading(field, @custom_field_prefix)
sort_by_custom_field_value(members, field, order, custom_fields)
end
end
custom_field =
Enum.find(custom_fields, fn cf -> to_string(cf.id) == id_str end)
defp sort_by_custom_field_value(members, field, order, custom_fields) do
id_str = String.trim_leading(field, @custom_field_prefix)
if is_nil(custom_field) do
members
else
# Match table:
# 1) values first, empty last
# 2) sort only values
# 3) for desc, reverse only the values-part
{with_values, without_values} =
Enum.split_with(members, fn member ->
has_non_empty_custom_field_value?(member, custom_field)
end)
custom_field =
Enum.find(custom_fields, fn cf -> to_string(cf.id) == id_str end)
sorted_with_values =
Enum.sort_by(with_values, fn member ->
extract_member_sort_value(member, custom_field)
end)
if is_nil(custom_field) do
members
else
# Match table:
# 1) values first, empty last
# 2) sort only values
# 3) for desc, reverse only the values-part
{with_values, without_values} =
Enum.split_with(members, fn member ->
has_non_empty_custom_field_value?(member, custom_field)
end)
sorted_with_values =
if order == "desc", do: Enum.reverse(sorted_with_values), else: sorted_with_values
sorted_with_values =
Enum.sort_by(with_values, fn member ->
extract_member_sort_value(member, custom_field)
end)
sorted_with_values ++ without_values
end
sorted_with_values =
if order == "desc", do: Enum.reverse(sorted_with_values), else: sorted_with_values
sorted_with_values ++ without_values
end
end

View file

@ -686,6 +686,7 @@ defmodule MvWeb.MemberLive.Index do
socket =
if socket.assigns[:sort_needs_update] do
old_field = socket.assigns[:previous_sort_field] || socket.assigns.sort_field
socket
|> update_sort_components(old_field, socket.assigns.sort_field, socket.assigns.sort_order)
|> assign(:sort_needs_update, false)
@ -1066,7 +1067,6 @@ defmodule MvWeb.MemberLive.Index do
end
end
defp apply_sort_to_query(query, field, order) do
cond do
# Groups sort -> after load (in memory)