0614592674
Merge remote-tracking branch 'origin/main' into feature/308-web-form
continuous-integration/drone/push Build is passing
2026-03-09 18:18:16 +01:00
6385fbc831
feat: add join confirmation and mail templating
continuous-integration/drone/push Build is passing
2026-03-09 18:15:12 +01:00
3672ef0d03
test: add tests for join mail confirmation
continuous-integration/drone/push Build is failing
2026-03-09 17:02:30 +01:00
f601550526
fix translations
continuous-integration/drone/push Build was killed
2026-03-09 16:45:14 +01:00
8da22b3d88
Apply review feedback and fix Credo in fee type filter
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
- 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)
2026-03-09 14:33:58 +01:00
ae07e3efc2
Add filter prefix constants and shared FilterParams module
...
- Mv.Constants: group_filter_prefix/0, fee_type_filter_prefix/0
- MvWeb.MemberLive.Index.FilterParams: parse_in_not_in_value/1 for URL param parsing
2026-03-09 14:33:58 +01:00
a8f12d1c91
Add member fee type filter to member list
...
- Filter by membership fee type in same style as groups (All/Yes/No per type)
- Index: load fee types, fee_type_filters, URL params, apply_fee_type_filters
- MemberFilterComponent: fee types section, events, reset, button label
- Refactor update_filters: extract parse/dispatch helpers to satisfy Credo complexity
2026-03-09 14:33:58 +01:00
fc7b035123
CSV export: robust apply_export_filters, single custom_field_ids_union, string boolean_filters, more tests
continuous-integration/drone/push Build was killed
2026-03-04 21:15:54 +01:00
d71d5881cf
CSV export: apply cycle_status_filter and boolean_filters when exporting all
2026-03-04 21:15:54 +01:00
0ac39c646f
Remove Vereinfacht-required logic from settings and member validation
...
- Member field settings: required only from email + settings (no API override)
- Member resource validation: required fields from settings only
- Gettext: remove obsolete 'Required for Vereinfacht integration' string
2026-03-04 20:21:51 +01:00
e4ddaf0dc3
fix test: add for="csv_file" to CSV file label
continuous-integration/drone/push Build was killed
continuous-integration/drone/promote/production Build is passing
2026-03-04 20:14:13 +01:00
5bd803a4b4
A11y: dark mode contrast, sign-in landmark/h1, Banner link discernibility
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is failing
2026-03-04 19:39:19 +01:00
70c3ca82ea
fix(a11y): WCAG 2 AA contrast, labels and dropdown
continuous-integration/drone/push Build is passing
2026-03-04 16:21:17 +01:00
f9d6936274
Membership fee settings: row-click table, compact default layout
2026-03-04 16:21:17 +01:00
60d3fa74fb
Member index: rename cycle toggle, add tooltip
2026-03-04 16:21:16 +01:00
52228ca5d5
Member form: remove duplicate save button in header
2026-03-04 16:21:16 +01:00
7a8b069834
Fix Credo Design (AliasUsage): add aliases in lib
...
Add module aliases at top and use short names instead of
fully qualified nested modules across lib/.
2026-03-04 16:21:15 +01:00
81ce204502
Fix Credo Readability (strict)
...
- Max line length, implicit try, alias order, zero-arity defs
- String sigils, long comments split; redundant blank lines fixed
2026-03-04 16:21:14 +01:00
7f15909cc6
fix tests
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-02-26 17:14:47 +01:00
e0484a0533
formatting
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is failing
2026-02-26 15:30:27 +01:00
c71c7d6ed6
fix: color contrast dark mode and keyboard moadals
2026-02-26 15:24:29 +01:00
5516c7fe62
fix: remove + from name in email field
2026-02-26 14:02:47 +01:00
4ac56958b4
feat: keep empty cells consistent empty
continuous-integration/drone/push Build is passing
2026-02-26 13:37:35 +01:00
9751525a0c
fix: datafield edit view was shown alongside othe relements
continuous-integration/drone/push Build is failing
2026-02-26 12:37:52 +01:00
faf80bfb4b
refactor: consistend subheadings
continuous-integration/drone/push Build is failing
2026-02-26 12:10:42 +01:00
2c49018ab7
feat: improve color contrast
2026-02-26 11:54:24 +01:00
e422e5f4ef
feat: consistent and accessible modal on delete
continuous-integration/drone/push Build is failing
2026-02-26 11:17:21 +01:00
2922a4d1ee
feat: adds keyboard accessibility to tabs
2026-02-26 10:37:57 +01:00
615b4b866b
style: fix tab in edit mode
2026-02-26 09:42:10 +01:00
cde6a68591
fix merge format issue
2026-02-26 09:35:09 +01:00
73382c2c3f
Merge branch 'main' into feat/421_accessibility
continuous-integration/drone/push Build is failing
2026-02-26 08:49:55 +01:00
d0b8cb672a
style: consistent badges with sufficient color contrast
2026-02-26 08:33:52 +01:00
c7c082b867
Merge branch 'main' into feat/447_concistency
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-02-25 16:52:59 +01:00
0f12befd11
style: consistent back button and some translations
continuous-integration/drone/push Build is passing
2026-02-25 16:25:13 +01:00
91cf7cca6a
feat: conistent danger zone delete flow
continuous-integration/drone/push Build is failing
2026-02-25 15:09:37 +01:00
e5a6003ace
feat: sticky memberstable header
continuous-integration/drone/push Build is passing
2026-02-25 14:16:43 +01:00
49fd2181a7
style: highlight selected table and add tooltip
continuous-integration/drone/push Build is failing
2026-02-25 13:16:27 +01:00
02af136fd9
feat: restyle tabs and move delete to edit view
2026-02-25 10:33:30 +01:00
ff9f98f8e7
style: consitent flash messages
2026-02-25 09:45:10 +01:00
b7c93f19cb
refactor: use core components
2026-02-25 09:17:32 +01:00
bfc078d5aa
Merge branch 'main' into feat/299_plz
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-02-24 16:02:56 +01:00
c62b105518
test: updated
continuous-integration/drone/push Build is passing
2026-02-24 16:00:46 +01:00
fae1804fb1
Code review: SignInLive locale fallback, single root + id, CSS scoped to #sign-in-page, remove or-hack, refresh oidc_configured after save, tests assert English only
2026-02-24 15:42:16 +01:00
c8d7dd3e55
Merge branch 'main' into feat/299_plz
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is failing
2026-02-24 15:38:50 +01:00
6417958ccc
i18n: Update translations
2026-02-24 15:38:20 +01:00
aaa897c8dc
style: restyle PDF export
2026-02-24 15:27:12 +01:00
3a98f70ba5
Locale: default German in dev/prod, English in test; validate locale in LocaleController
2026-02-24 15:13:10 +01:00
2cab4b0de4
Sign-in: custom SignInLive, OIDC-only mode and hide OIDC when not configured, locale divider or/oder
2026-02-24 15:13:05 +01:00
3f73a36076
GlobalSettings: oidc_only checkbox, ENV merge for OIDC, disable when OIDC not configured
2026-02-24 15:13:01 +01:00
8fd2ee067e
style: udate csv import
2026-02-24 15:07:34 +01:00