Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
5891d0b
fix(tracking): throttle the public order lookup and return a minimal …
roncodes Oct 6, 2026
413aa47
fix(files): stop writing signatures with a public ACL; re-sign stored…
roncodes Oct 6, 2026
922b4ad
fix(mail): link customer credentials to /customer-access/{slug}
roncodes Oct 6, 2026
2f2de4a
feat(tracking-page): organization settings for the customer tracking …
roncodes Oct 6, 2026
e3d8bc3
feat(tracking): structured tracking-url QR codes and Code 128 barcodes
roncodes Oct 6, 2026
ccec8c9
test(tracking): cover tracking-url codes, Code 128 barcodes and the s…
roncodes Oct 6, 2026
21924b0
fix(tracking): refuse non-string scan codes with the existing 400
roncodes Oct 6, 2026
16bacb3
feat(tracking-page): settings screen for the customer tracking page
roncodes Oct 6, 2026
cab38a6
fix(tracking-page): fall back to defaults for missing booleans
roncodes Oct 6, 2026
7be30b0
Merge branch 'feature/tracking-page-settings' into feature/tracking-p…
roncodes Oct 6, 2026
4ef4dd8
style: wrap the tracking page sidebar item for prettier
roncodes Oct 6, 2026
9b8c582
feat(socket-auth): fleetops channel resolvers, driver socket tokens, …
roncodes Oct 6, 2026
15ad8bd
fix(socket-auth): scheduler listens only to driver channels and close…
roncodes Oct 6, 2026
4ba8680
test(socket-auth): match prettier line wrapping in the scheduler test
roncodes Oct 6, 2026
c255ee6
fix(service-rate): resolve parcel box images after production fingerp…
roncodes Oct 7, 2026
65a429b
fix(live-map): fall back to the shipped map-marker.png for drivers an…
roncodes Oct 7, 2026
317929a
chore(release): v0.6.72
roncodes Oct 7, 2026
3dd4ced
Merge pull request #352 from fleetbase/fix/tracking-lookup-public-res…
roncodes Oct 7, 2026
58c87ef
Merge pull request #353 from fleetbase/fix/private-media-bucket
roncodes Oct 7, 2026
66b1ee8
Merge pull request #354 from fleetbase/fix/customer-credentials-porta…
roncodes Oct 7, 2026
b697057
Merge pull request #355 from fleetbase/feature/tracking-page-settings
roncodes Oct 7, 2026
6593455
Merge pull request #356 from fleetbase/feature/structured-tracking-codes
roncodes Oct 7, 2026
7d65a14
Merge pull request #357 from fleetbase/feature/tracking-page-settings-ui
roncodes Oct 7, 2026
94fe401
Merge pull request #370 from fleetbase/fix/parcel-box-image-fingerprint
roncodes Oct 7, 2026
4996548
Merge pull request #371 from fleetbase/fix/google-live-map-marker-fal…
roncodes Oct 7, 2026
802839f
Merge pull request #358 from fleetbase/feature/socket-auth
roncodes Oct 7, 2026
1fbf11f
fix(tracking): open tracking links for signed-in users too
roncodes Oct 8, 2026
9529b4e
feat(tracking-page): the customer tracking page, end to end
roncodes Oct 8, 2026
1b87d8b
fix(tracking-page): lint fixes for the tracking page
roncodes Oct 8, 2026
8c10d6f
feat(tracking-page): path links, /~/t/{slug}/{number} and /~/track/{n…
roncodes Oct 8, 2026
750c26b
fix(orders): keep order details from breaking navigation away
roncodes Oct 9, 2026
7c3e551
fix(places): return 404 when a place isn't found
roncodes Oct 9, 2026
a4b5e3a
fix(geo): build radius circles at the requested size
roncodes Oct 9, 2026
620d07d
fix(orders): keep the new order draft when a place is edited
roncodes Oct 9, 2026
e5c0c26
fix(orders): soft-delete an order's payload, entities and tracking da…
roncodes Oct 9, 2026
1adfc43
fix(orders): resolve public ids in facilitator and customer filters
roncodes Oct 9, 2026
6ed2b85
fix(accounts): create managed users in the sandbox database for test …
roncodes Oct 9, 2026
bd83ea4
Merge pull request #373 from fleetbase/fix/places-not-found-404
roncodes Oct 9, 2026
c5f23a9
Merge pull request #374 from fleetbase/fix/coords-to-circle-radius
roncodes Oct 9, 2026
73f29e7
Merge pull request #375 from fleetbase/fix/order-filter-public-ids
roncodes Oct 9, 2026
f9814d6
Merge pull request #376 from fleetbase/fix/new-order-form-keeps-draft
roncodes Oct 9, 2026
784a4de
Merge pull request #377 from fleetbase/fix/order-delete-cascade
roncodes Oct 9, 2026
b27a7b3
Merge pull request #378 from fleetbase/fix/sandbox-managed-accounts
roncodes Oct 9, 2026
7e27d5a
refactor(descriptors): build the shared resource descriptors from fle…
roncodes Oct 9, 2026
5821040
Merge pull request #379 from fleetbase/feat/shared-resource-descriptors
roncodes Oct 9, 2026
0350439
refactor(identity-stub): build identity stubs from fleetops-data
roncodes Oct 9, 2026
d88257c
fix(telematics): the retention pruner no longer scans the whole devic…
roncodes Oct 10, 2026
feaea0e
Merge pull request #381 from fleetbase/fix/telematics-prune-scans
roncodes Oct 11, 2026
9128a73
Merge pull request #380 from fleetbase/refactor/identity-stub-from-fl…
roncodes Oct 11, 2026
d8c2b87
fix(zone): return geofence trigger, dwell and speed limit settings fr…
roncodes Oct 11, 2026
04911c9
fix(orders): stop measuring order distance from a driver's POINT(0 0)…
roncodes Oct 11, 2026
db60673
fix(orders): a queued creation dispatch no longer moves a started ord…
roncodes Oct 11, 2026
7c75998
fix(geofence): mark arrival against the order's current destination stop
roncodes Oct 11, 2026
cc4d521
fix(tenancy): scope reports, inspection forms, maintenance and telema…
roncodes Oct 11, 2026
659aa17
fix(orchestrator): run the engine selected in settings and report hon…
roncodes Oct 11, 2026
82d5afc
feat(orders): show customer photos on live order and board cards
roncodes Oct 11, 2026
6a8a7bb
Merge pull request #382 from fleetbase/fix/zone-geofence-settings-in-…
roncodes Oct 11, 2026
265d8f3
Merge pull request #383 from fleetbase/fix/order-distance-and-time
roncodes Oct 11, 2026
efa2cac
Merge pull request #384 from fleetbase/fix/queued-dispatch-status-reg…
roncodes Oct 11, 2026
8cf38cb
Merge pull request #385 from fleetbase/fix/geofence-arrival-current-d…
roncodes Oct 11, 2026
6573c8a
Merge pull request #386 from fleetbase/fix/orchestrator-engine-results
roncodes Oct 11, 2026
b017af4
Merge pull request #387 from fleetbase/feat/customer-photo-on-order-c…
roncodes Oct 11, 2026
fa8b4fb
feat(dashboard): proof of delivery photos widget
roncodes Oct 11, 2026
3864a8c
Merge pull request #388 from fleetbase/feat/proof-of-delivery-widget
roncodes Oct 12, 2026
4ee7974
feat(map): let organisations choose where the live map opens
roncodes Oct 12, 2026
d65a144
Merge pull request #389 from fleetbase/feat/live-map-default-location
roncodes Oct 12, 2026
4a932a8
fix(tracking-page): labelled map markers, a visible route line, Fleet…
roncodes Oct 12, 2026
0a42cde
fix(tracking-page): pickups by name, route line before dispatch, full…
roncodes Oct 12, 2026
7a091cc
fix(tracking-page): wrap the selected pin's box-shadow for prettier
roncodes Oct 12, 2026
f08306c
fix(tracking-page): console-style P/1/D markers, store markers, no ov…
roncodes Oct 12, 2026
af0b396
fix(tracking-page): labels move below rather than hide, updates oldes…
roncodes Oct 12, 2026
3761484
fix(tracking-page): drop blank lines left by the removed language sel…
roncodes Oct 12, 2026
3a00a6c
fix(map): don't pass null to the default centre coordinates input
roncodes Oct 12, 2026
d91f2ef
fix(tracking-page): translate the tracking page and its settings; kee…
roncodes Oct 12, 2026
6e17057
fix(tracking-number): only publish the tracking page url when there i…
roncodes Oct 12, 2026
a0b64b6
test: follow the tracking page links, customer access link and label …
roncodes Oct 12, 2026
e2fddb9
test(telematics): clear the prune compaction watermark between runs
roncodes Oct 12, 2026
765d1b9
test(socket-auth): switch socket authentication on and fix the order …
roncodes Oct 12, 2026
5744c20
fix(tracking-page): give tracking sessions and grants a deleted_at co…
roncodes Oct 12, 2026
336ea32
test(tracking-page): boot the database for the order's date casts and…
roncodes Oct 12, 2026
9792af6
feat(api-cache): declare the tables cached lists embed
roncodes Oct 12, 2026
8ba73cf
fix(api-cache): invalidate order lists after quiet order writes
roncodes Oct 12, 2026
bfd5b87
fix(api-cache): invalidate embedded tables after writes that skip events
roncodes Oct 12, 2026
62c7091
fix(api-cache): invalidate driver and vehicle lists after location an…
roncodes Oct 12, 2026
a2562a2
test(api-cache): cover dependency declarations and quiet write invali…
roncodes Oct 12, 2026
41d0b1a
test(telematics): cover the prune compaction watermark and a cache ou…
roncodes Oct 12, 2026
fcafea6
fix(tracking): link the tracking page itself when a notification has …
roncodes Oct 12, 2026
6d457f0
fix(vehicles): deleting a vehicle unassigns its drivers instead of de…
roncodes Oct 12, 2026
934104f
fix(drivers): assigning a driver the vehicle it already holds keeps it
roncodes Oct 12, 2026
aee8265
fix(drivers): a company membership change only touches that company's…
roncodes Oct 12, 2026
866d964
fix(drivers): delete drivers through the model when their user or mem…
roncodes Oct 12, 2026
ab5ee3a
fix(orders): index latest_status is the newest tracking status
roncodes Oct 12, 2026
aa1e7b3
fix(contacts): the address filter searches the contact's place
roncodes Oct 12, 2026
100cb88
fix(api-cache): keep vehicle lists cacheable under telemetry and ping…
roncodes Oct 13, 2026
c0eb5f5
fix(api-cache): coalesce cache invalidation from telemetry vehicle an…
roncodes Oct 13, 2026
e4a85d7
fix(models): declare relation return types the console requests
roncodes Oct 13, 2026
45fab85
fix(resources): only load requested relations core accepts
roncodes Oct 13, 2026
c64c3be
Merge pull request #390 from fleetbase/fix/api-cache-dependencies
roncodes Oct 13, 2026
70485c4
Merge pull request #391 from fleetbase/fix/driver-vehicle-observer-audit
roncodes Oct 13, 2026
7357a55
Merge pull request #392 from fleetbase/fix/relation-return-types
roncodes Oct 13, 2026
2e62e30
fix(driver): show the licence expiry as a date
roncodes Oct 13, 2026
8922dd1
fix(forms): give every date picker its value as yyyy-MM-dd
roncodes Oct 13, 2026
1fe8aa7
fix(routes): throttle the public SMS-sending routes per address
roncodes Oct 13, 2026
7a8104a
feat(orders): status-guarded order edits that announce order.changed
roncodes Oct 13, 2026
e8f250a
fix(orders): tell a driver when an order is taken off them; send Orde…
roncodes Oct 13, 2026
ea06435
feat(orders): driver offers with accept, decline and expiry
roncodes Oct 13, 2026
9026c24
feat(orders): cancel an order with a reason
roncodes Oct 13, 2026
62415d4
test(orders): align request and assignment contracts with the cancel …
roncodes Oct 13, 2026
259d7c0
Merge commit from fork
roncodes Oct 13, 2026
b407950
feat(auth): hashed single-use verification codes, no stub users befor…
roncodes Oct 13, 2026
661a335
Merge pull request #393 from fleetbase/feature/sms-guard
roncodes Oct 13, 2026
7cd82d9
Merge pull request #395 from fleetbase/feature/sms-guard-phase-1
roncodes Oct 13, 2026
bc0c722
fix(api): answer an SMS guard refusal with its status
roncodes Oct 13, 2026
0268737
Merge pull request #394 from fleetbase/feat/order-edits-and-offers
roncodes Oct 13, 2026
2440bdc
Merge pull request #396 from fleetbase/fix/sms-guard-refusal-status
roncodes Oct 13, 2026
865d9d8
i18n(ru): improve street-1 and street-2 translations to align with cu…
spanchenko Oct 13, 2026
ce91de2
fix(orders): remove driver offers; only adhoc orders are offered to d…
roncodes Oct 13, 2026
8df35c8
Merge pull request #397 from spanchenko/fix/ru-translation-street-fields
roncodes Oct 13, 2026
f5e4e5e
Merge pull request #398 from fleetbase/fix/remove-driver-offers
roncodes Oct 13, 2026
ef3c9dc
test(customers): the over-budget login case has no email on file
roncodes Oct 14, 2026
ee54423
chore(deps): ember-ui 0.4.6, ember-core 0.3.26 and fleetops-data 0.2.3
roncodes Oct 14, 2026
7934800
Merge pull request #400 from fleetbase/chore/bump-ember-deps-v0.6.72
roncodes Oct 14, 2026
91af660
Merge pull request #399 from fleetbase/fix/sms-refusal-test-no-email
roncodes Oct 14, 2026
4b5828c
test: keep the SMS guard off in the harness and give each code lookup…
roncodes Oct 14, 2026
10a5d91
test: cover the order operations branches the coverage gate flagged
roncodes Oct 14, 2026
7378dce
Merge pull request #401 from fleetbase/fix/tests-against-core-1.6.69
roncodes Oct 14, 2026
7cb016e
ci: track the shared API contract workflow on main
roncodes Oct 14, 2026
c8071ff
Merge pull request #402 from fleetbase/fix/contract-workflow-unpinned
roncodes Oct 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 11 additions & 5 deletions .github/workflows/postman.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,16 @@ name: API Contract (Postman)
# fleetbase/fleetbase. Requires org secrets POSTMAN_API_KEY + _GITHUB_AUTH_TOKEN
# (inherited); no-ops until POSTMAN_API_KEY is set.
#
# Pin the workflow and host checkout together so branch installation resolves the
# required published Core release before migrating and exercising this module.
# The workflow records the API image digest and resolved dependencies for traceability.
# Deliberately unpinned, like storefront's. The reusable workflow defaults to booting
# fleetbase/fleetbase@main against fleetbase/fleetbase-api:latest, so every release and
# every fix to the run order (scripts/ci/order-collection-requests.py) is picked up
# automatically, with no ref here to remember to bump. Each run records the image digest
# it actually resolved in its job summary, so a result stays traceable. To reproduce an
# older run:
#
# with:
# fleetbase-ref: v0.7.53
# api-image: fleetbase/fleetbase-api:v0.7.53

on:
push:
Expand All @@ -20,9 +27,8 @@ permissions:

jobs:
contract:
uses: fleetbase/fleetbase/.github/workflows/api-contract.yml@880c7392c67c93e3a65f01916d7a04036c098935
uses: fleetbase/fleetbase/.github/workflows/api-contract.yml@main
with:
fleetbase-ref: 880c7392c67c93e3a65f01916d7a04036c098935
collections: "Fleetbase API"
build-from-source: false
# Without this the run tests the version of fleetbase/fleetops-api baked into the
Expand Down
33 changes: 15 additions & 18 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,26 @@
> v0.6.71 ~ "Extensible tables and panels, configured order lifecycles and order presentation profiles"
> v0.6.72 ~ "Customer tracking page settings, safer public tracking and structured label codes"

---
## Highlights

- **Resource view registries.** Extensions can add the following through `fleet-ops:<resource>:table:<slot>` and `fleet-ops:<resource>:details:<slot>`:
- columns, row actions, bulk actions and toolbar buttons on every top-level Fleet-Ops table;
- header buttons and "…" menu items on its details panels and side panels.
- **Tracking Page settings.** A new Fleet-Ops → Settings → Tracking Page lets each organization configure the customer tracking page:
- its own page at `/t/{slug}`, with a live address check;
- whether its numbers can be tracked on the shared page;
- branding: display name, accent colour with a live contrast check, an optional dark-mode accent, support contacts, "Powered by Fleetbase", and languages;
- how customers verify (text message or email codes, session length, customer sign-in);
- what verified customers see.

Built-in items carry stable ids, so registered items can be placed before or after them.
- **Configured order lifecycles.** An order config can define its own lifecycle in `meta.lifecycle`: `initial`, `completed`, `canceled` and `terminal` activities, `dispatch: false` and `strict_transitions`. The internal API starts orders at the initial activity, refuses to dispatch when dispatch is off, accepts only the flow's transitions when strict, and cancels to the configured activity. Configs without a lifecycle behave as before.
- **Lifecycle tab** in Order Configuration, to view and edit a config's lifecycle.
- **The board** shows a configured lifecycle's activities as its columns.
- **The activity flow editor** roots at the configured initial activity, and handles flows with cycles.
- **Order presentation profiles.** An extension can give its order type its own order form sections, extra and hidden fields, details view sections and hidden actions, registered in `fleet-ops:order-presentation`. **Edit details** opens the profiled form. Other order types are unchanged.
- **The Order Configuration manager lists every config**, including configs created while the console is open.
- **An order's activity timeline follows status changes made on the server.**
- **Fix: the Activity Flow crashed on a flow with a cycle.**
- **Fix: order details now load the assigned vehicle with the order.**
- **Fix: the order form failed when its custom fields couldn't load.**
- **Fix: registered details tabs.** Opening a driver, vehicle or trailer side panel removed the route from tabs other extensions had registered, which broke them in the full details view. Side panels also left out the tabs they could render.
- **Fix: the sensor details view showed the tabs registered for places.**
Administrators set the shared page's defaults under Fleet-Ops Config → Tracking Page. The new tracking pages themselves arrive in a later release; these settings are what they will read.
- **Safer public order lookup.** `GET int/v1/fleet-ops/lookup` is rate limited per address and returns a minimal resource: tracking number, status, timeline, ETA, stop coordinates and items. It no longer returns notes, meta, internal ids, files, rates or customer details. The driver's location is included only while the order is under way. Unknown and malformed tracking numbers get the same answer.
- **Structured label codes.** Tracking-number QR codes now carry a tracking URL holding the tracking number and the owner's public id, which a phone camera opens as the tracking page. Barcodes use Code 128. Every scan endpoint still accepts the uuid codes already printed on parcels.
- **Fix: signatures on private S3 buckets.** Signatures were not stored on buckets that reject ACLs; they are now written without one and served through signed URLs. Legacy absolute avatar URLs on vehicles, drivers and places are re-signed when read.
- **Fix: the customer credentials email** linked to an unrouted page; it now links to `/customer-access/{slug}`.
- **Fix: parcel box images** on the service rate form and details showed broken images in production builds.

---
## Upgrading
Needs fleetbase/ember-core v0.3.25 and fleetbase/ember-ui v0.4.5.
- Run `php artisan fleetbase:create-permissions` to register the new `tracking-page-settings` permission.
- Private-bucket signature storage pairs with fleetbase/core-api's `File::signStoredUrl()`; on older core-api releases stored avatar URLs pass through unchanged.

---
## Need help?
Expand Down
56 changes: 56 additions & 0 deletions addon/components/admin/tracking-page-settings.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<ContentPanel @title="Generic Tracking Page" @open={{true}} @wrapperClass="bordered-classic">
<div class="space-y-5">
<div class="flex items-start justify-between gap-4">
<div>
<div class="text-sm font-semibold">Enable the generic tracking page</div>
<div class="text-xs text-gray-600 dark:text-gray-300">Serves /~/track for every organization that allows it. Organizations can also run their own page from their Fleet-Ops settings.</div>
</div>
<Toggle @isToggled={{this.genericEnabled}} @onToggle={{fn (mut this.genericEnabled)}} />
</div>
<div>
<label for="admin-tracking-page-name" class="block text-sm font-semibold mb-1">Display name</label>
<input id="admin-tracking-page-name" type="text" class="form-input w-full" value={{this.displayName}} placeholder="Fleetbase" {{on "input" (fn this.setValue "displayName")}} />
<p class="mt-1 text-xs text-gray-600 dark:text-gray-300">Shown before a lookup. The logo comes from the instance branding.</p>
</div>
<div>
<label for="admin-tracking-page-accent" class="block text-sm font-semibold mb-1">Accent colour</label>
<div class="flex items-center gap-3">
<input id="admin-tracking-page-accent" type="color" class="h-10 w-14 rounded-md border border-gray-300 dark:border-gray-700 bg-transparent cursor-pointer" value={{this.accent}} {{on "input" (fn this.setValue "accent")}} />
<span class="font-mono text-sm">{{this.accent}}</span>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<div>
<label for="admin-tracking-page-phone" class="block text-sm font-semibold mb-1">Support phone</label>
<input id="admin-tracking-page-phone" type="tel" class="form-input w-full" value={{this.supportPhone}} placeholder="+1 555 010 0100" {{on "input" (fn this.setValue "supportPhone")}} />
</div>
<div>
<label for="admin-tracking-page-email" class="block text-sm font-semibold mb-1">Support email</label>
<input id="admin-tracking-page-email" type="email" class="form-input w-full" value={{this.supportEmail}} placeholder="support@example.com" {{on "input" (fn this.setValue "supportEmail")}} />
</div>
<div>
<label for="admin-tracking-page-website" class="block text-sm font-semibold mb-1">Website</label>
<input id="admin-tracking-page-website" type="url" class="form-input w-full" value={{this.website}} placeholder="https://example.com" {{on "input" (fn this.setValue "website")}} />
</div>
</div>
<div class="flex items-start justify-between gap-4">
<div>
<div class="text-sm font-semibold">Show "Powered by Fleetbase"</div>
<div class="text-xs text-gray-600 dark:text-gray-300">The default for organizations that haven't chosen.</div>
</div>
<Toggle @isToggled={{this.poweredBy}} @onToggle={{fn (mut this.poweredBy)}} />
</div>
</div>
</ContentPanel>

<EmberWormhole @to="next-view-section-subheader-actions">
<Button
@type="primary"
@size="sm"
@icon="save"
@text="Save Changes"
@onClick={{perform this.saveSettings}}
@isLoading={{or this.saveSettings.isRunning this.loadSettings.isRunning}}
@disabled={{this.saveSettings.isRunning}}
/>
</EmberWormhole>
67 changes: 67 additions & 0 deletions addon/components/admin/tracking-page-settings.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import Component from '@glimmer/component';
import { inject as service } from '@ember/service';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
import { task } from 'ember-concurrency';

/**
* Instance-wide defaults for the generic customer tracking page: whether it is on, and the
* branding it shows before a lookup (and for companies without their own).
*/
export default class AdminTrackingPageSettingsComponent extends Component {
@service fetch;
@service notifications;
@tracked genericEnabled = true;
@tracked displayName = '';
@tracked accent = '#1F5FA8';
@tracked supportPhone = '';
@tracked supportEmail = '';
@tracked website = '';
@tracked poweredBy = true;

constructor() {
super(...arguments);
this.loadSettings.perform();
}

@task *loadSettings() {
try {
const settings = yield this.fetch.get('fleet-ops/settings/admin-tracking-page-settings');
this.genericEnabled = settings?.generic_page?.enabled ?? true;
this.displayName = settings?.branding?.display_name ?? '';
this.accent = settings?.branding?.accent ?? '#1F5FA8';
this.supportPhone = settings?.branding?.support_phone ?? '';
this.supportEmail = settings?.branding?.support_email ?? '';
this.website = settings?.branding?.website ?? '';
this.poweredBy = settings?.branding?.powered_by ?? true;
} catch (error) {
this.notifications.serverError(error);
}
}

@action setValue(property, event) {
this[property] = event.target.value;
}

@task *saveSettings() {
try {
yield this.fetch.post('fleet-ops/settings/admin-tracking-page-settings', {
trackingPage: {
generic_page: { enabled: this.genericEnabled },
branding: {
display_name: this.displayName,
accent: this.accent,
support_phone: this.supportPhone,
support_email: this.supportEmail,
website: this.website,
powered_by: this.poweredBy,
},
},
});

this.notifications.success('Tracking page defaults saved.');
} catch (error) {
this.notifications.serverError(error);
}
}
}
1 change: 0 additions & 1 deletion addon/components/cell/contact-identity.hbs

This file was deleted.

1 change: 0 additions & 1 deletion addon/components/cell/customer-identity.hbs

This file was deleted.

1 change: 0 additions & 1 deletion addon/components/cell/driver-identity.hbs

This file was deleted.

1 change: 0 additions & 1 deletion addon/components/cell/fleet-identity.hbs

This file was deleted.

1 change: 0 additions & 1 deletion addon/components/cell/order-identity.hbs

This file was deleted.

1 change: 0 additions & 1 deletion addon/components/cell/place-identity.hbs

This file was deleted.

1 change: 0 additions & 1 deletion addon/components/cell/vehicle-identity.hbs

This file was deleted.

1 change: 0 additions & 1 deletion addon/components/cell/vendor-identity.hbs

This file was deleted.

24 changes: 0 additions & 24 deletions addon/components/contact/pill.hbs

This file was deleted.

1 change: 0 additions & 1 deletion addon/components/contact/summary.hbs

This file was deleted.

24 changes: 0 additions & 24 deletions addon/components/customer/pill.hbs

This file was deleted.

1 change: 0 additions & 1 deletion addon/components/customer/summary.hbs

This file was deleted.

4 changes: 2 additions & 2 deletions addon/components/device/form.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@

<InputGroup @name={{t "device.fields.installation-date"}}>
<DatePicker
@value={{@resource.installation_date}}
@value={{format-date-fns @resource.installation_date "yyyy-MM-dd"}}
@onChange={{fn (mut @resource.installation_date)}}
@placeholder={{t "device.fields.installation-date-placeholder"}}
@disabled={{cannot-write @resource}}
Expand All @@ -147,7 +147,7 @@

<InputGroup @name={{t "device.fields.last-maintenance-date"}}>
<DatePicker
@value={{@resource.last_maintenance_date}}
@value={{format-date-fns @resource.last_maintenance_date "yyyy-MM-dd"}}
@onChange={{fn (mut @resource.last_maintenance_date)}}
@placeholder={{t "device.fields.last-maintenance-date-placeholder"}}
@disabled={{cannot-write @resource}}
Expand Down
2 changes: 1 addition & 1 deletion addon/components/driver/details.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
</div>
<div class="field-info-container md:col-span-3">
<div class="field-name">{{t "driver.fields.license-expiry"}}</div>
<div class="field-value">{{n-a (format-date-fns @resource.license_expiry)}}</div>
<div class="field-value">{{n-a (format-date-fns @resource.license_expiry "yyyy-MM-dd")}}</div>
</div>
<div class="field-info-container">
<div class="field-name">{{t "resource.vehicle"}}</div>
Expand Down
2 changes: 1 addition & 1 deletion addon/components/driver/form.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@

<InputGroup @name={{t "driver.fields.license-expiry"}}>
<DatePicker
@value={{@resource.license_expiry}}
@value={{format-date-fns @resource.license_expiry "yyyy-MM-dd"}}
@onChange={{fn (mut @resource.license_expiry)}}
@placeholder={{t "driver.fields.license-expiry"}}
@disabled={{cannot-write @resource}}
Expand Down
24 changes: 0 additions & 24 deletions addon/components/driver/pill.hbs

This file was deleted.

1 change: 0 additions & 1 deletion addon/components/driver/summary.hbs

This file was deleted.

2 changes: 1 addition & 1 deletion addon/components/equipment/form.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@
</InputGroup>
<InputGroup @name="Purchase Date">
<DatePicker
@value={{or (format-date-fns @resource.purchased_at "dd-MM-yyyy") null}}
@value={{or (format-date-fns @resource.purchased_at "yyyy-MM-dd") null}}
@onChange={{fn (mut @resource.purchased_at)}}
@placeholder="DD-MM-YYYY"
class="filter-date-input w-full flex-1"
Expand Down
24 changes: 0 additions & 24 deletions addon/components/fleet/pill.hbs

This file was deleted.

1 change: 0 additions & 1 deletion addon/components/fleet/summary.hbs

This file was deleted.

Loading
Loading