33dc8307c8
fix tests and linting
2026-01-27 10:30:05 +01:00
08534539aa
formatting
2026-01-27 10:23:31 +01:00
c914e25483
formatting and refactoring
2026-01-27 10:23:30 +01:00
0acdc82bcc
refactor
2026-01-27 10:23:29 +01:00
dd68d2efbc
refactor
2026-01-27 10:23:29 +01:00
79d0fa0376
fat: adds csv import live view to settings
2026-01-27 10:23:28 +01:00
047b818ec5
chore: increase test timeout and cleanup unused code
2026-01-27 10:23:26 +01:00
36edee6fcc
Fix: Ensure members are loaded in handle_params when signature unchanged
2026-01-27 10:23:15 +01:00
21d8d65492
Fix OIDC account linking by using SystemActor in LinkOidcAccountLive
...
- Add SystemActor to all Ash operations in LinkOidcAccountLive
- Enables user lookup, reload, and oidc_id linking during OIDC flow
- User is not yet logged in during linking, so SystemActor provides authorization
2026-01-27 10:23:14 +01:00
213521ecf6
Add centralized Actor.ensure_loaded helper
...
Consolidate role loading logic from HasPermission and LiveHelpers.
Use Ash.Resource.Info.resource? for reliable Ash detection.
2026-01-27 10:23:10 +01:00
3852c93ac9
Centralize role preloading in global LiveView on_mount
...
Add ensure_user_role_loaded to global live_view quote block.
Remove redundant on_mount calls from individual LiveViews.
2026-01-27 10:23:08 +01:00
214b84b9b3
Add admin authorization check for regenerate cycles button
...
Restrict UI access to cycle regeneration to administrators only
to prevent policy bypass via user interface
2026-01-27 10:14:06 +01:00
cf9e6e91fd
Use system actor for cycle generation
...
Update cycle generator, member hooks, and job to use system actor.
Remove actor parameters as cycle generation is a mandatory side effect.
2026-01-27 10:14:03 +01:00
41d680f994
fix: failing test
2026-01-27 10:14:02 +01:00
0016c43c34
feat: improve filter performance by reducing Ash.read! calls
2026-01-27 10:14:01 +01:00
0d244a4860
fix: resolve pr remarks
2026-01-27 10:14:01 +01:00
ca1300f46a
feat: add new filter component to members view
2026-01-27 10:13:59 +01:00
7171e21a10
feat: load boolean custom fields
2026-01-27 10:13:59 +01:00
7f4c22d072
refactor: fix credo issues
2026-01-27 10:13:58 +01:00
4e48ace2d4
refactor: Reduce function complexity and nesting depth
...
- Extract helper functions from process_chunk to reduce nesting
- Extract format_error_message from extract_changeset_error
- Split extract_error_message into smaller functions to reduce complexity
- Fixes Credo refactoring opportunities
2026-01-27 10:13:56 +01:00
c137ee6221
refactor: Replace length/1 with empty list comparison
...
Replace expensive length/1 calls with direct list comparison
to fix Credo warnings about performance
2026-01-27 10:13:56 +01:00
4154296b54
refactor: Remove deprecated LiveViews
...
- Remove CustomFieldValueLive (Index, Form, Show)
- Remove ContributionTypeLive.Index
- Remove ContributionPeriodLive.Show
- Remove corresponding routes from router
- Remove references in CustomFieldValueLive.Index
2026-01-27 10:13:55 +01:00
d72bb8869f
docs: Update domain Public API documentation
2026-01-27 10:13:55 +01:00
926974e2da
chore: update docs
2026-01-27 10:13:54 +01:00
da9ec06e8e
feat: implement filter logic for boolean ustom fields
2026-01-27 10:13:53 +01:00
0519433644
feat: add custom boolean field state & URL-Parameter
2026-01-27 10:13:53 +01:00
d8ab9a1015
fix: linting + tests
2026-01-27 10:13:52 +01:00
3aa1aee11e
fix: add error message to form
2026-01-27 10:13:51 +01:00
6c840e73d1
formatting
2026-01-27 10:13:51 +01:00
54d96136b7
fix: link/button semantics
2026-01-16 17:16:06 +01:00
c86ae6aa9d
fix: sidebar accessibility
2026-01-16 14:17:15 +01:00
c3515b4105
feat: adjust display of submenu
2026-01-16 13:53:31 +01:00
74af41c8ab
feat: reorder sidebar
2026-01-16 12:46:45 +01:00
b103ae3a5f
i18n: Update English translations
continuous-integration/drone/push Build is passing
2026-01-13 16:30:32 +01:00
89fbd55250
refactor: Reduce nesting depth in UserLive.Form.load_members_for_linking
2026-01-13 15:21:00 +01:00
fba0ea5ec0
fix: Replace Ash.read! with error handling in CustomFieldValueLive.Index
...
- Replace Ash.read! with Ash.read and proper error handling in mount/3
2026-01-13 15:21:00 +01:00
eb81d5f7cb
refactor: Simplify UserLive.Form handle_event and improve error handling
...
- Extract handle_member_linking, perform_member_link_action helpers
- Extract handle_save_success, get_action_name, handle_member_link_error
- Replace hardcoded strings with gettext translations
- Use submit_form wrapper for consistent actor handling
- Group all handle_event/3 clauses together
- Add early return in load_members_for_linking if actor is nil
2026-01-13 15:17:07 +01:00
a22081f288
refactor: Replace bang calls with error handling in Index LiveViews
...
- Replace Ash.get!/Ash.destroy! with Ash.get/Ash.destroy
- Add case statements for Forbidden, NotFound, and generic errors
- Display user-friendly flash messages for all error cases
- Use Enum.map_join/3 for efficient error formatting
2026-01-13 15:17:07 +01:00
77ae5c4888
refactor: Use submit_form wrapper in all LiveView forms
...
- Replace AshPhoenix.Form.submit with submit_form/3 wrapper
- Import current_actor and submit_form from LiveHelpers
- Consistent actor handling in all form submissions
2026-01-13 15:17:06 +01:00
555ae15173
feat: Add shared helper functions for actor handling
...
- Add Mv.Helpers module with ash_actor_opts/1 helper
- Add current_actor/1 with @spec to LiveHelpers
- Add ash_actor_opts/1 delegate and submit_form/3 wrapper to LiveHelpers
- Standardize actor access pattern across LiveViews
2026-01-13 15:17:06 +01:00
351eac4c02
Fix error handling and actor access in MemberLive.Index
...
Replace bang calls with proper error handling and use current_actor/1
helper for consistent actor access.
2026-01-13 15:17:05 +01:00
cd7e6b0843
Use current_actor/1 helper in all LiveViews
...
Replace inconsistent actor access patterns with current_actor/1 helper
and ensure actor is passed to all Ash operations for proper authorization.
2026-01-13 15:16:00 +01:00
01cc5aa3a1
Add current_actor/1 helper for consistent actor access
...
Provides a single function to access current_user from socket assigns
across all LiveViews, ensuring consistent access pattern.
2026-01-13 15:15:59 +01:00
075a06ba6f
Refactor test setup: use global setup and fix MembershipFees domain alias
...
- Remove redundant setup blocks from member_live tests
- Add build_unauthenticated_conn helper for AuthController tests
- Add global setup in conn_case.ex
2026-01-13 15:15:56 +01:00
bc87893134
Integrate Member policies in LiveViews
...
- Add on_mount hook to ensure user role is loaded in all Member LiveViews
- Pass actor parameter to all Ash operations (read, get, create, update, destroy, load)
2026-01-13 15:12:24 +01:00
35895ac7fd
fix tests
continuous-integration/drone/push Build is failing
2026-01-13 10:48:44 +01:00
3fd6410bb4
style: fix linting
continuous-integration/drone/push Build is failing
2026-01-12 15:37:58 +01:00
8a1b14fc79
fix: fix tests and remove navbar remainings
continuous-integration/drone/push Build is failing
2026-01-12 15:16:31 +01:00
e7515b5450
Merge remote-tracking branch 'origin/main' into sidebar
2026-01-12 14:15:12 +01:00
922f9f93d0
Merge branch 'main' into feature/223_memberfields_settings
continuous-integration/drone/push Build is passing
2026-01-12 13:15:40 +01:00