• 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
..
Controllers Loading commit data...
Models Loading commit data...
Services Loading commit data...
Views Loading commit data...
Routes.php Loading commit data...
bootstrap.php Loading commit data...