• 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
..
Activities Loading commit data...
Admin Loading commit data...
Assignments Loading commit data...
Attendance Loading commit data...
Audit Loading commit data...
Auth Loading commit data...
Branches Loading commit data...
CashSessions Loading commit data...
Components Loading commit data...
Dashboard Loading commit data...
Documents Loading commit data...
Enrollments Loading commit data...
Evaluations Loading commit data...
Facilities Loading commit data...
Financial Loading commit data...
Groups Loading commit data...
Guardian Loading commit data...
HR Loading commit data...
Inventory Loading commit data...
Invoices Loading commit data...
Messaging Loading commit data...
Notifications Loading commit data...
POS Loading commit data...
Participants Loading commit data...
People Loading commit data...
Pricing Loading commit data...
Profile Loading commit data...
Programs Loading commit data...
Receptionist Loading commit data...
Reports Loading commit data...
Roles Loading commit data...
Schedule Loading commit data...
Settings Loading commit data...
Trainer Loading commit data...
Training Loading commit data...
Users Loading commit data...
Wallets Loading commit data...
Wizards Loading commit data...
BranchSwitcher.php Loading commit data...
Dashboard.php Loading commit data...
GlobalSearch.php Loading commit data...