• Fares's avatar
    fix: comprehensive subscription, transfer, and archive fixes (10 issues) · cfa6456e
    Fares authored
    1. Subscription sync: add refreshForMember() and markCurrentYearPaid()
       to handle post-transfer subscription creation and payment marking.
    2. Event listeners: transfer.completed and death.completed now trigger
       subscription sync for new members and cleanup for source members.
    3. Waiver: stop transferring ALL payments/subscriptions/fines to target.
       Only pending subscriptions, active installments, and unpaid fines move.
       Paid history stays with the archived source member.
    4. Death: createNewSubscriptions() now marks all rows as 'paid' since
       the annual fee is collected as part of the death transfer fee.
    5. Death dependent: remove pending subscription rows when a spouse/child
       dies (not the primary member).
    6. Members: add ownership_transfer_date column (migration + display)
       to record when membership ownership was transferred.
    7. Archive: group subscriptions by financial year with summary totals.
    8. Arabize: archive views (entity_type, snapshot_reason, NULL→فارغ),
       subscription statuses, and payment type labels.
    9. Seasonal: fix duplicate national_id error by checking all members
       (including archived) during validation.
    Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
    cfa6456e
Name
Last commit
Last update
..
DeathController.php Loading commit data...