Commit History

  1. fix: add pricing_tier to allowed line item types in invoice schema

    e7d310d
  2. fix: convert Decimals to float in invoice generation additional_metadata for JSON serialization

    8d20770
  3. fix: add invoice_pricing_rules to project overview response and fix Decimal serialization

    a963b0d
  4. fix: convert Decimal to float in invoice pricing rules for JSON serialization

    8f5c70d
  5. feat: add custom reports with aggregations and export parity

    367d57f

  1. Fix report endpoints to be async for compatibility with permission decorator

    93e3d85
  2. Add report viewing and exporting permissions to manager and dispatcher roles

    f978499
  3. Register reports router, fix CSV BaseModel import, enforce report permissions, and add frontend API docs.

    f10602a
  4. Fix payroll stats 422 by removing duplicate /stats endpoint and correcting route ordering.

    bb7143c
  5. Fix timesheets 404/403 by adding missing permissions and reordering routes to prevent path conflicts.

    9962ce3

  1. fix: correct User attribute from app_role to role in ticket assignment authorization check

    558f8d8
  2. fix: use historical ticket counts in timesheets to track daily workload regardless of completion status

    713fc8b
  3. fix: add 60s timeout to Cloudinary uploads with Supabase fallback for large images

    756bc21
  4. Trigger real-time timesheet updates on journey start and arrival actions

    c001b0a
  5. Update timesheets in real time when bulk approving expenses (including past dates)

    2caf3a4
  6. fix: add missing and_ import to fix timesheet expense aggregation crash

    104d481
  7. Fix ticket expense runtime errors by correcting Decimal aggregation and removing invalid currency references.

    4687303
  8. Fixed timesheet aggregation issues: corrected self-assignment counting, updated expense approval logic, and documented dropped vs cancelled ticket semantics.

    207b4a1
  9. Fix ticket re-pickup by ignoring closed assignments when determining available actions

    12f96fe
  10. Enhance stats endpoints with time-based breakdowns for richer dashboard analytics

    3a13ba4

  1. Fix syntax error in timesheets.py: correct duplicate request argument and missing comma

    d054ee0
  2. Fix runtime error: remove await from sync function, update AuditService calls to new API

    5d3b68c
  3. refactor: remove reconciliation system and all related code, tasks, and docs

    d12a170

  1. implement CSV bulk invitations using in-memory analysis and metadata field

    01f85fe
  2. fix(auth): properly update user password and use valid audit enum values

    d9b6bad
  3. Add missing status-history creation for all ticket status transitions including cancel, reopen, reassign, and all reactivation paths

    4e26259
  4. Add missing organization name fields to InvoiceViewResponse and add debug logs to trace deployment issues

    ff92c12
  5. fix: add missing AppRole import in projects API and enable eager loading in invoice viewing service

    04b997c
  6. fix: correct ProjectRegion import path in projects API module

    cb9c038
  7. fix: correct ProjectRegion import path in invoice viewing service

    8d499f1
  8. fix: add missing get_current_user import to projects API module

    c5709e5
  9. feat: updated the pm ticket detail endpoint to give back proper actions

    24bb10d

  1. Fix timezone-aware datetime comparisons and correct CORS config requiring explicit allowed origins

    938ea18
  2. Improve invoice generation by auto-deriving contractor/client from project and updating schemas, logic, and docs accordingly

    c651639
  3. Enhance available-tickets endpoint to auto-derive contractor from project and support contractor_id=auto

    5a1264e
  4. Fix contractor invoice list route by removing trailing slash to prevent 307 redirects and CORS failures

    337e2ae
  5. Fix contractor invoice route prefix conflict and update frontend docs to match corrected API paths

    717d701
  6. Fix invoice API import paths by switching get_db/get_current_user to app.api.deps for consistency with existing services

    34e4aad
  7. Fix notification filtering by switching list-based fields from == to .in_() to prevent PostgreSQL text=text[] errors

    15d1bcf
  8. Fix Tende Pay export notification: handle AMOUNT key and improve user guidance

    51e0775
  9. Fix Tende Pay export critical edge cases: only mark exported expenses as paid, skip invalid amounts/users, warn on mixed payment methods

    d566e9e
  10. Fix: Correct expense status logic and add real-time reconciliation for bulk approve/reject actions

    33127cf
  11. Fix: Correct date filtering, action logic, and check-in/out calculations in reconciliation query for accurate daily timesheet aggregation

    e832a39
  12. Fix: Serialize audit payloads to JSON before inserting into timesheet_updates for PostgreSQL compatibility

    d930817
  13. Fix: Use partial index name idx_timesheets_user_date_unique in ON CONFLICT to align with soft-delete unique constraint

    2e1b4ca
  14. Fix: Update ON CONFLICT to use (user_id, work_date) and align reconciliation logic with deployed migrations

    a9afcba
  15. Fix: Remove invalid enum values and rewrite reconciliation filters using valid AssignmentAction enums for reliable real-time updates

    de77159
  16. Fix: Replace ANY() array binding with explicit IN() params to resolve mixed parameter style errors in reconciliation SQL

    373feab
  17. Fix: Cast user_ids to UUID array in reconciliation SQL to resolve uuid=text ANY() errors

    6574f8d
  18. Fix: Correct expense relationship usage and add missing real-time reconciliation on ticket completion

    4ebdff0