feat: Add member fee type filter to member list #461
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#461
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/feetype_filter"
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?
Description of the implemented changes
The changes were:
Add a filter by membership fee type on the member list and refactor the filter component to satisfy Credo complexity rules.
What has been changed?
fee_type_filtersstate and URL params (fee_type_<uuid>=in|not_in), apply fee type filters inload_members, and extendbuild_query_params/reset_all_filters/handle_paramsfor fee type filters.fee_type_filter_changed), and reset logic including fee type filters. Refactoredhandle_event("update_filters", ...)by extractingparse_payment_filter,parse_prefix_filters,parse_custom_boolean_filters, anddispatch_*helpers to reduce cyclomatic complexity below Credo’s limit.fee_typesandfee_type_filtersinto the filter component.mix gettext.extractandmix gettext.mergeso new strings (e.g. “Fee types”) are in the POT and locale files.Definition of Done
Code Quality
Accessibility
Testing
Additional Notes
MemberFilterComponentonly restructures code (parse/dispatch helpers); behaviour and UI are unchanged.d214789872to5ab73aada6- Index: use FilterParams and constants; fix parse recursion; validate fee type/group IDs; OR semantics for :in; build_query_params/reset_all_filters map-based API; alias order (Credo); Map.take list deprecation fix - MemberFilterComponent: use FilterParams and constants; fee_type_filter_part helper (Credo nesting); in_not_in_filter_label_class; reset_all_filters map; button label for :not_in and combined filter count; fieldset borders - Gettext: Fee types, filter count plural, 'without %{name}' (en/de)91115103aeto8da22b3d88WIP: feat: Add member fee type filter to member listto feat: Add member fee type filter to member list