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 flexible invoice pricing system with tiered, flat rate, time-based, and custom pricing models

    f18d2f1
  6. feat: add smart validation for activation requirements with 6 new field types and auto-generated validation rules

    dddd6c6
  7. 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. Add payroll stats, generation notifications, user payroll history endpoint, and frontend API documentation.

    aa2653d
  6. Add leave application notifications using existing ticket-drop notification pattern.

    90d798b
  7. Fix timesheets 404/403 by adding missing permissions and reordering routes to prevent path conflicts.

    9962ce3
  8. Add CSV export, aggregated team stats, and bulk update endpoint for timesheets with sync logic.

    b149eb9

  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 notification role handling to support both enum and string role values

    bb7aae2
  10. Fix ticket re-pickup by ignoring closed assignments when determining available actions

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

    3a13ba4

  1. feat: reporting with advanced filtering, pagination, and performance optimizations.

    34b4d1d
  2. Update timesheet service: allow past timesheet updates, keep future date safety check, add manual trigger API

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

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

    5d3b68c
  5. feat: unified sync notification system, realtime timesheets and payroll, simplified project role compensation

    95005e1
  6. refactor: remove reconciliation system and all related code, tasks, and docs

    d12a170

  1. Add invite_users permission to PM/Dispatcher/Sales Manager roles for bulk invites

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

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

    d9b6bad
  4. Implement automatic clearing of irrelevant compensation fields when compensation_type changes, including validation updates and helper logic in project_service

    6be93fb
  5. Add new simple compensation types (per_day, per_week, per_ticket) with corresponding rate fields and update models, schemas, enums, and migration with full backward compatibility

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

    4e26259
  7. Implement reopen and reassign ticket endpoints and service logic for manager actions

    34bdd74
  8. Add missing organization name fields to InvoiceViewResponse and add debug logs to trace deployment issues

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

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

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

    8d499f1
  12. feat: enrich invoice viewing response with region info, status history, and sales order details

    94e37bb
  13. fix: add missing get_current_user import to projects API module

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

    24bb10d

  1. feat: add completion data to the ticket detail endpoint

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

    938ea18
  3. feat; public invoice download

    2d229d1
  4. Enrich contractor invoice response with contractor/client/project names and public viewing link

    0d63fec