557eb4d27d
refactor: simplify system role deletion validation
...
Remove redundant action_type check since validation already
runs only on destroy actions. Add field to error for better
error handling.
2026-01-06 18:37:34 +01:00
9bb0fe5e37
test: add unit tests for Role validations
...
Add tests for permission_set_name validation, system role
deletion protection, and name uniqueness constraints.
2026-01-06 18:14:20 +01:00
12c08cabee
docs: clean up PermissionSets documentation
...
Remove issue number references from moduledoc
2026-01-06 18:14:19 +01:00
402a78dd0a
refactor: update migration for UUIDv7 and explicit FK constraint
...
- Add on_delete: :restrict to users.role_id foreign key
- Update roles.id to use uuid_generate_v7() default
- Regenerate resource snapshots
2026-01-06 18:14:18 +01:00
82ec4e565a
refactor: use UUIDv7 and improve Role validations
...
- Change id from uuid_primary_key to uuid_v7_primary_key
- Replace custom validation with built-in one_of validation
- Add explicit on_delete: :restrict for users foreign key
- Update postgres references configuration
2026-01-06 18:14:16 +01:00
b569612a63
feat: add resource snapshots for roles and users
...
continuous-integration/drone/push Build is passing
Add Ash resource snapshots generated during migration creation.
2026-01-06 17:18:45 +01:00
851d63f626
feat: add authorization domain migration
...
Create roles table and add role_id to users table with indexes
and foreign key constraints.
2026-01-06 17:18:34 +01:00
90c32c2afd
feat: add role relationship to User resource
...
Add belongs_to :role relationship to User resource and register
Authorization domain in config.
2026-01-06 17:18:33 +01:00
4535551b8d
feat: add Role resource with validations
...
Create Role resource with name, description, permission_set_name,
and is_system_role fields. Add validations for permission_set_name
and system role deletion protection.
2026-01-06 17:18:32 +01:00
1b2927ce40
feat: create Authorization domain
...
Add Mv.Authorization domain with AshAdmin and AshPhoenix extensions.
Register domain in config for role management.
2026-01-06 17:18:30 +01:00
37d1655227
feat: add PermissionSets stub module for role validation
...
Add minimal PermissionSets module with all_permission_sets/0 function
to support permission_set_name validation in Role resource.
2026-01-06 17:18:29 +01:00
f8da12ad08
Merge pull request 'chore(deps): update postgres to v18 (major)' ( #256 ) from renovate/major-postgres into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #256
2026-01-06 16:06:31 +01:00
Renovate Bot
c2ac73e16c
chore(deps): update postgres to v18
continuous-integration/drone/push Build was killed
2026-01-06 15:46:24 +01:00
b834a95d47
Merge pull request 'chore(deps): update ghcr.io/sebadob/rauthy docker tag to v0.33.4' ( #315 ) from renovate/ghcr.io-sebadob-rauthy-0.x into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #315
2026-01-06 15:34:53 +01:00
Renovate Bot
2974f4b2e9
chore(deps): update ghcr.io/sebadob/rauthy docker tag to v0.33.4
continuous-integration/drone/push Build was killed
2026-01-06 15:32:34 +01:00
9033e7a2b4
Merge pull request 'chore(deps): update dependency just to v1.46.0' ( #318 ) from renovate/asdf-tool-versions into main
...
continuous-integration/drone/push Build was killed
Reviewed-on: #318
2026-01-06 15:30:48 +01:00
Renovate Bot
cc8bbe8630
chore(deps): update dependency just to v1.46.0
continuous-integration/drone/push Build is failing
2026-01-06 15:30:29 +01:00
c98ab3f26d
Merge pull request 'chore(deps): update renovate/renovate docker tag to v42.71' ( #317 ) from renovate/renovate-renovate-42.x into main
...
continuous-integration/drone/push Build was killed
Reviewed-on: #317
2026-01-06 15:30:04 +01:00
Renovate Bot
a90369e6cb
chore(deps): update renovate/renovate docker tag to v42.71
continuous-integration/drone/push Build was killed
2026-01-06 15:29:40 +01:00
9f6b84ed6c
Merge pull request 'chore(deps): update mix dependencies' ( #316 ) from renovate/mix-dependencies into main
...
continuous-integration/drone/push Build was killed
Reviewed-on: #316
2026-01-06 15:29:20 +01:00
Renovate Bot
ab15fe039b
chore(deps): update mix dependencies
continuous-integration/drone/push Build is passing
2026-01-06 10:29:01 +00:00
844b4b6409
Merge pull request 'Implements validation for required custom fields closes #274 ' ( #301 ) from bugfix/274_required_custom_fields into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #301
2026-01-02 13:57:40 +01:00
850f00fe22
formatting
continuous-integration/drone/push Build is passing
2026-01-02 13:53:24 +01:00
08f563a412
Merge branch 'main' into bugfix/274_required_custom_fields
continuous-integration/drone/push Build is failing
2026-01-02 13:47:24 +01:00
058bfc2182
Merge pull request 'Membership Fee 6 - UI Components & LiveViews closes #280 ' ( #304 ) from feature/280_membership_fee_ui into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #304
2025-12-26 23:14:49 +01:00
0df5d1c0b9
Merge branch 'main' into feature/280_membership_fee_ui
continuous-integration/drone/push Build is passing
2025-12-26 23:14:10 +01:00
0d79e026e2
fix: add Logger metadata keys and update gettext
...
continuous-integration/drone/push Build is passing
Add member_id, member_email, error, error_type, cycles_count, and notifications_count to Logger metadata configuration. Update gettext translations.
2025-12-26 21:52:09 +01:00
6f568bfe54
test: fix tests after join_date validation and UI changes
...
Update test to expect join_date validation error. Fix toggle button selector in cycle view test. Remove unnecessary cleanup from create_cycle helper.
2025-12-26 21:41:30 +01:00
77ac3d1b18
fix: remove duplicate toggle button in table header
...
Keep only the toggle button in toolbar for better UX.
2025-12-26 21:41:22 +01:00
619fdc90af
fix: clear warning state on Decimal.parse error
...
Explicitly call hide_amount_warning when Decimal.parse returns error.
2025-12-26 21:41:14 +01:00
856ce53295
fix: improve MembershipFeesComponent state management and error handling
...
Replace assign_new with assign for cycles and available_fee_types. Set regenerating flag at event start. Fix create_cycle parsing with explicit error handling. Use atomic bulk delete for all cycles. Improve delete confirmation robustness. Fix unless/else pattern for Credo compliance.
2025-12-26 21:41:05 +01:00
3afc20c2e2
refactor: improve format_currency robustness and reduce complexity
...
Extract formatting logic into helper functions to reduce cyclomatic complexity. Improve pattern matching for edge cases.
2025-12-26 21:40:53 +01:00
ee6589c4fa
docs: correct load_cycles_for_members documentation
...
Document that function loads all cycles, not just relevant ones, as no database-level filtering is currently implemented.
2025-12-26 21:40:42 +01:00
5318b2c07d
docs: add typespec for SetDefaultMembershipFeeType.change/3
2025-12-26 21:40:32 +01:00
d02add75ef
fix: convert after_action to after_transaction for cycle generation
...
Replace after_action hooks with after_transaction to ensure async tasks only run after successful commit. Extract common cycle generation logic into handle_cycle_generation/2 to reduce duplication. Add structured error logging with context.
2025-12-26 21:40:22 +01:00
b2c2013b4d
refactor: extract sql_sandbox config to Mv.Config module
...
Centralize application-wide configuration values for better maintainability.
2025-12-26 21:40:12 +01:00
961261eff2
feat: add Task.Supervisor to supervision tree
...
Add Task.Supervisor for supervised async task execution in cycle generation.
2025-12-26 21:40:04 +01:00
3035869fc8
Add explicit domain to Ash.get! for consistency
continuous-integration/drone/push Build is passing
2025-12-26 21:04:43 +01:00
a8ea121800
Refactor cycle generator and update translations
...
continuous-integration/drone/push Build is passing
Extract error handling into separate functions to reduce nesting depth.
2025-12-26 21:01:17 +01:00
e9b99e6749
Merge pull request 'Fix hidden empty custom fields closes #282 ' ( #313 ) from bugfix/228_hidden_empty_custom_field_ into main
...
continuous-integration/drone/push Build is passing
Reviewed-on: #313
2025-12-23 18:24:18 +01:00
f87e6d3e1d
fix tests
continuous-integration/drone/push Build is passing
2025-12-23 18:21:15 +01:00
3cf8244cd6
fix linting errors
continuous-integration/drone/push Build is failing
2025-12-23 18:14:59 +01:00
1dd68bcaf2
feat: coherent required boolean handling
continuous-integration/drone/push Build is failing
2025-12-23 18:08:31 +01:00
33652265b8
feat: add accessible empty value also to member fields
continuous-integration/drone/push Build is failing
2025-12-23 17:10:52 +01:00
398a63a98f
add tests for empty custom field section
2025-12-23 17:07:52 +01:00
8e58829e95
fix: improve performance loading custom fields
2025-12-23 17:07:38 +01:00
ca702cf2c1
i18n: Update translations for custom field validation
continuous-integration/drone/push Build is passing
2025-12-23 17:02:30 +01:00
324425a991
test: Add tests for empty string validation in custom fields
2025-12-23 17:02:23 +01:00
4e101ea36e
feat: Add WCAG-compliant handling for boolean custom fields
2025-12-23 17:02:07 +01:00
e3ff3e610c
feat: optimize required custom fields query
2025-12-23 17:01:50 +01:00