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
b5fc03e94f
refactor
continuous-integration/drone/push Build is failing
2026-02-18 16:10:46 +01:00
84f97c12f8
Merge branch 'main' into feature/groups-search-integration
continuous-integration/drone/push Build is failing
continuous-integration/drone/promote/production Build is failing
2026-02-18 13:06:26 +01:00
63b8e70e62
fix: adress review comments
continuous-integration/drone/push Build is failing
2026-02-18 13:05:31 +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
f6575319f7
feat: add groups to search vector
...
continuous-integration/drone/push Build was killed
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 12:47:23 +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
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
46f9094e1f
style: fix formatting
continuous-integration/drone/push Build is failing
2026-02-17 12:16:15 +01:00
2e4d14dd60
test: add tdd tests for groups in member detail view #374
continuous-integration/drone/push Build is failing
2026-02-17 12:15:46 +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
65581d0639
style: fix formatting
continuous-integration/drone/push Build is failing
2026-02-13 18:26:14 +01:00
1133ffb28f
fix: test
continuous-integration/drone/push Build is failing
2026-02-13 18:18:15 +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
3322efcdf6
test: adapt earlier tests to groups implementation
continuous-integration/drone/push Build is failing
2026-02-13 09:48:09 +01:00
3b87db6ad1
test: add tdd tests for group integration in member view #373
2026-02-13 09:39:53 +01:00
dce4b2cf33
feat: add groups to member overview
2026-02-13 09:28:16 +01:00
bd4dc86cca
StatisticsLiveTest: explicit auth (read_only) and redirect test for own_data
2026-02-12 19:35:48 +01:00
3eead112b0
Statistics tests: strict first_join_year nil, fee_type_id in URL
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
919a8e4ebd
Add statistics route, permissions, and sidebar entry
...
- /statistics route and PagePaths.statistics
- Permission sets: viewer and admin can access /statistics
- Sidebar link with can_access_page check
- Plug and sidebar tests updated
2026-02-12 19:35:48 +01:00
2f8a6a2768
Merge remote-tracking branch 'origin/main' into feature/ui-for-adding-members-groups
continuous-integration/drone/push Build is failing
continuous-integration/drone/promote/production Build is passing
2026-02-12 15:16:35 +01:00
900f322422
fix: pr comments
continuous-integration/drone/push Build is passing
2026-02-12 15:08:40 +01:00
f6b35f03a5
feat: adds pdf export with imprintor
continuous-integration/drone/push Build is failing
2026-02-11 11:47:26 +01:00
e68a7cf8c7
fix linting
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-02-09 14:08:12 +01:00
9115d53198
tests: add tests
2026-02-09 13:34:57 +01:00
36e57b24be
Merge branch 'main' into feature/export_csv
continuous-integration/drone/push Build is failing
2026-02-06 08:02:05 +01:00
8e387d8e17
tests: update tests
continuous-integration/drone/push Build is failing
2026-02-05 15:03:36 +01:00
d573a22769
Tests: accept single user or list from read_sign_in_with_rauthy (get? true)
...
continuous-integration/drone/push Build is passing
Handle {:ok, user}, {:ok, nil} in addition to {:ok, [user]}, {:ok, []}.
2026-02-04 18:13:30 +01:00
b429a4dbb6
test: adds tests
continuous-integration/drone/push Build is failing
2026-02-04 16:43:12 +01:00
3415faeb21
Merge branch 'main' into feature/337_polish_import
continuous-integration/drone/push Build is failing
2026-02-04 16:28:55 +01:00
d34ff57531
refactor
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing
2026-02-04 15:52:00 +01:00
4d3a64c177
Add Role resource policies (defense-in-depth)
...
- PermissionSets: Role read :all for own_data, read_only, normal_user; admin keeps full CRUD
- Role resource: authorizers and policies with HasPermission
- Tests: role_policies_test.exs (read all, create/update/destroy admin only)
- Fix existing tests to pass actor or authorize?: false for Role operations
2026-02-04 14:07:38 +01:00
541c79e501
ARIA: remove aria-sort from sort button; Password column tests
...
- Sort button: aria-sort removed (button role does not support it).
- Index tests: remove aria-sort assertions; add Password column display tests.
2026-02-04 11:06:55 +01:00
7eba21dc9c
Hide Regenerate Cycles button when no membership fee type assigned
...
continuous-integration/drone/push Build is passing
- Button only shown when @member.membership_fee_type is set (same as Create Cycle).
- Test: no-type view asserts Regenerate Cycles button is not present.
2026-02-04 09:38:26 +01:00
dbd0a57292
Secure regenerate_cycles: require can?(:create, MembershipFeeCycle) in handler
...
- Handler returns flash error when non-admin triggers event (e.g. DevTools).
- Test: read_only cannot create MembershipFeeCycle so handler rejects.
2026-02-04 09:19:37 +01:00
03d3a7eb1b
Docs and tests: fix CODE_GUIDELINES structure, use Mv.Fixtures in show_membership_fees_test
...
continuous-integration/drone/push Build is passing
- CODE_GUIDELINES: correct custom_field/custom_field_value descriptions, add fixtures.ex to test support
- show_membership_fees_test: use Mv.Fixtures.member_fixture, remove redundant create_member helper
2026-02-04 01:02:22 +01:00
a2e1054c8d
Tests: use Mv.Fixtures, fix warnings, Credo TODO disable
...
- Policy tests: use Fixtures where applicable; create_custom_field() fix in custom_field_value.
- Replace unused actor with _actor, remove unused alias Accounts in policy tests.
- profile_navigation_test: disable Credo for intentional TODO comment.
2026-02-04 00:34:12 +01:00
085b6be769
show_membership_fees_test: format long assert line
2026-02-04 00:34:01 +01:00
c4459ebb92
Docs, gettext, and remaining test updates
...
continuous-integration/drone/push Build is passing
- groups-architecture and membership-fee-architecture docs
- Gettext: add/correct German for authorization and membership fee type
- membership_fee_helpers_test and membership_fee_status_test adjustments
2026-02-03 23:52:31 +01:00
101fd39f18
Fee settings and fee type form: pass actor for MembershipFeeType read
...
- membership_fee_settings_live: current_actor(socket), Ash.read! with actor
- membership_fee_type_live/form: Ash.get! with actor in mount
- check_page_permission_test: normal_user /groups/new and /groups/:slug/edit allowed
- membership_fee_type_live form_test: actor for Ash.read_one!/get!
2026-02-03 23:52:27 +01:00