Membership Fee - Database Schema & Ash Domain Foundation closes #275 #283

Merged
moritz merged 2 commits from feature/275_member_fee_domain into main 2025-12-16 14:06:46 +01:00
Owner

Description of the implemented changes

The changes were:

  • Bugfixing
  • New Feature
  • Breaking Change
  • Refactoring

Definition of Done

Code Quality

  • No new technical depths
  • Linting passed
  • Documentation is added were needed

Accessibility

  • New elements are properly defined with html-tags
  • Colour contrast follows WCAG criteria
  • Aria labels are added when needed
  • Everything is accessible by keyboard
  • Tab-Order is comprehensible
  • All interactive elements have a visible focus

Testing

  • Tests for new code are written
  • All tests pass
  • axe-core dev tools show no critical or major issues
## Description of the implemented changes The changes were: - [ ] Bugfixing - [x] New Feature - [ ] Breaking Change - [ ] Refactoring ## Definition of Done ### Code Quality - [ ] No new technical depths - [x] Linting passed - [x] Documentation is added were needed ### Accessibility - [ ] New elements are properly defined with html-tags - [ ] Colour contrast follows WCAG criteria - [ ] Aria labels are added when needed - [ ] Everything is accessible by keyboard - [ ] Tab-Order is comprehensible - [ ] All interactive elements have a visible focus ### Testing - [x] Tests for new code are written - [x] All tests pass - [ ] axe-core dev tools show no critical or major issues
moritz added this to the Membership Fees milestone 2025-12-11 16:28:55 +01:00
moritz self-assigned this 2025-12-11 16:28:55 +01:00
moritz added 1 commit 2025-12-11 16:28:57 +01:00
feat(membership-fees): add database schema and Ash domain structure
All checks were successful
continuous-integration/drone/push Build is passing
b37c312b15
moritz added 1 commit 2025-12-11 17:07:05 +01:00
fix(membership-fees): add DB constraints for enum and decimal precision
Some checks failed
continuous-integration/drone/push Build is failing
174b7696d3
moritz force-pushed feature/275_member_fee_domain from 174b7696d3 to caebcefb8c 2025-12-11 18:34:47 +01:00 Compare
moritz changed title from WIP: Membership Fee - Database Schema & Ash Domain Foundation closes #275 to Membership Fee - Database Schema & Ash Domain Foundation closes #275 2025-12-11 18:35:38 +01:00
moritz force-pushed feature/275_member_fee_domain from caebcefb8c to a3aa61a89e 2025-12-11 18:35:54 +01:00 Compare
moritz force-pushed feature/275_member_fee_domain from a3aa61a89e to ebbf347e42 2025-12-11 18:46:53 +01:00 Compare
moritz added a new dependency 2025-12-15 21:39:11 +01:00
carla approved these changes 2025-12-16 12:12:25 +01:00
carla left a comment
Owner

Good work. I just have the questions I mentioned, otherwise looks good to me :)

Good work. I just have the questions I mentioned, otherwise looks good to me :)
@ -0,0 +9,4 @@
## Attributes
- `name` - Unique name for the fee type (e.g., "Standard", "Reduced", "Family")
- `amount` - The fee amount in the default currency (decimal)
Owner

One member of the pilot clubs said they have the case that many members have individual fees. That would be possible that we define an amount on member level let's say?

One member of the pilot clubs said they have the case that many members have individual fees. That would be possible that we define an amount on member level let's say?
Author
Owner

In that case this club needs to define a member type for each member that has an individual fee. I think it's a quite special case, but it could be covered this way.

In that case this club needs to define a member type for each member that has an individual fee. I think it's a quite special case, but it could be covered this way.
@ -17,2 +17,3 @@
:house_number,
:postal_code
:postal_code,
:membership_fee_start_date
Owner

I do not get why we need that as constant / member field? Isn't it always the join date + next cycle?

I do not get why we need that as constant / member field? Isn't it always the join date + next cycle?
Author
Owner

Sometimes the member should start to pay later or earlier then the joining date. This way the date when the cycles were generated can be modified.

Sometimes the member should start to pay later or earlier then the joining date. This way the date when the cycles were generated can be modified.
@ -0,0 +50,4 @@
),
null: false
# RESTRICT: Cannot delete fee type if cycles reference it
Owner

What if members paid cycles in the past for a specific type and now this type changes?

What if members paid cycles in the past for a specific type and now this type changes?
Author
Owner

As long as there are existing cycles paid in the past the referring type shouldn't be deleted, even if another type is now assigned to the member. Maybe we could implement in future a way to deactivate unused types. So they exist for the history but can not selected anymore.

As long as there are existing cycles paid in the past the referring type shouldn't be deleted, even if another type is now assigned to the member. Maybe we could implement in future a way to deactivate unused types. So they exist for the history but can not selected anymore.
moritz merged commit cb82c07cbf into main 2025-12-16 14:06:46 +01:00
moritz deleted branch feature/275_member_fee_domain 2025-12-16 14:06:47 +01:00
Sign in to join this conversation.
No description provided.