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