feat: add flexible invoice pricing system with tiered, flat rate, time-based, and custom pricing models f18d2f1 kamau1 commited on Dec 15, 2025
feat: unified sync notification system, realtime timesheets and payroll, simplified project role compensation 95005e1 kamau1 commited on Dec 12, 2025
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 kamau1 commited on Dec 11, 2025
Implement full end-to-end invoice generation & public viewing system (migrations, models, schemas, services, routes) 93efe54 kamau1 commited on Dec 10, 2025
Corrected Timesheet enum storage by configuring SQLAlchemy Enum to persist .value strings and preventing unwanted enum coercion. e9639af kamau1 commited on Dec 10, 2025
Implemented improved inventory requirements system with API endpoints, validation, and comprehensive documentation. 6b29be6 kamau1 commited on Dec 3, 2025
feat: add complete Kenya regions data layer, validation, and location API endpoints; remove outdated tests 6c59dab kamau1 commited on Dec 2, 2025
fix: replace utcnow() with timezone-aware datetime.now(timezone.utc) in days_issued to prevent offset-naive/aware errors 33d9190 kamau1 commited on Dec 1, 2025
Update expense validation rules for completed/cancelled tickets and add same-day completion grace period 6590cd4 kamau1 commited on Nov 30, 2025
feat: add expense_date and implement fully robust ticket expenses service + API d3e133f kamau1 commited on Nov 30, 2025
fix(models): restore Base inheritance to TicketStatusHistory model bb1483f kamau1 commited on Nov 30, 2025
Remove Base inheritance from TicketStatusHistory so SQLAlchemy can correctly register the model 4c66bec kamau1 commited on Nov 30, 2025
Remove BaseModel inheritance to match ticket status history table schema 0d59441 kamau1 commited on Nov 30, 2025
Fix column name mismatch between model and database for ticket status history fd9d839 kamau1 commited on Nov 30, 2025
Add ticket completion fields, integrate project requirements caching via cachetools, update completion service, and implement cache invalidation on project updates. 867ae6b kamau1 commited on Nov 28, 2025
Fix circular import by registering TicketStatusHistory before Ticket in models init to resolve SQLAlchemy mapper errors. 0f127a7 kamau1 commited on Nov 28, 2025
Add TicketStatusHistory model and integrate automatic status logging into ticket assignment workflow. a71d9fe kamau1 commited on Nov 28, 2025
Implement full dynamic ticket action system with enum rename, self-assign auto-accept, updated assignment logic, and new documentation. 101c6eb kamau1 commited on Nov 28, 2025
fix: correct TaskStatus enum usage, update Postgres ENUM definition, and add validator for empty task_scheduled_date 0a3426b kamau1 commited on Nov 27, 2025
feat: scope notification to a project, added project id to the notifications table as a nullable field e90be6b kamau1 commited on Nov 26, 2025
fix(tickets): resolve 500/422 errors by correcting response schema, timezone handling, and route ordering e02cc07 kamau1 commited on Nov 26, 2025
fix: add values_callable to all ENUM columns and fix Notification model inheritance 157a11c kamau1 commited on Nov 23, 2025
fix: correct database schema mismatches in Ticket, Notification, and TicketExpense queries 3522180 kamau1 commited on Nov 23, 2025
fix: add values_callable to ENUM to use enum values instead of names dd53dfa kamau1 commited on Nov 23, 2025
fix: use PostgreSQL ENUM from sqlalchemy.dialects.postgresql for project_type 9dd1d74 kamau1 commited on Nov 23, 2025
fix: revert project_type to TEXT with check constraint instead of enum 59398b7 kamau1 commited on Nov 23, 2025
fix: update project_type enum to match Python code and improve data integrity 3250102 kamau1 commited on Nov 23, 2025
feat: introduce ProjectType enum and update project model to use it for improved data integrity b5808a8 kamau1 commited on Nov 23, 2025
fix: resolve runtime error in add_existing_user_to_project endpoint 9cbadb3 kamau1 commited on Nov 23, 2025
fix(invite): implement project-level invitations with validation and notifications cd8df9d kamau1 commited on Nov 21, 2025
fix SAWarning overlapping relationships between User.project_memberships and ProjectTeam.user fa8b99b kamau1 commited on Nov 19, 2025
feat: default theme is now darkmode, updated invitaion to refresh tokens for a reinvite, scoped apps by role better eabe4ec kamau1 commited on Nov 18, 2025
fix(ticket): correct typo in sales_order primaryjoin (source_type → source) 708058c kamau1 commited on Nov 17, 2025
fix: add missing ForeignKeys and correct broken Ticket–ContractorInvoice link c591eda kamau1 commited on Nov 17, 2025
fix(orm): correct asymmetric relationships, add missing back_populates, and remove invalid model refs d9b075a kamau1 commited on Nov 17, 2025
fix(models): rebuild __init__.py to import all models in correct dependency order 3f30780 kamau1 commited on Nov 17, 2025
fix(models): restore Client–Customer relationship and resolve SQLAlchemy mapping error 5dccf83 kamau1 commited on Nov 17, 2025
feat(auth): fix platform admin registration flow and update OTP/registration schemas ab3ba46 kamau1 commited on Nov 17, 2025
fix: add missing Subscription model class - maps to subscriptions table for customer service subscriptions 8324cf9 kamau1 commited on Nov 17, 2025