Commit Graph

55 Commits

Author SHA1 Message Date
gitea-actions[bot] cc36efc60d chore(version): pre-release bump to 01.08.06-dev [skip ci] 2026-06-23 15:32:38 +00:00
gitea-actions[bot] 7aaa41048d chore(version): auto-bump patch 01.08.05-dev [skip ci] 2026-06-23 15:32:29 +00:00
gitea-actions[bot] 36a8f96beb chore(version): pre-release bump to 01.08.04-dev [skip ci] 2026-06-23 12:45:24 +00:00
gitea-actions[bot] 4ee155c8f3 chore(version): auto-bump patch 01.08.03-dev [skip ci] 2026-06-23 12:45:14 +00:00
gitea-actions[bot] d7e6ec338e chore(version): pre-release bump to 01.08.02-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 22s
2026-06-21 16:53:32 +00:00
gitea-actions[bot] 162298f8f9 chore(version): auto-bump patch 01.08.01-dev [skip ci] 2026-06-21 16:53:23 +00:00
Jonathan Miller be03793478 fix: review #18 — WarrantyHelper $db before init, TruckStock negative guard + raw SQL, tech_id column name
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
2026-06-21 11:52:54 -05:00
gitea-actions[bot] 4d4bd0c906 chore(release): build 01.08.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 4s
2026-06-21 16:05:06 +00:00
gitea-actions[bot] 1bbba00200 chore(version): pre-release bump to 01.07.02-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 3s
2026-06-21 15:57:53 +00:00
gitea-actions[bot] 54a9f10630 chore(version): auto-bump patch 01.07.01-dev [skip ci] 2026-06-21 15:57:45 +00:00
Jonathan Miller 4ec90d38f2 feat: CustomerSatisfactionHelper — post-service NPS, technician ratings, survey management
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
2026-06-21 10:57:33 -05:00
gitea-actions[bot] 5e815dd945 chore(release): build 01.07.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 24s
2026-06-21 15:00:40 +00:00
gitea-actions[bot] 1983d1c4ef chore(version): pre-release bump to 01.06.02-dev [skip ci]
Publish to Composer / Publish Package (release) Failing after 4s
2026-06-21 14:22:27 +00:00
gitea-actions[bot] e01a08c664 chore(version): auto-bump patch 01.06.01-dev [skip ci] 2026-06-21 14:22:18 +00:00
Jonathan Miller 3ca55ac09c feat: GpsTrackingHelper — fleet positions, drive history, speed alerts
Universal: Auto Version Bump / Version Bump (push) Successful in 10s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
2026-06-21 09:22:02 -05:00
gitea-actions[bot] 3f73e680f0 chore(release): build 01.06.00 [skip ci]
Publish to Composer / Publish Package (release) Failing after 26s
2026-06-21 14:05:54 +00:00
gitea-actions[bot] a772f4b872 chore(version): pre-release bump to 01.05.02-dev [skip ci] 2026-06-21 13:50:00 +00:00
gitea-actions[bot] e6ba7ade71 chore(version): auto-bump patch 01.05.01-dev [skip ci] 2026-06-21 13:49:51 +00:00
Jonathan Miller f9eb1153e6 feat: TechnicianSkillHelper — skill matrix, best-match dispatch, cert expiry tracking
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
2026-06-21 08:49:40 -05:00
gitea-actions[bot] 0bfca03942 chore(release): build 01.05.00 [skip ci] 2026-06-21 05:27:40 +00:00
Jonathan Miller eeaef928b5 fix: safety checklist — verify pending+unchecked before marking, auto-complete status
Universal: Auto Version Bump / Version Bump (push) Successful in 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 13s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 18s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 3s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-21 00:25:13 -05:00
gitea-actions[bot] 4ce4814e50 chore(version): pre-release bump to 01.04.02-dev [skip ci] 2026-06-21 05:05:20 +00:00
gitea-actions[bot] bc0fb961b5 chore(version): auto-bump patch 01.04.01-dev [skip ci] 2026-06-21 05:05:09 +00:00
Jonathan Miller 9136156034 Add SafetyChecklistHelper — trade-specific pre-job safety checks, compliance gating
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 14s
2026-06-21 00:04:55 -05:00
gitea-actions[bot] 347063c298 chore(release): build 01.04.00 [skip ci] 2026-06-21 04:40:59 +00:00
gitea-actions[bot] b2472ddcdc chore(version): auto-bump patch 01.03.03-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 18s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 2m4s
2026-06-21 04:39:45 +00:00
Jonathan Miller c8b1b32b71 fix: warranty claim operator precedence bug + WO validation
Universal: Auto Version Bump / Version Bump (push) Successful in 10s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 4s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 13s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-20 23:39:33 -05:00
gitea-actions[bot] ec1618c425 chore(version): pre-release bump to 01.03.02-dev [skip ci] 2026-06-21 04:25:58 +00:00
gitea-actions[bot] 2a1ca75d2c chore(version): auto-bump patch 01.03.01-dev [skip ci] 2026-06-21 04:25:50 +00:00
Jonathan Miller ed8365df49 Add WarrantyHelper — warranty status, claim processing, expiry alerts
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
2026-06-20 23:25:37 -05:00
gitea-actions[bot] 31b7b47e47 chore(release): build 01.03.00 [skip ci] 2026-06-21 01:17:23 +00:00
Jonathan Miller 3cd36b94bf fix: feedback token race condition (FOR UPDATE), generic error for public users
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Project CI / Lint & Validate (pull_request) Successful in 6s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 6s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 2s
Universal: Auto Version Bump / Version Bump (push) Successful in 7s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 7s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 16s
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-20 20:14:31 -05:00
gitea-actions[bot] f33012cb90 chore(version): auto-bump patch 01.02.01-dev [skip ci] 2026-06-21 01:01:13 +00:00
Jonathan Miller a5bc28cd8a Add CustomerFeedbackHelper — post-service surveys, NPS scores, token-based feedback
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 7s
2026-06-20 20:00:21 -05:00
gitea-actions[bot] 41307be688 chore(release): build 01.02.00 [skip ci] 2026-06-20 21:35:40 +00:00
Jonathan Miller 52c7684c6a Add FieldReportsController API — tech performance, revenue by trade, parts usage, SLA compliance
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 15s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 2m33s
2026-06-20 15:50:54 -05:00
Jonathan Miller 5911e97a26 Add PartsHelper — common parts by trade, usage tracking, stock deduction, low stock alerts 2026-06-20 13:21:17 -05:00
Jonathan Miller 6ad31dd8c0 Add FieldSchedulingController API — appointment slots, booking, daily schedule, tech routes 2026-06-18 11:43:16 -05:00
Jonathan Miller 78e172a50d Add SchedulingHelper — appointment slots, tech availability, daily schedule 2026-06-18 11:12:40 -05:00
Jonathan Miller efae025a2f fix: Address PR review findings — CSRF, status guards, SQL safety, transactions
- Add CSRF token validation on EstimateView approve/reject forms
- Add status guard on reject branch (prevent reversing approved estimates)
- Fix loc.* column collision in WorkOrdersModel::getWorkOrder (overwrote wo.id)
- Add (int) cast on all query parameter concatenations
- Wrap InvoiceHelper::generateFromWorkOrder in database transaction
- Replace magic 0.5 divisor with AVG_SPEED_MPH constant in RouteHelper
2026-06-18 09:03:19 -05:00
Jonathan Miller e1b885939a Add EstimateView site view — public estimate approval page with e-signature and decline option 2026-06-18 08:28:01 -05:00
Jonathan Miller 71b5166251 Add InvoiceHelper — generate CRM invoices from completed work orders (labor hours + parts), batch invoicing 2026-06-18 08:24:57 -05:00
Jonathan Miller 3ba79d4367 Add 7 admin models — WorkOrders, Technicians, Equipment, Vehicles, ServiceAgreements, Estimates, Dispatch
All use Joomla 6 BaseDatabaseModel with $this->getDatabase()
2026-06-15 00:50:26 -05:00
Jonathan Miller 5b923b4869 Add FieldEquipment and FieldEstimates API controllers
- FieldEquipmentController: equipment CRUD, vehicles, truck stock, service agreements
- FieldEstimatesController: estimates CRUD, convert-to-WO, route optimization API
2026-06-15 00:35:18 -05:00
Jonathan Miller 532e514106 Add RouteHelper — daily route building, nearest-neighbor optimization, GPS breadcrumbs, drive time estimates 2026-06-14 15:00:47 -05:00
Jonathan Miller d08648f2fc feat: customer service portal + mobile API (GPS, photos, time, parts) 2026-06-13 09:20:13 -05:00
Jonathan Miller ca513b61ee feat: mobile tech API — GPS, photos, time tracking, parts usage, equipment QR
FieldMobileController: 8 endpoints for field tech mobile app — my jobs
(priority-sorted with customer/location data), status updates with GPS,
photo upload with geotag, start/stop time entries, log parts from truck
stock (auto-deducts + adds WO line item), GPS heartbeat, equipment QR
code lookup. Auth requires technician profile linked to Joomla user.
2026-06-13 08:57:09 -05:00
Jonathan Miller a146c106a3 chore: CI workflow, language files, CSS, JS infrastructure 2026-06-13 08:37:43 -05:00
Jonathan Miller ceb03dba48 feat: equipment, dispatch, vehicles views + truck stock/vehicle helpers
TruckStockHelper: per-vehicle inventory, low stock, use/restock parts.
VehicleHelper: fleet overview, inspection due dates.
Admin views: Equipment list with service due alerts, Dispatch board
with date picker and tech assignments, Vehicles fleet with low stock
indicators and inspection tracking. All with templates.
2026-06-13 08:14:33 -05:00
Jonathan Miller 00b1cacceb feat: technician mobile view + public service booking page
TechMobile: tablet/phone view for field techs — today's jobs sorted by
priority, current job card with address/access notes/phone link, GPS
status updates (en route/arrived/start/complete), Google Maps navigation.
BookService: public form for customers to request service — trade
selector, priority, description, auto contact + work order creation.
2026-06-13 08:01:56 -05:00