|
|
1b4154ee64
|
feat: add 4 example membership fee types to seed script
continuous-integration/drone/push Build is passing
|
2025-12-16 17:26:41 +01:00 |
|
|
|
ada43728d6
|
chore: update gettext
|
2025-12-16 17:26:41 +01:00 |
|
|
|
53d7a91653
|
docs: document require_atomic? false in MembershipFeeType actions
|
2025-12-16 17:26:41 +01:00 |
|
|
|
725bfec2ba
|
refactor: migrate MembershipFeeSettingsLive to AshPhoenix.Form
|
2025-12-16 17:26:40 +01:00 |
|
|
|
6261d3b286
|
feat: improve error handling in settings validation for default_membership_fee_type_id
|
2025-12-16 17:26:40 +01:00 |
|
|
|
d5e78774c5
|
feat: prevent deletion of membership fee type when used as default in settings
|
2025-12-16 17:26:40 +01:00 |
|
|
|
c12e7fc3df
|
refactor: use Enum.map_join instead of Enum.map |> Enum.join
|
2025-12-16 17:26:38 +01:00 |
|
|
|
68261fa72a
|
fix: improve accessibility - WCAG 2 AA contrast and select label
|
2025-12-16 17:25:42 +01:00 |
|
|
|
c698fc5d04
|
refactor: replace ContributionSettingsLive mockup with MembershipFeeSettingsLive in navigation
|
2025-12-16 17:25:41 +01:00 |
|
|
|
4059395534
|
i18n: add German translations for membership fee settings
|
2025-12-16 17:25:37 +01:00 |
|
|
|
cadb18c050
|
feat: implement full CRUD for membership fee types with settings UI
- Add interval immutability and deletion prevention validations
- Add settings validation for default_membership_fee_type_id
- Create MembershipFeeSettingsLive for admin UI with form handling
- Add comprehensive test coverage (unit, integration, settings)
|
2025-12-16 17:16:41 +01:00 |
|