Implement filter for has_paid closes #227 #237

Merged
rafael merged 4 commits from feature/227_payment_filter into main 2025-12-02 16:12:44 +01:00
Showing only changes of commit 875c422b7d - Show all commits

View file

@ -208,7 +208,10 @@ defmodule MvWeb.MemberLive.Index do
@impl true @impl true
def handle_info({:search_changed, q}, socket) do def handle_info({:search_changed, q}, socket) do
socket = load_members(socket, q) socket =
socket
|> assign(:query, q)
|> load_members()
existing_field_query = socket.assigns.sort_field existing_field_query = socket.assigns.sort_field
existing_sort_query = socket.assigns.sort_order existing_sort_query = socket.assigns.sort_order
@ -233,7 +236,7 @@ defmodule MvWeb.MemberLive.Index do
socket = socket =
socket socket
|> assign(:paid_filter, filter) |> assign(:paid_filter, filter)
|> load_members(socket.assigns.query) |> load_members()
# Build the URL with all params including new filter # Build the URL with all params including new filter
query_params = query_params =
@ -270,7 +273,8 @@ defmodule MvWeb.MemberLive.Index do
|> maybe_update_search(params) |> maybe_update_search(params)
|> maybe_update_sort(params) |> maybe_update_sort(params)
|> maybe_update_paid_filter(params) |> maybe_update_paid_filter(params)
|> load_members(params["query"]) |> assign(:query, params["query"])
|> load_members()
|> prepare_dynamic_cols() |> prepare_dynamic_cols()
{:noreply, socket} {:noreply, socket}
@ -428,7 +432,9 @@ defmodule MvWeb.MemberLive.Index do
# consider implementing pagination (see Issue #165). # consider implementing pagination (see Issue #165).
# #
# Returns the socket with `:members` assigned. # Returns the socket with `:members` assigned.
defp load_members(socket, search_query) do defp load_members(socket) do
search_query = socket.assigns.query
query = query =
Mv.Membership.Member Mv.Membership.Member
|> Ash.Query.new() |> Ash.Query.new()