|
|
6c22d889a1
|
Vereinfacht client: receipts API, fetch_contact refactor, isExternal
- get_contact_with_receipts(contact_id) with ?include=receipts
- fetch_contact/2, build_url_with_params, extract_receipts_from_response
- Filter external contacts by isExternal in find_contact_id_by_email
- Send isExternal: true in create/update payloads
|
2026-02-23 19:54:44 +01:00 |
|
|
|
140e4a9054
|
SyncContact: only run when relevant attributes changed
- Sync on create; on update only when synced attrs changed or no contact_id yet
- Reduces unnecessary API calls on unrelated member updates
|
2026-02-23 19:54:43 +01:00 |
|
|
|
1188320844
|
Restrict set_vereinfacht_contact_id to system actor
- Add ActorIsSystemUser policy check
- Member set_vereinfacht_contact_id only allowed for system user
|
2026-02-23 19:54:43 +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 |
|
|
|
124857cc9c
|
Vereinfacht: update existing contact when found by email
Before saving contact_id to member, sync current data to the
existing contact so Vereinfacht stays up to date.
|
2026-02-23 19:54:42 +01:00 |
|
|
|
bc2d91f9e7
|
Vereinfacht client: find by email in response, no retries in test
API does not allow filter[email]; fetch list and match client-side.
Disable Req retries in test for fast failure and less log noise.
|
2026-02-23 19:54:42 +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 |
|
|
|
f2bcf68da2
|
Config: per-field Vereinfacht ENV helpers
vereinfacht_api_url_env_set?, vereinfacht_api_key_env_set?,
vereinfacht_club_id_env_set? for read-only Settings fields when set.
|
2026-02-23 19:54:41 +01:00 |
|
|
|
a94c0c0b14
|
Vereinfacht: sync linked member only when email or member changed
Run SyncLinkedMemberAfterUserChange only when email or member
relationship changed to avoid unnecessary API calls.
|
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 |
|
|
|
32efe380b7
|
feat(vereinfacht): sync linked member after user email/link changes
- SyncLinkedMemberAfterUserChange on update, create_user, update_user,
admin_set_password, link_oidc_id, register_with_rauthy
|
2026-02-23 19:51:31 +01:00 |
|
|
|
a008cf381a
|
feat(vereinfacht): add client, sync flash and SyncContact change
- Application: create SyncFlash ETS table on start
- Vereinfacht: Client, SyncFlash, sync_member, format_error, sync_members_without_contact
- SyncContact change on Member create_member and update_member
- Member: attribute vereinfacht_contact_id, internal action set_vereinfacht_contact_id
|
2026-02-23 19:51:31 +01:00 |
|
|
|
a5a4d66655
|
feat(vereinfacht): add DB schema, config and setting attributes
- Migrations: vereinfacht_contact_id on members, vereinfacht_* on settings
- Mv.Config: Vereinfacht ENV/Settings helpers, vereinfacht_configured?, contact_view_url
- Setting: vereinfacht_api_url, api_key, club_id
|
2026-02-23 19:51:31 +01:00 |
|
|
|
be9d12f181
|
Merge pull request 'finalize groups' (#437) from feature/finalize-groups into main
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
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
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
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
continuous-integration/drone/push Build is failing
|
2026-02-20 09:16:38 +01:00 |
|
|
|
cb932ad6ef
|
feat: respects sorting groups for export
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
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
continuous-integration/drone/push Build is failing
|
2026-02-19 10:02:30 +01:00 |
|
|
|
0fd1b7e142
|
fix testsand load performance
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
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
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
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
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
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
continuous-integration/drone/push Build is failing
|
2026-02-17 17:54:25 +01:00 |
|
|
|
911f308a67
|
fix: address review comments
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
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
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
continuous-integration/drone/push Build is passing
|
2026-02-16 15:30:16 +01:00 |
|
|
|
5fd7c0e7f6
|
feat: improve groups fillter
continuous-integration/drone/push Build is failing
|
2026-02-13 17:45:51 +01:00 |
|
|
|
22458cd52b
|
Merge branch 'main' into feature/286_export_pdf
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
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 |
|
|
|
b416944321
|
Statistics: log Ash errors instead of returning 0/nil silently
|
2026-02-12 19:35:48 +01:00 |
|