diff --git a/.github/workflows/postman.yml b/.github/workflows/postman.yml index 24e38fe88..aaa9d9f5f 100644 --- a/.github/workflows/postman.yml +++ b/.github/workflows/postman.yml @@ -33,4 +33,8 @@ jobs: # published image, not the branch under review. The workflow checks this # repository out at the commit under test and swaps it into the container. overlay-package: fleetbase/fleetops-api + # This coordinated PR adds the Trailer lifecycle to fleetbase/postman#58. + # Exercise that immutable collection revision during PR review; once merged, + # normal main-branch runs continue following the Postman main branch. + postman-ref: ${{ github.event_name == 'pull_request' && '0590548fefea68dd873b04f67d3f598c401d3af7' || 'main' }} secrets: inherit diff --git a/addon/components/cell/attached-vehicle.hbs b/addon/components/cell/attached-vehicle.hbs index 6ad15e212..a79290f88 100644 --- a/addon/components/cell/attached-vehicle.hbs +++ b/addon/components/cell/attached-vehicle.hbs @@ -4,7 +4,7 @@ {{else}}
Fleet context for telemetry from this device.
+{{t "device.attachment.description"}}
{{t "trailer.connections.description"}}
+| {{t "trailer.fields.vehicle"}} | +{{t "trailer.fields.position"}} | +{{t "trailer.fields.connected-at"}} | +{{t "trailer.fields.disconnected-at"}} | +{{t "trailer.fields.duration"}} | +{{t "trailer.fields.source"}} | +{{t "trailer.fields.status"}} | +
|---|---|---|---|---|---|---|
| + {{#if connection.vehicle}} + {{or connection.vehicle.displayName connection.vehicle.display_name connection.vehicle.name}} + {{#if connection.vehicle.plate_number}}({{connection.vehicle.plate_number}}){{/if}} + {{else}} + {{t "trailer.attachment.no-vehicle"}} + {{/if}} + | +{{n-a connection.position}} | +{{n-a (format-date-fns connection.connected_at "dd MMM yyyy, HH:mm")}} | +{{#if connection.disconnected_at}}{{format-date-fns connection.disconnected_at "dd MMM yyyy, HH:mm"}}{{else}}{{t "trailer.connections.ongoing"}}{{/if}} | +{{n-a connection.duration}} | +{{n-a (smart-humanize connection.source)}} | +
+ |
+
{{t "trailer.empty.connections"}}
+{{t "trailer.empty.connections-description"}}
+ {{#unless this.isAttached}} + + {{/unless}} +{{t "trailer.equipment.description"}}
+| {{t "common.name"}} | +{{t "common.type"}} | +{{t "trailer.fields.serial-number"}} | +{{t "common.status"}} | ++ |
|---|---|---|---|---|
| {{or item.name item.public_id}} | +{{n-a (smart-humanize item.type)}} | +{{n-a (or item.serial_number item.code)}} | +
+
+
+
+
+ |
+
{{t "trailer.empty.equipment"}}
+{{t "trailer.empty.equipment-description"}}
+ +| {{t "trailer.maintenance.summary"}} | +{{t "common.type"}} | +{{t "trailer.maintenance.odometer"}} | +{{t "trailer.maintenance.total-cost"}} | +{{t "trailer.maintenance.date"}} | ++ |
|---|---|---|---|---|---|
| {{record.summary}} | +{{n-a (smart-humanize record.type)}} | +{{n-a record.odometer_reading}} {{record.odometer_unit}} | +{{#if record.total_cost}}{{format-currency record.total_cost record.currency}}{{else}}-{{/if}} | +{{n-a (format-date-fns record.completed_at "dd MMM yyyy")}} | ++ + | +
{{t "trailer.empty.maintenance"}}
+{{t "trailer.empty.maintenance-description"}}
+ +| {{t "common.name"}} | +{{t "trailer.maintenance.interval"}} | +{{t "trailer.maintenance.next-due"}} | +{{t "common.status"}} | ++ |
|---|---|---|---|---|
| {{schedule.name}} | +{{schedule.interval_value}} {{schedule.interval_unit}} | +{{n-a (format-date-fns schedule.next_due_date "dd MMM yyyy")}} | ++ + | +
{{t "trailer.empty.schedules"}}
+{{t "trailer.empty.schedules-description"}}
+ +| {{t "trailer.maintenance.code"}} | +{{t "trailer.maintenance.subject"}} | +{{t "trailer.maintenance.priority"}} | +{{t "common.status"}} | +{{t "trailer.maintenance.due"}} | ++ |
|---|---|---|---|---|---|
| {{workOrder.code}} | +{{workOrder.subject}} | +{{n-a (smart-humanize workOrder.priority)}} | +{{n-a (format-date-fns workOrder.due_at "dd MMM yyyy")}} | ++ + | +
{{t "trailer.empty.work-orders"}}
+{{t "trailer.empty.work-orders-description"}}
+ +{{t "vehicle.equipment.description"}}
+| {{t "common.name"}} | +{{t "common.type"}} | +{{t "trailer.fields.serial-number"}} | +{{t "common.status"}} | ++ |
|---|---|---|---|---|
| {{or item.name item.public_id}} | +{{n-a (smart-humanize item.type)}} | +{{n-a (or item.serial_number item.code)}} | +
+
+
+
+
+ |
+
{{t "vehicle.empty.equipment"}}
+{{t "vehicle.empty.equipment-description"}}
+ +{{t "vehicle.trailers.description"}}
+| {{t "resource.trailer"}} | +{{t "trailer.fields.type"}} | +{{t "trailer.fields.plate-number"}} | +{{t "trailer.fields.position"}} | +{{t "trailer.fields.attached-at"}} | +{{t "trailer.fields.connectivity"}} | ++ |
|---|---|---|---|---|---|---|
| + {{trailer.displayName}} + | +{{#if trailer.type}}{{t (concat "trailer.types." trailer.type)}}{{else}}-{{/if}} | +{{n-a trailer.plate_number}} | +{{n-a trailer.current_connection.position}} | +{{n-a (format-date-fns trailer.attached_at "dd MMM yyyy, HH:mm")}} | +
+
+
+
+
+ |
+
{{t "vehicle.empty.trailers"}}
+{{t "vehicle.empty.trailers-description"}}
+ +Fleet context for telemetry from this device.
+{{t "device.attachment.description"}}
Recent vehicle coordinates reported through this device attachment.
+{{t "device.attachment.positions-description"}}