@fleetbase/fleetops-engine 0.3.9 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/addon/components/admin/navigator-app.hbs +3 -3
  2. package/addon/components/admin/visibility-controls.hbs +4 -4
  3. package/addon/components/cell/driver-name.hbs +1 -1
  4. package/addon/components/contact-form-panel.hbs +15 -15
  5. package/addon/components/contact-form-panel.js +5 -1
  6. package/addon/components/contact-panel/details.hbs +7 -7
  7. package/addon/components/contact-panel.hbs +2 -2
  8. package/addon/components/display-place.hbs +2 -2
  9. package/addon/components/driver-card.hbs +1 -1
  10. package/addon/components/driver-form-panel.hbs +36 -29
  11. package/addon/components/driver-form-panel.js +5 -1
  12. package/addon/components/driver-panel/details.hbs +10 -10
  13. package/addon/components/driver-panel.hbs +5 -5
  14. package/addon/components/fleet-driver-listing.hbs +5 -5
  15. package/addon/components/fleet-form-panel.hbs +16 -16
  16. package/addon/components/fleet-form-panel.js +5 -1
  17. package/addon/components/fleet-panel/details.hbs +7 -7
  18. package/addon/components/fleet-panel/driver-listing.hbs +5 -5
  19. package/addon/components/fleet-panel/driver-listing.js +6 -0
  20. package/addon/components/fleet-panel/vehicle-listing.hbs +5 -5
  21. package/addon/components/fleet-panel/vehicle-listing.js +6 -0
  22. package/addon/components/fleet-vehicle-listing.hbs +5 -5
  23. package/addon/components/fuel-report-form-panel.hbs +16 -16
  24. package/addon/components/fuel-report-form-panel.js +5 -1
  25. package/addon/components/fuel-report-panel/details.hbs +11 -11
  26. package/addon/components/fuel-report-panel.hbs +3 -3
  27. package/addon/components/global-search.hbs +1 -1
  28. package/addon/components/horizontal-route.hbs +1 -1
  29. package/addon/components/integrated-order-details.hbs +13 -13
  30. package/addon/components/issue-form-panel.hbs +25 -25
  31. package/addon/components/issue-form-panel.js +6 -1
  32. package/addon/components/issue-panel/details.hbs +11 -11
  33. package/addon/components/issue-panel.hbs +3 -3
  34. package/addon/components/layout/fleet-ops-sidebar.hbs +2 -2
  35. package/addon/components/layout/fleet-ops-sidebar.js +28 -12
  36. package/addon/components/live-map-drawer/driver-listing.hbs +1 -1
  37. package/addon/components/live-map-drawer/driver-listing.js +16 -10
  38. package/addon/components/live-map-drawer/place-listing.hbs +1 -1
  39. package/addon/components/live-map-drawer/place-listing.js +12 -7
  40. package/addon/components/live-map-drawer/vehicle-listing.hbs +1 -1
  41. package/addon/components/live-map-drawer/vehicle-listing.js +15 -9
  42. package/addon/components/live-map.hbs +10 -92
  43. package/addon/components/live-map.js +29 -24
  44. package/addon/components/map-container/toolbar/visibility-control-panel.hbs +9 -9
  45. package/addon/components/map-container/toolbar/zones-panel.hbs +10 -10
  46. package/addon/components/map-container/toolbar.hbs +6 -6
  47. package/addon/components/modals/assign-driver.hbs +2 -2
  48. package/addon/components/modals/clone-config-form.hbs +2 -2
  49. package/addon/components/modals/contact-details.hbs +6 -6
  50. package/addon/components/modals/contact-form.hbs +11 -11
  51. package/addon/components/modals/driver-assign-order.hbs +2 -2
  52. package/addon/components/modals/driver-assign-vehicle.hbs +2 -2
  53. package/addon/components/modals/driver-assign-vendor.hbs +2 -2
  54. package/addon/components/modals/driver-details.hbs +14 -14
  55. package/addon/components/modals/driver-form.hbs +18 -18
  56. package/addon/components/modals/edit-meta-form.hbs +2 -2
  57. package/addon/components/modals/entity-form.hbs +16 -16
  58. package/addon/components/modals/entity-meta-field-prompt.hbs +1 -1
  59. package/addon/components/modals/fleet-details.hbs +6 -6
  60. package/addon/components/modals/fleet-form.hbs +8 -8
  61. package/addon/components/modals/fuel-report-details.hbs +9 -9
  62. package/addon/components/modals/fuel-report-form.hbs +8 -8
  63. package/addon/components/modals/group-details.hbs +4 -4
  64. package/addon/components/modals/group-form.hbs +6 -6
  65. package/addon/components/modals/install-prompt.hbs +2 -3
  66. package/addon/components/modals/issue-details.hbs +8 -8
  67. package/addon/components/modals/issue-from.hbs +21 -21
  68. package/addon/components/modals/map-field-form.hbs +2 -2
  69. package/addon/components/modals/map-field-group-form.hbs +1 -1
  70. package/addon/components/modals/map-layer-form.hbs +10 -10
  71. package/addon/components/modals/meta-field-form.hbs +2 -2
  72. package/addon/components/modals/meta-field-group-form.hbs +1 -1
  73. package/addon/components/modals/new-order-config.hbs +4 -4
  74. package/addon/components/modals/order-assign-driver.hbs +2 -2
  75. package/addon/components/modals/order-config-new-status.hbs +1 -1
  76. package/addon/components/modals/order-event.hbs +2 -2
  77. package/addon/components/modals/order-form.hbs +8 -8
  78. package/addon/components/modals/order-import.hbs +8 -8
  79. package/addon/components/modals/order-label.hbs +1 -1
  80. package/addon/components/modals/order-new-activity.hbs +10 -10
  81. package/addon/components/modals/order-route-form.hbs +17 -17
  82. package/addon/components/modals/place-assign-vendor.hbs +2 -2
  83. package/addon/components/modals/place-details.hbs +13 -13
  84. package/addon/components/modals/place-form.hbs +15 -15
  85. package/addon/components/modals/policy-form.hbs +5 -5
  86. package/addon/components/modals/role-form.hbs +3 -3
  87. package/addon/components/modals/select-payment-method.hbs +1 -1
  88. package/addon/components/modals/service-area-form.hbs +8 -8
  89. package/addon/components/modals/set-password.hbs +3 -3
  90. package/addon/components/modals/uninstall-prompt.hbs +2 -3
  91. package/addon/components/modals/user-form.hbs +9 -9
  92. package/addon/components/modals/vehicle-details.hbs +41 -41
  93. package/addon/components/modals/vehicle-form.hbs +73 -73
  94. package/addon/components/modals/vendor-details.hbs +10 -10
  95. package/addon/components/modals/vendor-form.hbs +36 -36
  96. package/addon/components/modals/view-service-area.hbs +1 -1
  97. package/addon/components/modals/zone-form.hbs +6 -6
  98. package/addon/components/order/header.hbs +11 -11
  99. package/addon/components/order/place-card.hbs +2 -2
  100. package/addon/components/order/schedule-card.hbs +6 -6
  101. package/addon/components/order/schedule-card.js +11 -7
  102. package/addon/components/order-config/activity-flow-editor.hbs +14 -14
  103. package/addon/components/order-config/activity-flow-editor.js +11 -11
  104. package/addon/components/order-config/details-editor.hbs +9 -9
  105. package/addon/components/order-config/entities-editor.hbs +13 -13
  106. package/addon/components/order-config/entities-editor.js +2 -2
  107. package/addon/components/order-config/fields-editor.hbs +14 -14
  108. package/addon/components/order-config/fields-editor.js +13 -12
  109. package/addon/components/order-config.hbs +9 -9
  110. package/addon/components/order-config.js +12 -11
  111. package/addon/components/order-list-overlay.hbs +14 -14
  112. package/addon/components/place-form-panel.hbs +18 -18
  113. package/addon/components/place-form-panel.js +6 -1
  114. package/addon/components/place-panel/details.hbs +10 -10
  115. package/addon/components/place-panel.hbs +2 -2
  116. package/addon/components/route-list.hbs +2 -2
  117. package/addon/components/settings-window.hbs +5 -5
  118. package/addon/components/settings-window.js +2 -1
  119. package/addon/components/vehicle-form-panel.hbs +27 -27
  120. package/addon/components/vehicle-form-panel.js +7 -2
  121. package/addon/components/vehicle-panel/details.hbs +7 -7
  122. package/addon/components/vehicle-panel.hbs +4 -4
  123. package/addon/components/vendor-form-panel/create-form.hbs +34 -33
  124. package/addon/components/vendor-form-panel/create-form.js +6 -2
  125. package/addon/components/vendor-form-panel/edit-form.hbs +27 -27
  126. package/addon/components/vendor-form-panel/edit-form.js +1 -0
  127. package/addon/components/vendor-form-panel.hbs +6 -6
  128. package/addon/components/vendor-form-panel.js +6 -1
  129. package/addon/components/vendor-panel/details.hbs +10 -10
  130. package/addon/components/vendor-panel.hbs +3 -3
  131. package/addon/components/widget/fleet-ops-quickstart.hbs +2 -2
  132. package/addon/components/widget/fleet-ops-quickstart.js +1 -0
  133. package/addon/components/widget/key-metrics.hbs +12 -12
  134. package/addon/components/widget/live-order-map.hbs +4 -4
  135. package/addon/components/widget/recent-orders.hbs +4 -4
  136. package/addon/components/widget/transactions.hbs +4 -4
  137. package/addon/controllers/management/contacts/index/edit.js +10 -3
  138. package/addon/controllers/management/contacts/index/new.js +7 -0
  139. package/addon/controllers/management/contacts/index.js +23 -16
  140. package/addon/controllers/management/drivers/index/edit.js +10 -3
  141. package/addon/controllers/management/drivers/index/new.js +7 -0
  142. package/addon/controllers/management/drivers/index.js +33 -19
  143. package/addon/controllers/management/fleets/index/edit.js +10 -3
  144. package/addon/controllers/management/fleets/index/new.js +7 -0
  145. package/addon/controllers/management/fleets/index.js +24 -17
  146. package/addon/controllers/management/fuel-reports/index/edit.js +10 -3
  147. package/addon/controllers/management/fuel-reports/index/new.js +7 -0
  148. package/addon/controllers/management/fuel-reports/index.js +20 -13
  149. package/addon/controllers/management/issues/index/edit.js +10 -3
  150. package/addon/controllers/management/issues/index/new.js +8 -0
  151. package/addon/controllers/management/issues/index.js +22 -15
  152. package/addon/controllers/management/places/index/edit.js +10 -3
  153. package/addon/controllers/management/places/index/new.js +7 -0
  154. package/addon/controllers/management/places/index.js +27 -20
  155. package/addon/controllers/management/vehicles/index/edit.js +10 -3
  156. package/addon/controllers/management/vehicles/index/new.js +7 -0
  157. package/addon/controllers/management/vehicles/index.js +22 -15
  158. package/addon/controllers/management/vendors/index/edit.js +10 -3
  159. package/addon/controllers/management/vendors/index/new.js +7 -0
  160. package/addon/controllers/management/vendors/index.js +23 -16
  161. package/addon/controllers/operations/orders/index/new.js +110 -25
  162. package/addon/controllers/operations/orders/index/view.js +40 -16
  163. package/addon/controllers/operations/orders/index.js +34 -27
  164. package/addon/controllers/operations/scheduler/index.js +3 -2
  165. package/addon/controllers/operations/service-rates/index/edit.js +9 -1
  166. package/addon/controllers/operations/service-rates/index/new.js +9 -1
  167. package/addon/controllers/operations/service-rates/index.js +16 -9
  168. package/addon/routes/management/places/index.js +1 -1
  169. package/addon/routes/operations/orders/index/view.js +2 -14
  170. package/addon/services/driver-actions.js +9 -8
  171. package/addon/services/vehicle-actions.js +2 -1
  172. package/addon/templates/management/contacts/index.hbs +6 -6
  173. package/addon/templates/management/drivers/index.hbs +6 -6
  174. package/addon/templates/management/fleets/index.hbs +6 -6
  175. package/addon/templates/management/fuel-reports/index.hbs +7 -7
  176. package/addon/templates/management/index.hbs +17 -17
  177. package/addon/templates/management/issues/index.hbs +6 -6
  178. package/addon/templates/management/places/index.hbs +6 -6
  179. package/addon/templates/management/vehicles/index.hbs +6 -6
  180. package/addon/templates/management/vendors/index.hbs +6 -6
  181. package/addon/templates/operations/orders/index/config/types.hbs +3 -3
  182. package/addon/templates/operations/orders/index/config.hbs +3 -4
  183. package/addon/templates/operations/orders/index/new.hbs +72 -72
  184. package/addon/templates/operations/orders/index/view.hbs +147 -53
  185. package/addon/templates/operations/orders/index.hbs +13 -13
  186. package/addon/templates/operations/scheduler/index.hbs +3 -3
  187. package/addon/templates/operations/service-rates/index/new.hbs +79 -81
  188. package/addon/templates/operations/service-rates/index.hbs +6 -6
  189. package/composer.json +2 -2
  190. package/extension.json +1 -1
  191. package/package.json +3 -1
  192. package/server/resources/views/labels/default.php +40 -18
  193. package/server/resources/views/labels/waypoint-label.php +126 -0
  194. package/server/src/Console/Commands/FixDriverCompanies.php +65 -0
  195. package/server/src/Exceptions/IntegratedVendorException.php +11 -12
  196. package/server/src/Http/Controllers/Api/v1/DriverController.php +41 -32
  197. package/server/src/Http/Controllers/Api/v1/OrderController.php +1 -1
  198. package/server/src/Http/Controllers/Internal/v1/DriverController.php +17 -1
  199. package/server/src/Http/Resources/v1/Driver.php +1 -1
  200. package/server/src/Http/Resources/v1/Entity.php +2 -2
  201. package/server/src/Http/Resources/v1/Payload.php +11 -30
  202. package/server/src/Http/Resources/v1/Place.php +3 -3
  203. package/server/src/Http/Resources/v1/Waypoint.php +101 -0
  204. package/server/src/Models/Payload.php +39 -0
  205. package/server/src/Models/Place.php +5 -2
  206. package/server/src/Models/Waypoint.php +15 -3
  207. package/server/src/Providers/FleetOpsServiceProvider.php +1 -0
  208. package/server/src/Support/Flow.php +19 -2
  209. package/translations/en-us.yaml +1341 -3
