f53a3ce3cc
refactor: integrate approval ui review changes
continuous-integration/drone/push Build was killed
continuous-integration/drone/promote/production Build is failing
2026-03-11 02:20:29 +01:00
28f97184b3
Merge branch 'main' into feature/308-web-form
continuous-integration/drone/push Build is passing
2026-03-11 02:05:13 +01:00
86d9242d83
feat: add approval ui for join requests
continuous-integration/drone/push Build is passing
2026-03-11 02:04:03 +01:00
f79c9ac515
Merge pull request 'add public join form' ( #466 ) from feature/308-web-form into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #466
2026-03-10 23:08:26 +01:00
021b709e6a
refactor: address review comments for join view
continuous-integration/drone/push Build was killed
continuous-integration/drone/promote/production Build is passing
2026-03-10 22:54:41 +01:00
5eb7c9c4b2
seeds: distribute fee types at create, add exit dates for 5 members
continuous-integration/drone/push Build was killed
continuous-integration/drone/promote/production Build is passing
2026-03-10 20:36:06 +01:00
f1d0526209
feat: add join form
continuous-integration/drone/push Build is failing
2026-03-10 18:25:17 +01:00
05e2a298fe
feat: add accessible drag&drop table component
continuous-integration/drone/push Build is passing
2026-03-10 15:40:28 +01:00
fa738aae88
feat: add join form settings
continuous-integration/drone/push Build is failing
2026-03-10 14:29:49 +01:00
5deb102e45
refactor: adress review comments
continuous-integration/drone/push Build is passing
2026-03-09 18:54:40 +01:00
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
f601550526
fix translations
continuous-integration/drone/push Build was killed
2026-03-09 16:45:14 +01:00
ad6ef169ac
Merge remote-tracking branch 'origin/main' into feature/308-web-form
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-03-09 15:40:02 +01:00
a41d8498ac
refactor: apply review changes to joinrequest
continuous-integration/drone/push Build is passing
2026-03-09 15:36:19 +01:00
d032f1ca0c
Run bootstrap seeds in production; add RUN_DEV_SEEDS support
continuous-integration/drone/push Build was killed
continuous-integration/drone/promote/production Build is passing
2026-03-09 15:16:02 +01:00
2515a679b8
feat: add join request resource
continuous-integration/drone/push Build is passing
2026-03-09 14:44:45 +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
3af52f2829
Update gettext: extract and merge after fee type filter strings
2026-03-09 14:33:58 +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
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
ea350ab315
Seeds: robust default fee type lookup; no fee type overwrite on re-run
...
Bootstrap: filter default fee type by name and interval (yearly).
Dev: do not send membership_fee_type_id in member upsert; set only
via update when nil so re-runs do not overwrite existing assignments.
2026-03-04 17:11:51 +01:00
a98d921848
Seeds: scope compiler_options to seed run, restore in after
...
Remove global ignore_module_conflict from mix.exs. Set it only in
seeds.exs during eval_file and restore via try/after so crashes
do not leave the option enabled.
2026-03-04 17:11:43 +01:00
8025858060
Gettext: add translations for member index and membership fee settings
2026-03-04 16:21:17 +01:00
f0a8dfcc21
Suppress redefining module warnings via compiler_options
2026-03-04 16:21:14 +01:00
edd8657c92
Split seeds into bootstrap and dev-only
2026-03-04 16:21:14 +01:00
4ac56958b4
feat: keep empty cells consistent empty
continuous-integration/drone/push Build is passing
2026-02-26 13:37:35 +01:00
faf80bfb4b
refactor: consistend subheadings
continuous-integration/drone/push Build is failing
2026-02-26 12:10:42 +01:00
88831685fc
i18n: update translations
continuous-integration/drone/push Build is failing
2026-02-26 11:56:24 +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
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
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
eec1451743
Fix DE translations: Groups claim, Member fields, Save OIDC Settings; remove fuzzy
continuous-integration/drone/push Build was killed
2026-02-24 15:50:47 +01:00
89a48cbaf7
Nitpick: add missing newline at EOF in settings resource_snapshots JSON files
continuous-integration/drone/push Build was killed
continuous-integration/drone/promote/production Build is passing
2026-02-24 15:42:27 +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
7af65d997b
Gettext: add DE/EN for OIDC-only labels and auth divider (or/oder)
2026-02-24 15:13:21 +01:00
adb44241d9
Add migration: oidc_only boolean to settings table
2026-02-24 15:12:45 +01:00
62b37b9aa2
feat: Datafields page, merge fee types into membership_fee_settings, sidebar
...
- Add /admin/datafields (DatafieldsLive) for member and custom field config
- Remove Memberdata block from GlobalSettingsLive
- Router: drop /membership_fee_types, add new_fee_type and edit_fee_type under membership_fee_settings
- MembershipFeeSettingsLive: fee types table, collapsible examples; Index links updated
- PagePaths: admin_datafields, admin_import; remove membership_fee_types
- Sidebar: order and labels (Basic settings, Datafields, Membership fee settings, Import, Users, Roles)
- Gettext: German translations for sidebar and OIDC
- Tests: datafields and fee routes, permission and form tests updated
2026-02-24 13:58:38 +01:00
8edbbac95f
feat: OIDC configuration in global Settings (ENV or DB)
...
- Add oidc_* attributes to Setting, migration and Config helpers
- Secrets and OidcRoleSyncConfig read from Config (ENV overrides DB)
- GlobalSettingsLive: OIDC section with disabled fields when ENV set
- OIDC role sync tests use DataCase for DB access
2026-02-24 13:58:24 +01:00
f29bbb02a2
feat: add Vereinfacht connection test button to settings
2026-02-24 13:09:34 +01:00
623543b7bd
fix: add missing postal_code in seeds
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
postal_code is a Vereinfacht-required field. When Vereinfacht is
configured, seeds failed for members without postal_code.
2026-02-24 12:06:56 +01:00
d95d4dc737
Fix gettext msgid for OIDC sign-in button after strategy rename
...
continuous-integration/drone/push Build is passing
Phoenix.Naming.humanize(:oidc) = "Oidc", so the generated msgid is
"Sign in with Oidc" (previously "Sign in with Rauthy" for :rauthy).
Update all .po/.pot files so the "Single Sign On" translation matches.
2026-02-24 11:51:01 +01:00
97fcae3e9d
Translate "Sign in with Rauthy" to "Single Sign On" via Gettext
...
Add manual msgid/msgstr entries in auth.po (de + en) and auth.pot for the
dynamically interpolated OAuth2 sign-in button label.
2026-02-24 11:50:59 +01:00
9a7608f9a1
Merge branch 'main' into feat/299_plz
continuous-integration/drone/push Build is passing
2026-02-24 11:44:19 +01:00
63040afee7
Merge branch 'main' into feat/299_plz
continuous-integration/drone/push Build is passing
2026-02-24 10:40:26 +01:00
e8bcd88ee1
chore: updated template for csv
continuous-integration/drone/push Build is passing
2026-02-24 09:37:01 +01:00