Commit graph

441 commits

Author SHA1 Message Date
68ceaced0c
feat(members): show and sort by Fee Type in member overview
Load membership_fee_type when column visible; sort by membership_fee_type_id;
add table column with SortHeader and fee type name.
2026-02-23 23:55:03 +01:00
b7ef69813b
feat(members): add Fee Type label and gettext strings
MemberFields.label(:membership_fee_type), DE: Beitragsart.
2026-02-23 23:54:59 +01:00
5715a22b0c
feat(members): add membership_fee_type to overview pseudo fields
Allow Fee Type as selectable column in member overview dropdown.
2026-02-23 23:54:50 +01:00
50c4ab049d
core_components: set aria-required for required inputs (WCAG)
ensure_aria_required_for_input/1 adds aria-required when required
in rest; applied to select, textarea and default input.
2026-02-23 22:51:13 +01:00
cca2ca4632
FormComponent: persist vereinfacht_required_field? in socket
Assign in assign_form so validate/save enforce server-side without
relying on render assigns; use socket.assigns.vereinfacht_required_field?
2026-02-23 22:50:34 +01:00
27b9cbe814
Member form: required per field from settings and Vereinfacht
Load settings, build member_field_required_map and pass required to
inputs for asterisk, tooltip and validation.
2026-02-23 22:13:46 +01:00
8933ad9d14
Member field settings: required checkbox, line break, toggle fix
Index/Form use member_field_required; Required disabled for email and
Vereinfacht-required fields with tooltip. Rebuild form with to_form
on validate to fix checkbox toggle. Add mt-4 block before Required.
2026-02-23 22:13:31 +01:00
d9491dea9c
Member show: present? check for vereinfacht_contact_id in UI
Use vereinfacht_contact_present assign so empty string is not treated as present.
2026-02-23 20:49:34 +01:00
b60ab3f392
Member show: Vereinfacht link only, receipts table from API
- Show only 'Kontakt in Vereinfacht anzeigen' link (no Contact ID / Debug)
- Button loads receipts via get_contact_with_receipts, table with formatted columns
2026-02-23 19:54:44 +01:00
9d3c72acff
Add Vereinfacht app URL setting and contact view URL
- Setting attribute vereinfacht_app_url, migration, .env.example
- Config: vereinfacht_app_url() from env/setting or derived from API URL
- Contact view URL uses app URL with /en/admin/finances/contacts/{id}
- Global settings: App URL field, read-only when VEREINFACHT_APP_URL set
- Tests: update contact view URL expectations
2026-02-23 19:54:43 +01:00
e1e0469e41
Global settings: API key redaction and per-field ENV
Never put API key in form/DOM; show (set) badge, drop blank on save.
Per-field disabled when ENV set; save button only when not all from ENV.
2026-02-23 19:54:41 +01:00
a23f999eee
fix(a11y): WCAG 2 AA contrast and keyboard access 2026-02-23 19:54:36 +01:00
376086ae0f
feat(vereinfacht): member form flash and show page
- Form: show Vereinfacht sync warning after save via SyncFlash
- Show: load API debug response; MembershipFees: contact ID, link, no-contact warning
2026-02-23 19:51:32 +01:00
5343b78750
feat(vereinfacht): Settings UI and bulk sync
- GlobalSettingsLive: Vereinfacht section, sync button, last sync result
- Test: Vereinfacht Integration section visible
2026-02-23 19:51:32 +01:00
be9d12f181 Merge pull request 'finalize groups' (#437) from feature/finalize-groups into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #437
2026-02-23 17:27:48 +01:00
01d901a61d Merge branch 'main' into feature/428_export_groups
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-02-23 16:11:13 +01:00
381e09dd1d Merge branch 'main' into bug/429_light_dark_mode
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-02-23 15:32:47 +01:00
123227a50e
refactor: add data-testid selectors for groups ui
Some checks failed
continuous-integration/drone/push Build is failing
2026-02-20 16:34:15 +01:00
83b104ecf3
refactor: when adding group members, search in-memory on typing 2026-02-20 15:56:12 +01:00
ec814a8c94
refactor: remove db read on focus for groups view 2026-02-20 15:09:37 +01:00
397f7a7975 fix linting
Some checks failed
continuous-integration/drone/push Build is failing
2026-02-20 09:16:38 +01:00
cb932ad6ef feat: respects sorting groups for export
Some checks failed
continuous-integration/drone/push Build is failing
2026-02-20 08:45:55 +01:00
dbdac5870a fix: adds shoe/hide for group column 2026-02-20 08:45:21 +01:00
01f62297fc feat: add groups to export 2026-02-19 14:36:35 +01:00
cbed65de66 feat: fix light dark mode issue
Some checks failed
continuous-integration/drone/push Build is failing
2026-02-19 12:55:29 +01:00
2315f2588f Merge branch 'main' into bug/289_rauthy_error_message
Some checks failed
continuous-integration/drone/push Build is failing
2026-02-19 10:02:30 +01:00
0fd1b7e142 fix testsand load performance
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-02-19 09:40:02 +01:00
0333f9e722 fix: tests failing in ci
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is failing
2026-02-19 08:55:55 +01:00
9b1aad884e style: use same disabled field as for memberfield 2026-02-18 17:01:43 +01:00
e47e266570 feat: type not editable 2026-02-18 16:42:54 +01:00
d1fefcca7d formatting
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is failing
2026-02-18 16:18:26 +01:00
b5fc03e94f refactor
Some checks failed
continuous-integration/drone/push Build is failing
2026-02-18 16:10:46 +01:00
ac13a39e7c Merge branch 'main' into bug/289_rauthy_error_message
All checks were successful
continuous-integration/drone/push Build is passing
2026-02-18 12:53:48 +01:00
002d723d0e fix: tests and flash layout 2026-02-18 12:53:25 +01:00
a25263b721 fix: adds user friendly flas message 2026-02-17 19:29:49 +01:00
b18f895939 chore: rename ImportExport module to Import
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-02-17 18:59:18 +01:00
ce542eae3e fix: missing actor on tturning back from edit 2026-02-17 18:59:18 +01:00
cecb547bd6 bug: adds membership startdate column
Some checks failed
continuous-integration/drone/push Build is failing
2026-02-17 17:54:25 +01:00
911f308a67
fix: address review comments
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/promote/production Build is passing
2026-02-17 15:30:23 +01:00
b1a9eb8b1d
feat: add groups to member detail view #374
All checks were successful
continuous-integration/drone/push Build is passing
2026-02-17 14:15:43 +01:00
6831ba046f
Merge remote-tracking branch 'origin/main' into feature/member-overview-groups
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-02-16 15:57:57 +01:00
ace59bbae6
fix: implement review comments
All checks were successful
continuous-integration/drone/push Build is passing
2026-02-16 15:30:16 +01:00
5fd7c0e7f6
feat: improve groups fillter
Some checks failed
continuous-integration/drone/push Build is failing
2026-02-13 17:45:51 +01:00
22458cd52b Merge branch 'main' into feature/286_export_pdf
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-02-13 17:40:39 +01:00
baa288bff3 refactor 2026-02-13 17:21:14 +01:00
dce4b2cf33
feat: add groups to member overview 2026-02-13 09:28:16 +01:00
f08c5d59f3 StatisticsLive: load statistics only in handle_params
Some checks reported errors
continuous-integration/drone/push Build was killed
continuous-integration/drone/promote/production Build is passing
2026-02-12 19:35:48 +01:00
4b61289f33 Statistics LiveView: robust URL, load_fee_types error handling, clamp percents 2026-02-12 19:35:48 +01:00
490dced8c8 Statistics: member stats independent of fee type 2026-02-12 19:35:48 +01:00
6e309622a0 Add StatisticsLive: overview, bars by year, pie chart
- Summary cards: active/inactive members, open amount
- Joins and exits by year (horizontal bars)
- Contributions by year: table with stacked bar above amounts
- Column order: Paid, Unpaid, Suspended, Total; color dots for legend
- All years combined pie chart
- LiveView tests
2026-02-12 19:35:48 +01:00