@@ -23,6 +23,13 @@ export default class ManagementIssuesIndexController extends BaseController {
23
23
  */
24
24
  @service modalsManager;
25
25
 
26
+ /**
27
+ * Inject the `intl` service
28
+ *
29
+ * @var intl
30
+ */
31
+ @service intl;
32
+
26
33
  /**
27
34
  * Inject the `crud` service
28
35
  *
@@ -166,7 +173,7 @@ export default class ManagementIssuesIndexController extends BaseController {
166
173
  */
167
174
  @tracked columns = [
168
175
  {
169
- label: 'ID',
176
+ label: this.intl.t('fleet-ops.common.id'),
170
177
  valuePath: 'public_id',
171
178
  cellComponent: 'table/cell/anchor',
172
179
  action: this.viewIssue,
@@ -175,7 +182,7 @@ export default class ManagementIssuesIndexController extends BaseController {
175
182
  sortable: true,
176
183
  },
177
184
  {
178
- label: 'Priority',
185
+ label: this.intl.t('fleet-ops.common.priority'),
179
186
  valuePath: 'priority',
180
187
  cellComponent: 'table/cell/status',
181
188
  width: '100px',
@@ -186,7 +193,7 @@ export default class ManagementIssuesIndexController extends BaseController {
186
193
  filterOptions: ['low', 'medium', 'high', 'critical', 'scheduled-maintenance', 'operational-suggestion'],
187
194
  },
188
195
  {
189
- label: 'Type',
196
+ label: this.intl.t('fleet-ops.common.type'),
190
197
  valuePath: 'type',
191
198
  width: '100px',
192
199
  resizable: true,
@@ -197,7 +204,7 @@ export default class ManagementIssuesIndexController extends BaseController {
197
204
  placeholder: 'Select issue type',
198
205
  },
199
206
  {
200
- label: 'Category',
207
+ label: this.intl.t('fleet-ops.common.category'),
201
208
  valuePath: 'category',
202
209
  width: '120px',
203
210
  resizable: true,
@@ -208,7 +215,7 @@ export default class ManagementIssuesIndexController extends BaseController {
208
215
  placeholder: 'Select issue category',
209
216
  },
210
217
  {
211
- label: 'Reporter',
218
+ label: this.intl.t('fleet-ops.common.reporter'),
212
219
  valuePath: 'reporter_name',
213
220
  width: '100px',
214
221
  cellComponent: 'table/cell/anchor',
@@ -228,7 +235,7 @@ export default class ManagementIssuesIndexController extends BaseController {
228
235
  model: 'user',
229
236
  },
230
237
  {
231
- label: 'Assignee',
238
+ label: this.intl.t('fleet-ops.common.assignee'),
232
239
  valuePath: 'assignee_name',
233
240
  width: '100px',
234
241
  cellComponent: 'table/cell/anchor',
@@ -248,7 +255,7 @@ export default class ManagementIssuesIndexController extends BaseController {
248
255
  model: 'user',
249
256
  },
250
257
  {
251
- label: 'Driver',
258
+ label: this.intl.t('fleet-ops.common.driver'),
252
259
  valuePath: 'driver_name',
253
260
  width: '100px',
254
261
  cellComponent: 'table/cell/anchor',
@@ -268,7 +275,7 @@ export default class ManagementIssuesIndexController extends BaseController {
268
275
  model: 'driver',
269
276
  },
270
277
  {
271
- label: 'Vehicle',
278
+ label: this.intl.t('fleet-ops.common.vehicle'),
272
279
  valuePath: 'vehicle_name',
273
280
  width: '100px',
274
281
  cellComponent: 'table/cell/anchor',
@@ -289,7 +296,7 @@ export default class ManagementIssuesIndexController extends BaseController {
289
296
  modelNamePath: 'displayName',
290
297
  },
291
298
  {
292
- label: 'Status',
299
+ label: this.intl.t('fleet-ops.common.status'),
293
300
  valuePath: 'status',
294
301
  cellComponent: 'table/cell/status',
295
302
  width: '120px',
@@ -300,7 +307,7 @@ export default class ManagementIssuesIndexController extends BaseController {
300
307
  filterOptions: ['pending', 'in-progress', 'backlogged', 'requires-update', 'in-review', 're-opened', 'duplicate', 'pending-review', 'escalated', 'completed', 'canceled'],
301
308
  },
302
309
  {
303
- label: 'Created At',
310
+ label: this.intl.t('fleet-ops.common.created-at'),
304
311
  valuePath: 'createdAt',
305
312
  sortParam: 'created_at',
306
313
  width: '120px',
@@ -310,7 +317,7 @@ export default class ManagementIssuesIndexController extends BaseController {
310
317
  filterComponent: 'filter/date',
311
318
  },
312
319
  {
313
- label: 'Updated At',
320
+ label: this.intl.t('fleet-ops.common.updated-at'),
314
321
  valuePath: 'updatedAt',
315
322
  sortParam: 'updated_at',
316
323
  width: '120px',
@@ -332,18 +339,18 @@ export default class ManagementIssuesIndexController extends BaseController {
332
339
  width: '10%',
333
340
  actions: [
334
341
  {
335
- label: 'View Details',
342
+ label: this.intl.t('fleet-ops.management.issues.index.view'),
336
343
  fn: this.viewIssue,
337
344
  },
338
345
  {
339
- label: 'Edit Issue',
346
+ label: this.intl.t('fleet-ops.management.issues.index.edit-issues'),
340
347
  fn: this.editIssue,
341
348
  },
342
349
  {
343
350
  separator: true,
344
351
  },
345
352
  {
346
- label: 'Delete Issue',
353
+ label: this.intl.t('fleet-ops.management.issues.index.delete'),
347
354
  fn: this.deleteIssue,
348
355
  },
349
356
  ],
@@ -452,7 +459,7 @@ export default class ManagementIssuesIndexController extends BaseController {
452
459
 
453
460
  this.crud.bulkDelete(selected, {
454
461
  modelNamePath: `name`,
455
- acceptButtonText: 'Delete Issues',
462
+ acceptButtonText: this.intl.t('fleet-ops.management.issues.index.delete-button'),
456
463
  onSuccess: () => {
457
464
  return this.hostRouter.refresh();
458
465
  },
@@ -18,6 +18,13 @@ export default class ManagementPlacesIndexEditController extends BaseController
18
18
  */
19
19
  @service modalsManager;
20
20
 
21
+ /**
22
+ * Inject the `intl` service
23
+ *
24
+ * @memberof intl
25
+ */
26
+ @service intl;
27
+
21
28
  /**
22
29
  * The overlay component context.
23
30
  *
@@ -98,9 +105,9 @@ export default class ManagementPlacesIndexEditController extends BaseController
98
105
  */
99
106
  confirmContinueWithUnsavedChanges(place, options = {}) {
100
107
  return this.modalsManager.confirm({
101
- title: 'Continue Without Saving?',
102
- body: 'Unsaved changes to this place will be lost. Click continue to proceed.',
103
- acceptButtonText: 'Continue without saving',
108
+ title: this.intl.t('fleet-ops.management.drivers.index.edit.title'),
109
+ body: this.intl.t('fleet-ops.management.places.index.edit.body'),
110
+ acceptButtonText: this.intl.t('fleet-ops.management.drivers.index.edit.button'),
104
111
  confirm: () => {
105
112
  place.rollbackAttributes();
106
113
  return this.transitionToRoute('management.places.index.details', place);
@@ -18,6 +18,13 @@ export default class ManagementPlacesIndexNewController extends BaseController {
18
18
  */
19
19
  @service hostRouter;
20
20
 
21
+ /**
22
+ * Inject the `intl` service
23
+ *
24
+ * @memberof intl
25
+ */
26
+ @service intl;
27
+
21
28
  /**
22
29
  * Inject the `hostRouter` service
23
30
  *
@@ -20,6 +20,13 @@ export default class ManagementPlacesIndexController extends BaseController {
20
20
  */
21
21
  @service modalsManager;
22
22
 
23
+ /**
24
+ * Inject the `intl` service
25
+ *
26
+ * @var {Service}
27
+ */
28
+ @service intl;
29
+
23
30
  /**
24
31
  * Inject the `store` service
25
32
  *
@@ -139,7 +146,7 @@ export default class ManagementPlacesIndexController extends BaseController {
139
146
  */
140
147
  @tracked columns = [
141
148
  {
142
- label: 'Name',
149
+ label: this.intl.t('fleet-ops.common.name'),
143
150
  valuePath: 'name',
144
151
  width: '200px',
145
152
  cellComponent: 'table/cell/anchor',
@@ -151,7 +158,7 @@ export default class ManagementPlacesIndexController extends BaseController {
151
158
  filterComponent: 'filter/string',
152
159
  },
153
160
  {
154
- label: 'Address',
161
+ label: this.intl.t('fleet-ops.common.address'),
155
162
  valuePath: 'address',
156
163
  cellComponent: 'table/cell/anchor',
157
164
  action: this.viewPlace,
@@ -163,7 +170,7 @@ export default class ManagementPlacesIndexController extends BaseController {
163
170
  filterComponent: 'filter/string',
164
171
  },
165
172
  {
166
- label: 'State',
173
+ label: this.intl.t('fleet-ops.common.state'),
167
174
  valuePath: 'state',
168
175
  cellComponent: 'table/cell/anchor',
169
176
  action: this.viewPlace,
@@ -175,7 +182,7 @@ export default class ManagementPlacesIndexController extends BaseController {
175
182
  filterComponent: 'filter/string',
176
183
  },
177
184
  {
178
- label: 'City',
185
+ label: this.intl.t('fleet-ops.common.city'),
179
186
  valuePath: 'city',
180
187
  cellComponent: 'table/cell/anchor',
181
188
  action: this.viewPlace,
@@ -187,7 +194,7 @@ export default class ManagementPlacesIndexController extends BaseController {
187
194
  filterComponent: 'filter/string',
188
195
  },
189
196
  {
190
- label: 'ID',
197
+ label: this.intl.t('fleet-ops.common.id'),
191
198
  valuePath: 'public_id',
192
199
  width: '120px',
193
200
  cellComponent: 'click-to-copy',
@@ -197,7 +204,7 @@ export default class ManagementPlacesIndexController extends BaseController {
197
204
  filterComponent: 'filter/string',
198
205
  },
199
206
  {
200
- label: 'Phone',
207
+ label: this.intl.t('fleet-ops.common.phone'),
201
208
  valuePath: 'phone',
202
209
  cellComponent: 'table/cell/base',
203
210
  width: '120px',
@@ -208,7 +215,7 @@ export default class ManagementPlacesIndexController extends BaseController {
208
215
  filterComponent: 'filter/string',
209
216
  },
210
217
  {
211
- label: 'Country',
218
+ label: this.intl.t('fleet-ops.common.country'),
212
219
  valuePath: 'country_name',
213
220
  cellComponent: 'table/cell/base',
214
221
  cellClassNames: 'uppercase',
@@ -220,7 +227,7 @@ export default class ManagementPlacesIndexController extends BaseController {
220
227
  filterParam: 'country',
221
228
  },
222
229
  {
223
- label: 'Neighborhood',
230
+ label: this.intl.t('fleet-ops.common.neighborhood'),
224
231
  valuePath: 'neighborhood',
225
232
  cellComponent: 'table/cell/anchor',
226
233
  action: this.viewPlace,
@@ -232,7 +239,7 @@ export default class ManagementPlacesIndexController extends BaseController {
232
239
  filterComponent: 'filter/string',
233
240
  },
234
241
  {
235
- label: 'Postal Code',
242
+ label: this.intl.t('fleet-ops.common.postal-code'),
236
243
  valuePath: 'postal_code',
237
244
  cellComponent: 'table/cell/anchor',
238
245
  action: this.viewPlace,
@@ -243,7 +250,7 @@ export default class ManagementPlacesIndexController extends BaseController {
243
250
  filterComponent: 'filter/string',
244
251
  },
245
252
  {
246
- label: 'Created At',
253
+ label: this.intl.t('fleet-ops.common.created-at'),
247
254
  valuePath: 'createdAt',
248
255
  sortParam: 'created_at',
249
256
  width: '10%',
@@ -253,7 +260,7 @@ export default class ManagementPlacesIndexController extends BaseController {
253
260
  filterComponent: 'filter/date',
254
261
  },
255
262
  {
256
- label: 'Updated At',
263
+ label: this.intl.t('fleet-ops.common.updated-at'),
257
264
  valuePath: 'updatedAt',
258
265
  sortParam: 'updated_at',
259
266
  width: '10%',
@@ -276,25 +283,25 @@ export default class ManagementPlacesIndexController extends BaseController {
276
283
  width: '10%',
277
284
  actions: [
278
285
  {
279
- label: 'View Place Details',
286
+ label: this.intl.t('fleet-ops.management.places.index.view-details'),
280
287
  fn: this.viewPlace,
281
288
  },
282
289
  {
283
- label: 'Edit Place',
290
+ label: this.intl.t('fleet-ops.management.places.index.edit-place'),
284
291
  fn: this.editPlace,
285
292
  },
286
293
  {
287
294
  separator: true,
288
295
  },
289
296
  {
290
- label: 'View Place on Map',
297
+ label: this.intl.t('fleet-ops.management.places.index.view-place'),
291
298
  fn: this.viewOnMap,
292
299
  },
293
300
  {
294
301
  separator: true,
295
302
  },
296
303
  {
297
- label: 'Delete Place',
304
+ label: this.intl.t('fleet-ops.management.places.index.delete'),
298
305
  fn: this.deletePlace,
299
306
  },
300
307
  ],
@@ -403,7 +410,7 @@ export default class ManagementPlacesIndexController extends BaseController {
403
410
 
404
411
  this.crud.bulkDelete(selected, {
405
412
  modelNamePath: `address`,
406
- acceptButtonText: 'Delete Places',
413
+ acceptButtonText: this.intl.t('fleet-ops.management.places.index.delete-button'),
407
414
  onSuccess: () => {
408
415
  return this.hostRouter.refresh();
409
416
  },
@@ -419,14 +426,14 @@ export default class ManagementPlacesIndexController extends BaseController {
419
426
  */
420
427
  @action assignVendor(place, options = {}) {
421
428
  this.modalsManager.show('modals/place-assign-vendor', {
422
- title: `Assign this Place to a Vendor`,
423
- acceptButtonText: 'Confirm & Create',
429
+ title: this.intl.t('fleet-ops.management.places.index.title'),
430
+ acceptButtonText: this.intl.t('fleet-ops.management.places.index.confirm-button'),
424
431
  hideDeclineButton: true,
425
432
  place,
426
433
  confirm: (modal) => {
427
434
  modal.startLoading();
428
435
  return place.save().then(() => {
429
- this.notifications.success(`'${place.name}' details has been updated.`);
436
+ this.notifications.success(this.intl.t('fleet-ops.management.places.index.success-message', { placeName: place.name }));
430
437
  });
431
438
  },
432
439
  ...options,
@@ -444,7 +451,7 @@ export default class ManagementPlacesIndexController extends BaseController {
444
451
  const { latitude, longitude } = place;
445
452
 
446
453
  this.modalsManager.show('modals/point-map', {
447
- title: `Location of ${place.name}`,
454
+ title: this.intl.t('fleet-ops.management.places.index.locate-title', { placeName: place.name }),
448
455
  acceptButtonText: 'Done',
449
456
  hideDeclineButton: true,
450
457
  latitude,
@@ -18,6 +18,13 @@ export default class ManagementVehiclesIndexEditController extends BaseControlle
18
18
  */
19
19
  @service modalsManager;
20
20
 
21
+ /**
22
+ * Inject the `intl` service
23
+ *
24
+ * @memberof intl
25
+ */
26
+ @service intl;
27
+
21
28
  /**
22
29
  * The overlay component context.
23
30
  *
@@ -98,9 +105,9 @@ export default class ManagementVehiclesIndexEditController extends BaseControlle
98
105
  */
99
106
  confirmContinueWithUnsavedChanges(vehicle, options = {}) {
100
107
  return this.modalsManager.confirm({
101
- title: 'Continue Without Saving?',
102
- body: 'Unsaved changes to this vehicle will be lost. Click continue to proceed.',
103
- acceptButtonText: 'Continue without saving',
108
+ title: this.intl.t('fleet-ops.management.drivers.index.edit.title'),
109
+ body: this.intl.t('fleet-ops.management.vehicles.index.edit.body'),
110
+ acceptButtonText: this.intl.t('fleet-ops.management.drivers.index.edit.button'),
104
111
  confirm: () => {
105
112
  vehicle.rollbackAttributes();
106
113
  return this.transitionToRoute('management.vehicles.index.details', vehicle);
@@ -25,6 +25,13 @@ export default class ManagementVehiclesIndexNewController extends BaseController
25
25
  */
26
26
  @service modalsManager;
27
27
 
28
+ /**
29
+ * Inject the `intl` service
30
+ *
31
+ * @memberof intl
32
+ */
33
+ @service intl;
34
+
28
35
  /**
29
36
  * The overlay component context.
30
37
  *
@@ -28,6 +28,13 @@ export default class ManagementVehiclesIndexController extends BaseController {
28
28
  */
29
29
  @service vehicleActions;
30
30
 
31
+ /**
32
+ * Inject the `intl` service
33
+ *
34
+ * @var {Service}
35
+ */
36
+ @service intl;
37
+
31
38
  /**
32
39
  * Inject the `store` service
33
40
  *
@@ -227,7 +234,7 @@ export default class ManagementVehiclesIndexController extends BaseController {
227
234
  */
228
235
  @tracked columns = [
229
236
  {
230
- label: 'Name',
237
+ label: this.intl.t('fleet-ops.common.name'),
231
238
  valuePath: 'display_name',
232
239
  photoPath: 'avatar_url',
233
240
  width: '200px',
@@ -241,7 +248,7 @@ export default class ManagementVehiclesIndexController extends BaseController {
241
248
  showOnlineIndicator: true,
242
249
  },
243
250
  {
244
- label: 'Plate Number',
251
+ label: this.intl.t('fleet-ops.common.plate-number'),
245
252
  valuePath: 'plate_number',
246
253
  cellComponent: 'table/cell/base',
247
254
  width: '100px',
@@ -269,7 +276,7 @@ export default class ManagementVehiclesIndexController extends BaseController {
269
276
  model: 'driver',
270
277
  },
271
278
  {
272
- label: 'ID',
279
+ label: this.intl.t('fleet-ops.common.id'),
273
280
  valuePath: 'public_id',
274
281
  cellComponent: 'click-to-copy',
275
282
  width: '120px',
@@ -279,7 +286,7 @@ export default class ManagementVehiclesIndexController extends BaseController {
279
286
  filterComponent: 'filter/string',
280
287
  },
281
288
  {
282
- label: 'Make',
289
+ label: this.intl.t('fleet-ops.common.make'),
283
290
  valuePath: 'make',
284
291
  cellComponent: 'table/cell/base',
285
292
  width: '80px',
@@ -291,7 +298,7 @@ export default class ManagementVehiclesIndexController extends BaseController {
291
298
  filterComponent: 'filter/string',
292
299
  },
293
300
  {
294
- label: 'Model',
301
+ label: this.intl.t('fleet-ops.common.model'),
295
302
  valuePath: 'model',
296
303
  cellComponent: 'table/cell/base',
297
304
  width: '80px',
@@ -303,7 +310,7 @@ export default class ManagementVehiclesIndexController extends BaseController {
303
310
  filterComponent: 'filter/string',
304
311
  },
305
312
  {
306
- label: 'Year',
313
+ label: this.intl.t('fleet-ops.common.year'),
307
314
  valuePath: 'year',
308
315
  cellComponent: 'table/cell/base',
309
316
  width: '80px',
@@ -314,7 +321,7 @@ export default class ManagementVehiclesIndexController extends BaseController {
314
321
  filterComponent: 'filter/string',
315
322
  },
316
323
  {
317
- label: 'Vendor',
324
+ label: this.intl.t('fleet-ops.common.vendor'),
318
325
  cellComponent: 'table/cell/anchor',
319
326
  action: async ({ vendor_uuid }) => {
320
327
  const vendor = await this.store.findRecord('vendor', vendor_uuid);
@@ -332,7 +339,7 @@ export default class ManagementVehiclesIndexController extends BaseController {
332
339
  model: 'vendor',
333
340
  },
334
341
  {
335
- label: 'Status',
342
+ label: this.intl.t('fleet-ops.common.status'),
336
343
  valuePath: 'status',
337
344
  cellComponent: 'table/cell/status',
338
345
  width: '10%',
@@ -343,7 +350,7 @@ export default class ManagementVehiclesIndexController extends BaseController {
343
350
  filterFetchOptions: 'vehicles/statuses',
344
351
  },
345
352
  {
346
- label: 'Created At',
353
+ label: this.intl.t('fleet-ops.common.created-at'),
347
354
  valuePath: 'createdAt',
348
355
  sortParam: 'created_at',
349
356
  width: '120px',
@@ -355,7 +362,7 @@ export default class ManagementVehiclesIndexController extends BaseController {
355
362
  filterComponent: 'filter/date',
356
363
  },
357
364
  {
358
- label: 'Updated At',
365
+ label: this.intl.t('fleet-ops.common.updated-at'),
359
366
  valuePath: 'updatedAt',
360
367
  sortParam: 'updated_at',
361
368
  width: '12%',
@@ -379,22 +386,22 @@ export default class ManagementVehiclesIndexController extends BaseController {
379
386
  width: '90px',
380
387
  actions: [
381
388
  {
382
- label: 'View vehicle details...',
389
+ label: this.intl.t('fleet-ops.management.vehicles.index.view-vehicle'),
383
390
  fn: this.viewVehicle,
384
391
  },
385
392
  {
386
- label: 'Edit vehicle...',
393
+ label: this.intl.t('fleet-ops.management.vehicles.index.edit-vehicle'),
387
394
  fn: this.editVehicle,
388
395
  },
389
396
  {
390
- label: 'Locate vehicle...',
397
+ label: this.intl.t('fleet-ops.management.vehicles.index.locate-action-title'),
391
398
  fn: this.locateVehicle,
392
399
  },
393
400
  {
394
401
  separator: true,
395
402
  },
396
403
  {
397
- label: 'Delete vehicle...',
404
+ label: this.intl.t('fleet-ops.management.vehicles.index.delete-vehicle'),
398
405
  fn: this.deleteVehicle,
399
406
  },
400
407
  ],
@@ -423,7 +430,7 @@ export default class ManagementVehiclesIndexController extends BaseController {
423
430
 
424
431
  this.crud.bulkDelete(selectedRows, {
425
432
  modelNamePath: `display_name`,
426
- acceptButtonText: 'Delete Vehicles',
433
+ acceptButtonText: this.intl.t('fleet-ops.management.vehicles.index.delete-button'),
427
434
  onSuccess: () => {
428
435
  return this.hostRouter.refresh();
429
436
  },
@@ -18,6 +18,13 @@ export default class ManagementVendorsIndexEditController extends BaseController
18
18
  */
19
19
  @service modalsManager;
20
20
 
21
+ /**
22
+ * Inject the `intl` service
23
+ *
24
+ * @memberof intl
25
+ */
26
+ @service intl;
27
+
21
28
  /**
22
29
  * The overlay component context.
23
30
  *
@@ -98,9 +105,9 @@ export default class ManagementVendorsIndexEditController extends BaseController
98
105
  */
99
106
  confirmContinueWithUnsavedChanges(vendor, options = {}) {
100
107
  return this.modalsManager.confirm({
101
- title: 'Continue Without Saving?',
102
- body: 'Unsaved changes to this vendor will be lost. Click continue to proceed.',
103
- acceptButtonText: 'Continue without saving',
108
+ title: this.intl.t('fleet-ops.management.drivers.index.edit.title'),
109
+ body: this.intl.t('fleet-ops.management.vendors.index.edit.body'),
110
+ acceptButtonText: this.intl.t('fleet-ops.management.drivers.index.edit.button'),
104
111
  confirm: () => {
105
112
  vendor.rollbackAttributes();
106
113
  return this.transitionToRoute('management.vendors.index.details', vendor);
@@ -18,6 +18,13 @@ export default class ManagementVendorsIndexNewController extends BaseController
18
18
  */
19
19
  @service hostRouter;
20
20
 
21
+ /**
22
+ * Inject the `intl` service
23
+ *
24
+ * @memberof intl
25
+ */
26
+ @service intl;
27
+
21
28
  /**
22
29
  * Inject the `hostRouter` service
23
30
  *