1. 13 Aug, 2026 4 commits
    • Mahmoud Aglan's avatar
      Fix POS payment collection + retroactive wizard reliability · 86da35b4
      Mahmoud Aglan authored
      Payment Collection (CollectPaymentWizard):
      - Remove branch filter from participant search (POS sells cross-branch)
      - Include Draft status in outstanding invoice query
      - Add invoice search mode (search by invoice number/contact name)
      - Allow walk-in invoices to be found and paid directly
      - Accept inactive/frozen/registered participants (not just active)
      
      Retroactive Enrollment Wizard:
      - Fix "paid outside system" to use PaymentService (creates proper Payment
        + Transaction records for financial reports)
      - Add server-side validation in confirm() before DB transaction
      - Add national_id duplicate check to prevent duplicate participants
      - Add price=0 guard (show error if no base price and no override)
      - Fix rounding loss: remainder goes to last month's invoice
      - Pass skip_auto_invoice to prevent double invoice creation
      
      POS Partial Payment:
      - Enable allows_partial_payment on all existing products (migration)
        so the deposit/partial payment UI appears at checkout
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      86da35b4
    • Mahmoud Aglan's avatar
      Add financial quick-links: invoices, POS history, expenses list · f1f30cc6
      Mahmoud Aglan authored
      All financial-related pages are now reachable from the Financial Overview
      via quick-action buttons with proper permission gates.
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      f1f30cc6
    • Mahmoud Aglan's avatar
      Add sales receipts tab to product detail page · eb96c326
      Mahmoud Aglan authored
      Shows all POS receipts (RCP-*) containing this product with: receipt
      number, customer, total, payment status, method, cashier, date.
      Each receipt has a print link and invoice link for further actions.
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      eb96c326
    • Mahmoud Aglan's avatar
      Redesign branch switcher: bold dropdown with pin/lock feature · e3750618
      Mahmoud Aglan authored
      - Prominent button with colored border (amber pulse when unpinned, green when pinned)
      - Dropdown with branch list, selected indicator, and pin status
      - Pin icon shows when branch is locked
      - Selecting a branch auto-pins it (persists across logout/login)
      - Unpin button available to release the lock
      - Visual hint text explains pin behavior
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      e3750618
  2. 10 Aug, 2026 2 commits
  3. 09 Aug, 2026 11 commits
  4. 08 Aug, 2026 1 commit
  5. 06 Aug, 2026 1 commit
  6. 05 Aug, 2026 3 commits
  7. 04 Aug, 2026 6 commits
  8. 03 Aug, 2026 1 commit
    • Mahmoud Aglan's avatar
      Financial overview: detailed revenue breakdown + unpaid highlight in attendance · 3a69923d
      Mahmoud Aglan authored
      1. Financial Overview: add subscription vs product revenue split, top programs
         by revenue, per-product totals, and 12 key financial metrics (churn rate,
         avg revenue per participant, profit margin, avg days to collect, etc.)
         All respect the existing period + branch filters.
      
      2. Attendance views (TakeAttendance + QuickAttendance): detect participants
         with unpaid invoices or overdue renewals and highlight them in red with
         "غير مدفوع" badge so trainers can see payment status at a glance.
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      3a69923d
  9. 02 Aug, 2026 11 commits