docs: small changes based on review
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
f5ef16ec20
commit
3fd8483231
1 changed files with 9 additions and 6 deletions
|
|
@ -82,7 +82,6 @@ This document provides a comprehensive overview of the Membership Fees system. I
|
|||
- amount (Decimal) - Membership fee amount in Euro
|
||||
- interval (Enum) - :monthly, :quarterly, :half_yearly, :yearly
|
||||
- description (Text, optional)
|
||||
- timestamps
|
||||
```
|
||||
|
||||
**Important:**
|
||||
|
|
@ -101,7 +100,6 @@ This document provides a comprehensive overview of the Membership Fees system. I
|
|||
- status (Enum) - :unpaid (default), :paid, :suspended
|
||||
- amount (Decimal) - Membership fee amount at generation time (history when type changes)
|
||||
- notes (Text, optional) - Admin notes
|
||||
- timestamps
|
||||
```
|
||||
|
||||
**Important:**
|
||||
|
|
@ -169,11 +167,16 @@ value: UUID (Required) - Default membership fee type for new members
|
|||
|
||||
**Algorithm:**
|
||||
|
||||
Lock the whole cycle table for the duration of the algorithm
|
||||
|
||||
1. Get `member.membership_fee_start_date` and member's membership fee type
|
||||
2. Calculate first cycle based on `membership_fee_start_date`
|
||||
3. Generate all cycles from start to today (or `left_at` if present)
|
||||
4. Skip existing cycles
|
||||
5. Set `amount` to current membership fee type's amount
|
||||
2. Generate cycles until today (or `left_at` if present):
|
||||
- If no cycle exists:
|
||||
- Generate all cycles from `membership_fee_start_date`
|
||||
- else:
|
||||
- Generate all cycles from last existing cycle
|
||||
- use the interval to generate the cycles
|
||||
3. Set `amount` to current membership fee type's amount
|
||||
|
||||
**Example (Yearly):**
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue