jmiller
e615dc2031
chore: sync workflow-sync-trigger.yml from Template-Generic [skip ci]
2026-06-21 01:30:15 +00:00
jmiller
eb949e7bc1
chore: sync rc-revert.yml from Template-Generic [skip ci]
2026-06-21 01:30:14 +00:00
jmiller
83b05c9a57
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-21 01:30:13 +00:00
jmiller
65a2edffdd
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-06-21 01:30:11 +00:00
gitea-actions[bot]
31b7b47e47
chore(release): build 01.03.00 [skip ci]
2026-06-21 01:17:23 +00:00
jmiller
fbd6d3c619
Merge pull request 'feat: CustomerFeedbackHelper — NPS surveys' ( #19 ) from dev into main
2026-06-21 01:14:43 +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
jmiller
1a123dda9a
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-20 23:48:47 +00:00
jmiller
5abbcc1f82
chore: sync gitleaks.yml from Template-Generic [skip ci]
2026-06-20 23:48:46 +00:00
jmiller
09009d68d0
chore: sync ci-generic.yml from Template-Generic [skip ci]
2026-06-20 23:48:46 +00:00
jmiller
11b7ec6ed8
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-20 21:37:22 +00:00
gitea-actions[bot]
41307be688
chore(release): build 01.02.00 [skip ci]
2026-06-20 21:35:40 +00:00
jmiller
89e0a5a216
Merge pull request 'feat: FieldReportsController API' ( #18 ) from dev into main
2026-06-20 21:34:49 +00:00
jmiller
94a3f86d3a
chore: sync workflow-sync-trigger.yml from Template-Generic [skip ci]
2026-06-20 20:56:48 +00:00
jmiller
05ca826504
chore: sync security-audit.yml from Template-Generic [skip ci]
2026-06-20 20:56:48 +00:00
jmiller
3a9ce0a8c2
chore: sync repo-health.yml from Template-Generic [skip ci]
2026-06-20 20:56:48 +00:00
jmiller
62c3044737
chore: sync rc-revert.yml from Template-Generic [skip ci]
2026-06-20 20:56:47 +00:00
jmiller
14fa157184
chore: sync pre-release.yml from Template-Generic [skip ci]
2026-06-20 20:56:47 +00:00
jmiller
0dcb78e20f
chore: sync pr-check.yml from Template-Generic [skip ci]
2026-06-20 20:56:46 +00:00
jmiller
8d157cca38
chore: sync notify.yml from Template-Generic [skip ci]
2026-06-20 20:56:46 +00:00
jmiller
62046fa2c1
chore: sync issue-branch.yml from Template-Generic [skip ci]
2026-06-20 20:56:45 +00:00
jmiller
693661546b
chore: sync gitleaks.yml from Template-Generic [skip ci]
2026-06-20 20:56:45 +00:00
jmiller
14ab14b8a8
chore: sync deploy-manual.yml from Template-Generic [skip ci]
2026-06-20 20:56:44 +00:00
jmiller
12ccf490ff
chore: sync cleanup.yml from Template-Generic [skip ci]
2026-06-20 20:56:44 +00:00
jmiller
52e6d5635f
chore: sync ci-generic.yml from Template-Generic [skip ci]
2026-06-20 20:56:43 +00:00
jmiller
c3ce7f7f6a
chore: sync cascade-dev.yml from Template-Generic [skip ci]
2026-06-20 20:56:43 +00:00
jmiller
197e2b7212
chore: sync branch-cleanup.yml from Template-Generic [skip ci]
2026-06-20 20:56:42 +00:00
jmiller
387a59eb9e
chore: sync auto-release.yml from Template-Generic [skip ci]
2026-06-20 20:56:42 +00:00
jmiller
1fbdbbc7fe
chore: sync auto-bump.yml from Template-Generic [skip ci]
2026-06-20 20:56:42 +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
jmiller
f3cce0fc68
Merge pull request 'feat: PartsHelper' ( #17 ) from dev into main
2026-06-20 18:52:22 +00: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
jmiller
e81479d17e
Merge pull request 'feat: FieldSchedulingController API' ( #16 ) from dev into main
2026-06-18 17:47:40 +00:00
Jonathan Miller
6ad31dd8c0
Add FieldSchedulingController API — appointment slots, booking, daily schedule, tech routes
2026-06-18 11:43:16 -05:00
jmiller
85740cc8f6
Merge pull request 'feat: SchedulingHelper + block-stable CI' ( #15 ) from dev into main
2026-06-18 16:24:09 +00:00
Jonathan Miller
78e172a50d
Add SchedulingHelper — appointment slots, tech availability, daily schedule
2026-06-18 11:12:40 -05:00
Jonathan Miller
4bd5c4be0f
ci: add block-stable workflow
2026-06-18 10:56:00 -05:00
jmiller
f488c0ea12
feat: Full field service platform build — 17 commits
2026-06-18 14:55:44 +00: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
d2dc55539f
Update MokoSuite → MokoSuiteClient submodule reference
...
Updated .gitmodules URL and path for the MokoSuite → MokoSuiteClient rename.
2026-06-15 16:49:11 -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