• Mahmoud Aglan's avatar
    Wire all cross-module integrations: events, enforcement, dashboard, scheduled jobs · 101a0f35
    Mahmoud Aglan authored
    Money flows:
    - Payslip paid → double-entry financial transaction (debit salary expense / credit cash)
    - POS sale → inventory movements for tracked products
    - Enrollment → auto-invoice via PricingService
    - Invoice overdue detection enhanced with balance guard
    
    Operational events (previously empty → now wired):
    - AssignmentCreated → generate trainer attendance expectations
    - AssignmentEnded → remove future trainer attendance
    - FacilityStatusChanged → cancel reservations on maintenance
    - PurchaseOrderReceived → create receiving inventory movements
    - StockCountCompleted → process count adjustments
    - KitAssembled → deduct component stock
    - InventoryMovementCreated → check low stock threshold
    
    Business rule enforcement:
    - Medical certificate enforcement at attendance time (configurable)
    - Group capacity check + auto-waitlist on enrollment
    - Participant status blocking (frozen/suspended can't enroll)
    - Attendance threshold from settings (not hardcoded)
    
    Dashboard rebuilt with actionable data:
    - Today's sessions, trainers present, payments, active participants
    - Needs-attention cards (overdue invoices, pending approvals, expired docs)
    - Today's schedule with take-attendance buttons
    - Recent payments feed + quick action buttons
    
    Scheduled jobs:
    - attendance:auto-absent (hourly)
    - documents:expire (daily 06:00)
    - payments:detect-defaults (daily 08:00)
    - attendance:send-alerts (daily 20:00)
    Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
    101a0f35
Name
Last commit
Last update
..
Attendance Loading commit data...
Audit/Models Loading commit data...
Document Loading commit data...
Facility Loading commit data...
Financial Loading commit data...
HR Loading commit data...
Identity Loading commit data...
Inventory Loading commit data...
Notification Loading commit data...
POS Loading commit data...
Participant Loading commit data...
Pricing Loading commit data...
Scheduling Loading commit data...
Shared Loading commit data...
Training Loading commit data...