Add groups to membership overview closes #373 #422
No reviewers
Labels
No labels
bug
duplicate
enhancement
help wanted
high priority
invalid
L
low priority
M
medium priority
needs refinement
optional
question
S
UX research
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: local-it/mitgliederverwaltung#422
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/member-overview-groups"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Here’s a PR description you can use:
Description of the implemented changes
The changes were:
Add groups to member overview: column, per-group filter (All/Yes/No), sortable, URL params, and fixes
What has been changed?
New feature
exists(member_groups, …)).group_<uuid>=in/not_in) so filtered views are bookmarkable and work with back/forward.Bugfixes
apply_group_filtersused a%{}pattern, which in Elixir matches any map. Replaced with a guardwhen group_filters == %{}so only the empty map is skipped and real filters are applied.membership_fee_type_idset before creating the paid cycle soget_last_completed_cycle(which usesmember.membership_fee_type) finds the cycle and the “Paid” filter includes the member.Refactoring / code quality
MemberFilterComponent(group filter send logic); replaced single-branchcondwithifinsort_members_in_memory; moved group-filter reduce intoadd_group_filter_entry/4to lower nesting inmaybe_update_group_filters; groupedmaybe_update_group_filters/2clauses.i18n
msgstrfor “Any” → “Alle” and “Member of group %{name}” → “Mitglied der Gruppe %{name}” inpriv/gettext/de/LC_MESSAGES/default.po.Tests
index_groups_filter_test.exs,index_groups_sorting_test.exs,index_groups_url_params_test.exs,index_groups_integration_test.exs,index_groups_performance_test.exs,index_groups_display_test.exs,index_groups_accessibility_test.exs.Docs
docs/feature-roadmap.md: short note that groups are integrated in the member overview (filter/sort/column).Definition of Done
Code quality
Accessibility
Testing
Additional notes
handle_params(no_pending_group_filters/_group_filters_before_params). Emptygroup_*params yield empty filters; that matches the boolean-filter behaviour and avoids subtle bugs.mountand withAsh.Query.load(query, groups: [:id, :name, :slug])for the table; dedicated performance tests cover N+1 and many members/many groups.WIP: Add groups to membership overviewto WIP: Add groups to membership overview closes #373WIP: Add groups to membership overview closes #373to Add groups to membership overview closes #373