Spaces:
Runtime error
Runtime error
Commit History
-
fix: add pricing_tier to allowed line item types in invoice schema
e7d310d -
fix: convert Decimals to float in invoice generation additional_metadata for JSON serialization
8d20770 -
fix: add invoice_pricing_rules to project overview response and fix Decimal serialization
a963b0d -
fix: convert Decimal to float in invoice pricing rules for JSON serialization
8f5c70d -
feat: add custom reports with aggregations and export parity
367d57f
-
Fix report endpoints to be async for compatibility with permission decorator
93e3d85 -
Add report viewing and exporting permissions to manager and dispatcher roles
f978499 -
Register reports router, fix CSV BaseModel import, enforce report permissions, and add frontend API docs.
f10602a -
Fix payroll stats 422 by removing duplicate /stats endpoint and correcting route ordering.
bb7143c -
Fix timesheets 404/403 by adding missing permissions and reordering routes to prevent path conflicts.
9962ce3
-
fix: correct User attribute from app_role to role in ticket assignment authorization check
558f8d8 -
fix: use historical ticket counts in timesheets to track daily workload regardless of completion status
713fc8b -
fix: add 60s timeout to Cloudinary uploads with Supabase fallback for large images
756bc21 -
Trigger real-time timesheet updates on journey start and arrival actions
c001b0a -
Update timesheets in real time when bulk approving expenses (including past dates)
2caf3a4 -
fix: add missing and_ import to fix timesheet expense aggregation crash
104d481 -
Fix ticket expense runtime errors by correcting Decimal aggregation and removing invalid currency references.
4687303 -
Fixed timesheet aggregation issues: corrected self-assignment counting, updated expense approval logic, and documented dropped vs cancelled ticket semantics.
207b4a1 -
Fix ticket re-pickup by ignoring closed assignments when determining available actions
12f96fe -
Enhance stats endpoints with time-based breakdowns for richer dashboard analytics
3a13ba4
-
Fix syntax error in timesheets.py: correct duplicate request argument and missing comma
d054ee0 -
Fix runtime error: remove await from sync function, update AuditService calls to new API
5d3b68c
-
feat: updated the pm ticket detail endpoint to give back proper actions
24bb10d
-
Fix timezone-aware datetime comparisons and correct CORS config requiring explicit allowed origins
938ea18 -
Improve invoice generation by auto-deriving contractor/client from project and updating schemas, logic, and docs accordingly
c651639 -
Enhance available-tickets endpoint to auto-derive contractor from project and support contractor_id=auto
5a1264e -
Fix contractor invoice list route by removing trailing slash to prevent 307 redirects and CORS failures
337e2ae -
Fix contractor invoice route prefix conflict and update frontend docs to match corrected API paths
717d701 -
Fix invoice API import paths by switching get_db/get_current_user to app.api.deps for consistency with existing services
34e4aad -
Fix notification filtering by switching list-based fields from == to .in_() to prevent PostgreSQL text=text[] errors
15d1bcf -
Fix Tende Pay export notification: handle AMOUNT key and improve user guidance
51e0775 -
Fix Tende Pay export critical edge cases: only mark exported expenses as paid, skip invalid amounts/users, warn on mixed payment methods
d566e9e -
Fix: Correct expense status logic and add real-time reconciliation for bulk approve/reject actions
33127cf -
Fix: Correct date filtering, action logic, and check-in/out calculations in reconciliation query for accurate daily timesheet aggregation
e832a39 -
Fix: Serialize audit payloads to JSON before inserting into timesheet_updates for PostgreSQL compatibility
d930817 -
Fix: Use partial index name idx_timesheets_user_date_unique in ON CONFLICT to align with soft-delete unique constraint
2e1b4ca -
Fix: Update ON CONFLICT to use (user_id, work_date) and align reconciliation logic with deployed migrations
a9afcba -
Fix: Remove invalid enum values and rewrite reconciliation filters using valid AssignmentAction enums for reliable real-time updates
de77159 -
Fix: Replace ANY() array binding with explicit IN() params to resolve mixed parameter style errors in reconciliation SQL
373feab -
Fix: Cast user_ids to UUID array in reconciliation SQL to resolve uuid=text ANY() errors
6574f8d -
Fix: Correct expense relationship usage and add missing real-time reconciliation on ticket completion
4ebdff0 -
Fix: Standardize time tracking fields and add migration to rename clock_in/clock_out to check_in/check_out
fec074b -
Made /stats accessible to field agents by removing restrictive permission decorator and cleaned up debug logging.
caf8129 -
Fixed /stats 422 error by moving the endpoint before /{timesheet_id} to correct FastAPI route ordering.
bf6c74e -
Updated /me/timesheets default range to last 7 days plus all future dates so upcoming leave requests are included.
fee9b9a -
Added deleted_at=None filtering across TimesheetService and converted deletes to soft-deletes to fix empty /me/timesheets results.
cbadf7a -
Fixed /me/timesheets endpoint by adding missing project_id parameter and enabling proper project-based filtering.
45da362 -
Fixed leave application endpoint by removing .value access on string statuses and ensuring consistent enum value handling.
2380d75 -
Corrected Timesheet enum storage by configuring SQLAlchemy Enum to persist .value strings and preventing unwanted enum coercion.
e9639af -
Forced enum serialization to lowercase DB values by explicitly converting TimesheetStatus to .value before model creation.
9ac8532