• 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
.claude/rules Loading commit data...
app Loading commit data...
bootstrap Loading commit data...
config Loading commit data...
database Loading commit data...
docker Loading commit data...
docs Loading commit data...
gap-filling-plans Loading commit data...
marketing-site Loading commit data...
plans Loading commit data...
public Loading commit data...
resources Loading commit data...
routes Loading commit data...
scripts Loading commit data...
storage Loading commit data...
tests Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.env.example Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.npmrc Loading commit data...
Beanding Guide.txt Loading commit data...
CLAUDE.md Loading commit data...
Dockerfile Loading commit data...
README.md Loading commit data...
artisan Loading commit data...
captain-definition Loading commit data...
composer.json Loading commit data...
composer.lock Loading commit data...
deploy.sh Loading commit data...
elcaptain-sportsonly-db.md Loading commit data...
package-lock.json Loading commit data...
package.json Loading commit data...
phpunit.xml Loading commit data...
system info.txt Loading commit data...
vite.config.js Loading commit data...