fix: sort Fee Type by name in LiveView and exports
Use Ash related-field sort (membership_fee_type.name) instead of membership_fee_type_id so column order is alphabetical. Load membership_fee_type when sorting by it even if column is hidden. In-memory re-sort (Build) uses loaded fee type name.
This commit is contained in:
parent
d41d13d122
commit
94bcb5dc8c
3 changed files with 48 additions and 19 deletions
|
|
@ -238,7 +238,10 @@ defmodule MvWeb.MemberExportController do
|
|||
parsed.computed_fields != [] and "membership_fee_status" in parsed.computed_fields
|
||||
|
||||
need_groups = "groups" in parsed.member_fields
|
||||
need_membership_fee_type = "membership_fee_type" in parsed.member_fields
|
||||
|
||||
need_membership_fee_type =
|
||||
"membership_fee_type" in parsed.member_fields or
|
||||
parsed.sort_field == "membership_fee_type"
|
||||
|
||||
query =
|
||||
Member
|
||||
|
|
@ -368,7 +371,7 @@ defmodule MvWeb.MemberExportController do
|
|||
|
||||
defp apply_membership_fee_type_sort_export(query, order) do
|
||||
order_atom = if order == "desc", do: :desc, else: :asc
|
||||
{Ash.Query.sort(query, membership_fee_type_id: order_atom), false}
|
||||
{Ash.Query.sort(query, [{"membership_fee_type.name", order_atom}]), false}
|
||||
end
|
||||
|
||||
defp apply_member_field_sort_export(query, field, order) do
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue