@fleetbase/fleetops-engine 0.3.1 → 0.3.3

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 (264) hide show
  1. package/addon/components/admin/visibility-controls.js +1 -0
  2. package/addon/components/contact-form-panel.hbs +82 -0
  3. package/addon/components/contact-form-panel.js +195 -0
  4. package/addon/components/contact-panel/details.hbs +36 -0
  5. package/addon/components/contact-panel/details.js +3 -0
  6. package/addon/components/contact-panel.hbs +52 -0
  7. package/addon/components/contact-panel.js +161 -0
  8. package/addon/components/driver-form-panel.hbs +39 -55
  9. package/addon/components/driver-form-panel.js +41 -0
  10. package/addon/components/driver-panel/details.hbs +2 -2
  11. package/addon/components/driver-panel.hbs +12 -10
  12. package/addon/components/driver-panel.js +13 -0
  13. package/addon/components/fleet-form-panel.hbs +28 -28
  14. package/addon/components/fleet-form-panel.js +150 -1
  15. package/addon/components/fleet-listing-panel.hbs +8 -0
  16. package/addon/components/fleet-listing-panel.js +34 -0
  17. package/addon/components/fleet-panel/details.hbs +30 -0
  18. package/addon/components/fleet-panel/driver-listing.hbs +72 -0
  19. package/addon/components/fleet-panel/driver-listing.js +149 -0
  20. package/addon/components/fleet-panel/vehicle-listing.hbs +72 -0
  21. package/addon/components/fleet-panel/vehicle-listing.js +149 -0
  22. package/addon/components/fleet-panel.hbs +12 -58
  23. package/addon/components/fleet-panel.js +148 -26
  24. package/addon/components/fleet-vehicle-listing.hbs +0 -1
  25. package/addon/components/fuel-report-form-panel.hbs +41 -0
  26. package/addon/components/fuel-report-form-panel.js +122 -0
  27. package/addon/components/fuel-report-panel/details.hbs +38 -0
  28. package/addon/components/fuel-report-panel.hbs +30 -0
  29. package/addon/components/fuel-report-panel.js +161 -0
  30. package/addon/components/issue-form-panel.hbs +85 -0
  31. package/addon/components/issue-form-panel.js +211 -0
  32. package/addon/components/issue-panel/details.hbs +48 -0
  33. package/addon/components/issue-panel.hbs +30 -0
  34. package/addon/components/issue-panel.js +160 -0
  35. package/addon/components/layout/fleet-ops-sidebar.hbs +2 -2
  36. package/addon/components/layout/fleet-ops-sidebar.js +2 -1
  37. package/addon/components/live-map-drawer/driver-listing.hbs +6 -0
  38. package/addon/components/live-map-drawer/driver-listing.js +240 -0
  39. package/addon/components/live-map-drawer/place-listing.hbs +6 -0
  40. package/addon/components/live-map-drawer/place-listing.js +204 -0
  41. package/addon/components/live-map-drawer/vehicle-listing.hbs +6 -0
  42. package/addon/components/live-map-drawer/vehicle-listing.js +216 -0
  43. package/addon/components/live-map-drawer.hbs +17 -0
  44. package/addon/components/live-map-drawer.js +104 -0
  45. package/addon/components/live-map.hbs +5 -1
  46. package/addon/components/live-map.js +109 -15
  47. package/addon/components/map-container/toolbar.hbs +15 -9
  48. package/addon/components/map-container/topbar.hbs +1 -1
  49. package/addon/components/modals/issue-details.hbs +38 -0
  50. package/addon/components/modals/issue-from.hbs +138 -0
  51. package/addon/components/modals/order-event.hbs +1 -1
  52. package/addon/components/order/schedule-card.hbs +4 -4
  53. package/addon/components/order/schedule-card.js +13 -6
  54. package/addon/components/place-form-panel.hbs +50 -0
  55. package/addon/components/place-form-panel.js +134 -0
  56. package/addon/components/place-panel/details.hbs +95 -0
  57. package/addon/components/place-panel.hbs +30 -0
  58. package/addon/components/place-panel.js +161 -0
  59. package/addon/components/vehicle-form-panel.hbs +35 -44
  60. package/addon/components/vehicle-form-panel.js +41 -0
  61. package/addon/components/vehicle-panel/details.hbs +8 -2
  62. package/addon/components/vehicle-panel.hbs +8 -6
  63. package/addon/components/vendor-form-panel/create-form.hbs +114 -0
  64. package/addon/components/vendor-form-panel/create-form.js +158 -0
  65. package/addon/components/vendor-form-panel/edit-form.hbs +98 -0
  66. package/addon/components/vendor-form-panel/edit-form.js +51 -0
  67. package/addon/components/vendor-form-panel.hbs +48 -0
  68. package/addon/components/vendor-form-panel.js +226 -0
  69. package/addon/components/vendor-panel/details.hbs +77 -0
  70. package/addon/components/vendor-panel/details.js +12 -0
  71. package/addon/components/vendor-panel.hbs +58 -0
  72. package/addon/components/vendor-panel.js +161 -0
  73. package/addon/controllers/management/contacts/index/details.js +55 -0
  74. package/addon/controllers/management/contacts/index/edit.js +111 -0
  75. package/addon/controllers/management/contacts/index/new.js +88 -0
  76. package/addon/controllers/management/contacts/index.js +23 -128
  77. package/addon/controllers/management/drivers/index/new.js +2 -2
  78. package/addon/controllers/management/drivers/index.js +18 -32
  79. package/addon/controllers/management/fleets/index/details.js +53 -0
  80. package/addon/controllers/management/fleets/index/edit.js +75 -41
  81. package/addon/controllers/management/fleets/index/new.js +42 -57
  82. package/addon/controllers/management/fleets/index.js +0 -1
  83. package/addon/controllers/management/fuel-reports/index/details.js +63 -0
  84. package/addon/controllers/management/fuel-reports/index/edit.js +111 -0
  85. package/addon/controllers/management/fuel-reports/index/new.js +95 -0
  86. package/addon/controllers/management/fuel-reports/index.js +57 -127
  87. package/addon/controllers/management/issues/index/details.js +54 -0
  88. package/addon/controllers/management/issues/index/edit.js +111 -0
  89. package/addon/controllers/management/issues/index/new.js +94 -0
  90. package/addon/controllers/management/issues/index.js +131 -26
  91. package/addon/controllers/management/places/index/details.js +55 -0
  92. package/addon/controllers/management/places/index/edit.js +111 -0
  93. package/addon/controllers/management/places/index/new.js +88 -0
  94. package/addon/controllers/management/places/index.js +21 -182
  95. package/addon/controllers/management/vehicles/index/new.js +2 -6
  96. package/addon/controllers/management/vendors/index/details.js +55 -0
  97. package/addon/controllers/management/vendors/index/edit.js +111 -0
  98. package/addon/controllers/management/vendors/index/new.js +88 -0
  99. package/addon/controllers/management/vendors/index.js +43 -247
  100. package/addon/controllers/operations/orders/index.js +29 -15
  101. package/addon/controllers/operations/scheduler/index.js +45 -30
  102. package/addon/routes/management/contacts/index/details.js +14 -0
  103. package/addon/routes/management/contacts/index/edit.js +10 -0
  104. package/addon/routes/management/contacts/index/new.js +3 -0
  105. package/addon/routes/management/contacts/index.js +1 -1
  106. package/addon/routes/management/fleets/index/details.js +1 -1
  107. package/addon/routes/management/fleets/index/edit.js +1 -1
  108. package/addon/routes/management/fleets/index.js +1 -1
  109. package/addon/routes/management/fuel-reports/index/details.js +14 -0
  110. package/addon/routes/management/fuel-reports/index/edit.js +10 -0
  111. package/addon/routes/management/fuel-reports/index/new.js +3 -0
  112. package/addon/routes/management/fuel-reports/index.js +3 -1
  113. package/addon/routes/management/issues/index/details.js +14 -0
  114. package/addon/routes/management/issues/index/edit.js +10 -0
  115. package/addon/routes/management/issues/index/new.js +3 -0
  116. package/addon/routes/management/issues/index.js +1 -1
  117. package/addon/routes/management/places/index/details.js +14 -0
  118. package/addon/routes/management/places/index/edit.js +10 -0
  119. package/addon/routes/management/places/index/new.js +3 -0
  120. package/addon/routes/management/places/index.js +6 -1
  121. package/addon/routes/management/vendors/index/details.js +15 -0
  122. package/addon/routes/management/vendors/index/edit.js +11 -0
  123. package/addon/routes/management/vendors/index/new.js +3 -0
  124. package/addon/routes/management/vendors/index.js +1 -0
  125. package/addon/routes/operations/scheduler/index.js +25 -0
  126. package/addon/routes.js +27 -7
  127. package/addon/services/context-panel.js +60 -0
  128. package/addon/styles/fleetops-engine.css +28 -0
  129. package/addon/templates/management/contacts/index/details.hbs +1 -0
  130. package/addon/templates/management/contacts/index/edit.hbs +1 -0
  131. package/addon/templates/management/contacts/index/new.hbs +1 -0
  132. package/addon/templates/management/contacts/index.hbs +22 -3
  133. package/addon/templates/management/drivers/index.hbs +29 -5
  134. package/addon/templates/management/fleets/index/details.hbs +1 -1
  135. package/addon/templates/management/fleets/index/edit.hbs +1 -1
  136. package/addon/templates/management/fleets/index/new.hbs +1 -1
  137. package/addon/templates/management/fuel-reports/index/details.hbs +1 -0
  138. package/addon/templates/management/fuel-reports/index/edit.hbs +1 -0
  139. package/addon/templates/management/fuel-reports/index/new.hbs +1 -0
  140. package/addon/templates/management/fuel-reports/index.hbs +25 -4
  141. package/addon/templates/management/issues/index/details.hbs +1 -0
  142. package/addon/templates/management/issues/index/edit.hbs +1 -0
  143. package/addon/templates/management/issues/index/new.hbs +1 -0
  144. package/addon/templates/management/issues/index.hbs +5 -3
  145. package/addon/templates/management/places/index/details.hbs +1 -0
  146. package/addon/templates/management/places/index/edit.hbs +1 -0
  147. package/addon/templates/management/places/index/new.hbs +1 -0
  148. package/addon/templates/management/vendors/index/details.hbs +1 -0
  149. package/addon/templates/management/vendors/index/edit.hbs +1 -0
  150. package/addon/templates/management/vendors/index/new.hbs +1 -0
  151. package/addon/templates/operations/orders/index.hbs +5 -5
  152. package/addon/templates/operations/scheduler/index.hbs +33 -9
  153. package/addon/utils/create-full-calendar-event-from-order.js +8 -0
  154. package/app/components/contact-form-panel.js +1 -0
  155. package/app/components/contact-panel/details.js +1 -0
  156. package/app/components/contact-panel.js +1 -0
  157. package/app/components/{full-calendar/draggable.js → fleet-listing-panel.js} +1 -1
  158. package/app/components/fleet-panel/details.js +1 -0
  159. package/app/components/fleet-panel/driver-listing.js +1 -0
  160. package/app/components/fleet-panel/vehicle-listing.js +1 -0
  161. package/app/components/fuel-report-form-panel.js +1 -0
  162. package/app/components/{full-calendar.js → fuel-report-panel.js} +1 -1
  163. package/app/components/issue-form-panel.js +1 -0
  164. package/app/components/issue-panel.js +1 -0
  165. package/app/components/live-map-drawer/driver-listing.js +1 -0
  166. package/app/components/live-map-drawer/place-listing.js +1 -0
  167. package/app/components/live-map-drawer/vehicle-listing.js +1 -0
  168. package/app/components/live-map-drawer.js +1 -0
  169. package/app/components/place-form-panel.js +1 -0
  170. package/app/components/place-panel.js +1 -0
  171. package/app/components/vendor-form-panel/create-form.js +1 -0
  172. package/app/components/vendor-form-panel/edit-form.js +1 -0
  173. package/app/components/vendor-form-panel.js +1 -0
  174. package/app/components/vendor-panel/details.js +1 -0
  175. package/app/components/vendor-panel.js +1 -0
  176. package/app/controllers/management/contacts/index/details.js +1 -0
  177. package/app/controllers/management/contacts/index/edit.js +1 -0
  178. package/app/controllers/management/contacts/index/new.js +1 -0
  179. package/app/controllers/management/fuel-reports/index/details.js +1 -0
  180. package/app/controllers/management/fuel-reports/index/edit.js +1 -0
  181. package/app/controllers/management/fuel-reports/index/new.js +1 -0
  182. package/app/controllers/management/issues/index/details.js +1 -0
  183. package/app/controllers/management/issues/index/edit.js +1 -0
  184. package/app/controllers/management/issues/index/new.js +1 -0
  185. package/app/controllers/management/places/index/details.js +1 -0
  186. package/app/controllers/management/places/index/edit.js +1 -0
  187. package/app/controllers/management/places/index/new.js +1 -0
  188. package/app/controllers/management/vendors/index/edit.js +1 -0
  189. package/app/controllers/management/vendors/index/new.js +1 -0
  190. package/app/routes/addon/routes/management/places/index/new.js +1 -0
  191. package/app/routes/management/contacts/index/details.js +1 -0
  192. package/app/routes/management/contacts/index/edit.js +1 -0
  193. package/app/routes/management/contacts/index/new.js +1 -0
  194. package/app/routes/management/fuel-reports/index/details.js +1 -0
  195. package/app/routes/management/fuel-reports/index/edit.js +1 -0
  196. package/app/routes/management/fuel-reports/index/new.js +1 -0
  197. package/app/routes/management/issues/index/details.js +1 -0
  198. package/app/routes/management/issues/index/edit.js +1 -0
  199. package/app/routes/management/issues/index/new.js +1 -0
  200. package/app/routes/management/places/index/details.js +1 -0
  201. package/app/routes/management/places/index/edit.js +1 -0
  202. package/app/routes/management/places/index/new.js +1 -0
  203. package/app/routes/management/vendors/index/details.js +1 -0
  204. package/app/routes/management/vendors/index/edit.js +1 -0
  205. package/app/routes/management/vendors/index/new.js +1 -0
  206. package/app/templates/addon/routes/management/places/index/new.js +1 -0
  207. package/app/templates/management/contacts/index/details.js +1 -0
  208. package/app/templates/management/contacts/index/edit.js +1 -0
  209. package/app/templates/management/contacts/index/new.js +1 -0
  210. package/app/templates/management/fuel-reports/index/details.js +1 -0
  211. package/app/templates/management/fuel-reports/index/edit.js +1 -0
  212. package/app/templates/management/fuel-reports/index/new.js +1 -0
  213. package/app/templates/management/issues/index/details.js +1 -0
  214. package/app/templates/management/issues/index/edit.js +1 -0
  215. package/app/templates/management/issues/index/new.js +1 -0
  216. package/app/templates/management/places/index/details.js +1 -0
  217. package/app/templates/management/places/index/edit.js +1 -0
  218. package/app/templates/management/places/index/new.js +1 -0
  219. package/app/templates/management/vendors/index/details.js +1 -0
  220. package/app/templates/management/vendors/index/edit.js +1 -0
  221. package/app/templates/management/vendors/index/new.js +1 -0
  222. package/app/utils/create-full-calendar-event-from-order.js +1 -0
  223. package/composer.json +1 -1
  224. package/config/environment.js +2 -1
  225. package/extension.json +1 -1
  226. package/package.json +5 -4
  227. package/server/migrations/2023_11_03_072503_refactor_issues_table_columns.php +42 -0
  228. package/server/migrations/2023_11_06_040645_refactor_fuel_reports_table.php +38 -0
  229. package/server/src/Casts/Point.php +15 -1
  230. package/server/src/Http/Controllers/Internal/v1/DriverController.php +33 -15
  231. package/server/src/Http/Filter/FleetFilter.php +7 -0
  232. package/server/src/Http/Filter/FuelReportFilter.php +58 -0
  233. package/server/src/Http/Filter/IssueFilter.php +69 -0
  234. package/server/src/Http/Filter/VehicleFilter.php +10 -0
  235. package/server/src/Http/Middleware/TransformLocationMiddleware.php +48 -0
  236. package/server/src/Http/Resources/v1/Driver.php +1 -0
  237. package/server/src/Http/Resources/v1/Fleet.php +20 -21
  238. package/server/src/Http/Resources/v1/FuelReport.php +37 -35
  239. package/server/src/Http/Resources/v1/Issue.php +77 -0
  240. package/server/src/Http/Resources/v1/ParentFleet.php +60 -0
  241. package/server/src/Http/Resources/v1/SubFleet.php +60 -0
  242. package/server/src/Http/Resources/v1/Vehicle.php +4 -2
  243. package/server/src/Integrations/Lalamove/Lalamove.php +6 -6
  244. package/server/src/Models/Contact.php +7 -0
  245. package/server/src/Models/Driver.php +1 -1
  246. package/server/src/Models/Fleet.php +35 -4
  247. package/server/src/Models/FuelReport.php +53 -3
  248. package/server/src/Models/Issue.php +106 -7
  249. package/server/src/Models/Order.php +22 -0
  250. package/server/src/Models/Vehicle.php +1 -1
  251. package/server/src/Models/VehicleDevice.php +4 -2
  252. package/server/src/Models/VehicleDeviceEvent.php +8 -4
  253. package/server/src/Notifications/OrderAssigned.php +0 -6
  254. package/server/src/Notifications/OrderCanceled.php +0 -6
  255. package/server/src/Notifications/OrderDispatchFailed.php +0 -6
  256. package/server/src/Notifications/OrderDispatched.php +0 -6
  257. package/server/src/Notifications/OrderPing.php +0 -6
  258. package/server/src/Notifications/OrderSplit.php +0 -6
  259. package/server/src/Observers/FleetObserver.php +19 -0
  260. package/server/src/Providers/FleetOpsServiceProvider.php +1 -0
  261. package/server/src/Providers/NotificationServiceProvider.php +1 -1
  262. package/server/src/routes.php +2 -2
  263. package/addon/components/full-calendar/draggable.js +0 -1
  264. package/addon/components/full-calendar.js +0 -1
@@ -0,0 +1,8 @@
1
+ export default function createFullCalendarEventFromOrder(order) {
2
+ return {
3
+ id: order.id,
4
+ title: `${order.scheduledAtTime} - ${order.public_id}`,
5
+ start: order.scheduled_at,
6
+ allDay: true,
7
+ };
8
+ }
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/contact-form-panel';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/contact-panel/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/contact-panel';
@@ -1 +1 @@
1
- export { default } from '@fleetbase/fleetops-engine/components/full-calendar/draggable';
1
+ export { default } from '@fleetbase/fleetops-engine/components/fleet-listing-panel';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/fleet-panel/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/fleet-panel/driver-listing';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/fleet-panel/vehicle-listing';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/fuel-report-form-panel';
@@ -1 +1 @@
1
- export { default } from '@fleetbase/fleetops-engine/components/full-calendar';
1
+ export { default } from '@fleetbase/fleetops-engine/components/fuel-report-panel';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/issue-form-panel';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/issue-panel';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/live-map-drawer/driver-listing';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/live-map-drawer/place-listing';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/live-map-drawer/vehicle-listing';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/live-map-drawer';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/place-form-panel';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/place-panel';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/vendor-form-panel/create-form';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/vendor-form-panel/edit-form';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/vendor-form-panel';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/vendor-panel/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/components/vendor-panel';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/contacts/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/contacts/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/contacts/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/fuel-reports/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/fuel-reports/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/fuel-reports/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/issues/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/issues/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/issues/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/places/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/places/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/places/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/vendors/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/controllers/management/vendors/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/addon/routes/management/places/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/contacts/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/contacts/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/contacts/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/fuel-reports/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/fuel-reports/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/fuel-reports/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/issues/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/issues/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/issues/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/places/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/places/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/places/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/vendors/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/vendors/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/routes/management/vendors/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/addon/routes/management/places/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/contacts/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/contacts/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/contacts/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/fuel-reports/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/fuel-reports/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/fuel-reports/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/issues/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/issues/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/issues/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/places/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/places/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/places/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/vendors/index/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/vendors/index/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/templates/management/vendors/index/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/fleetops-engine/utils/create-full-calendar-event-from-order';
package/composer.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fleetbase/fleetops-api",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Fleet & Transport Management Extension for Fleetbase",
5
5
  "keywords": [
6
6
  "fleetbase-extension",
@@ -11,7 +11,8 @@ module.exports = function (environment) {
11
11
  driverImage: getenv('DEFAULT_DRIVER_IMAGE', 'https://s3.ap-southeast-1.amazonaws.com/flb-assets/static/no-avatar.png'),
12
12
  userImage: getenv('DEFAULT_USER_IMAGE', 'https://s3.ap-southeast-1.amazonaws.com/flb-assets/static/no-avatar.png'),
13
13
  contactImage: getenv('DEFAULT_CONTACT_IMAGE', 'https://s3.ap-southeast-1.amazonaws.com/flb-assets/static/no-avatar.png'),
14
- vehicleImage: getenv('DEFAULT_VEHICLE_IMAGE', 'https://flb-assets.s3.ap-southeast-1.amazonaws.com/static/vehicle-icons/light_commercial_van.svg'),
14
+ vendorImage: getenv('DEFAULT_VENDOR_IMAGE', 'https://s3.ap-southeast-1.amazonaws.com/flb-assets/static/no-avatar.png'),
15
+ vehicleImage: getenv('DEFAULT_VEHICLE_IMAGE', 'https://s3.ap-southeast-1.amazonaws.com/flb-assets/static/vehicle-placeholder.png'),
15
16
  vehicleAvatar: getenv('DEFAUL_VEHICLE_AVATAR', 'https://flb-assets.s3-ap-southeast-1.amazonaws.com/static/vehicle-icons/mini_bus.svg'),
16
17
  },
17
18
  };
package/extension.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "Fleet-Ops",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Fleet & Transport Management Extension for Fleetbase",
5
5
  "repository": "https://github.com/fleetbase/fleetops",
6
6
  "license": "MIT",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fleetbase/fleetops-engine",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Fleet & Transport Management Extension for Fleetbase",
5
5
  "fleetbase": {
6
6
  "route": "fleet-ops",
@@ -39,9 +39,9 @@
39
39
  "publish:github": "npm config set '@fleetbase:registry' https://npm.pkg.github.com/ && npm publish"
40
40
  },
41
41
  "dependencies": {
42
- "@fleetbase/ember-core": "^0.1.6",
43
- "@fleetbase/ember-ui": "^0.2.2",
44
- "@fleetbase/fleetops-data": "^0.1.1",
42
+ "@fleetbase/ember-core": "^0.1.7",
43
+ "@fleetbase/ember-ui": "^0.2.4",
44
+ "@fleetbase/fleetops-data": "^0.1.3",
45
45
  "@fleetbase/leaflet-routing-machine": "^3.2.16",
46
46
  "@fortawesome/ember-fontawesome": "^0.4.1",
47
47
  "@fortawesome/fontawesome-svg-core": "^6.4.0",
@@ -56,6 +56,7 @@
56
56
  "ember-intl": "^6.0.0-beta.6",
57
57
  "ember-leaflet": "^5.1.1",
58
58
  "ember-radio-button": "^3.0.0-beta.1",
59
+ "ember-tag-input": "^3.1.0",
59
60
  "ember-wormhole": "^0.6.0",
60
61
  "leaflet": "^1.9.4",
61
62
  "leaflet-contextmenu": "^1.4.0",
@@ -0,0 +1,42 @@
1
+ <?php
2
+
3
+ use Illuminate\Database\Migrations\Migration;
4
+ use Illuminate\Database\Schema\Blueprint;
5
+ use Illuminate\Support\Facades\Schema;
6
+
7
+ class RefactorIssuesTableColumns extends Migration
8
+ {
9
+ /**
10
+ * Run the migrations.
11
+ *
12
+ * @return void
13
+ */
14
+ public function up()
15
+ {
16
+ Schema::table('issues', function (Blueprint $table) {
17
+ $table->dropColumn(['longitude', 'latitude', 'odometer']);
18
+ $table->string('category')->nullable()->after('type');
19
+ $table->json('tags')->nullable()->after('priority');
20
+ $table->json('meta')->nullable()->after('priority');
21
+ $table->mediumText('report')->change();
22
+ $table->foreignUuid('reported_by_uuid')->nullable()->after('assigned_to_uuid')->references('uuid')->on('users')->onDelete('cascade');
23
+ });
24
+ }
25
+
26
+ /**
27
+ * Reverse the migrations.
28
+ *
29
+ * @return void
30
+ */
31
+ public function down()
32
+ {
33
+ Schema::table('issues', function (Blueprint $table) {
34
+ $table->string('longitude')->nullable()->after('location');
35
+ $table->string('latitude')->nullable()->after('location');
36
+ $table->string('odometer')->nullable()->after('location');
37
+ $table->string('report')->change();
38
+ $table->dropForeign(['reported_by_uuid']);
39
+ $table->dropColumn(['reported_by_uuid', 'meta', 'tags', 'category']);
40
+ });
41
+ }
42
+ }
@@ -0,0 +1,38 @@
1
+ <?php
2
+
3
+ use Illuminate\Database\Migrations\Migration;
4
+ use Illuminate\Database\Schema\Blueprint;
5
+ use Illuminate\Support\Facades\Schema;
6
+
7
+ class RefactorFuelReportsTable extends Migration
8
+ {
9
+ /**
10
+ * Run the migrations.
11
+ *
12
+ * @return void
13
+ */
14
+ public function up()
15
+ {
16
+ Schema::table('fuel_reports', function (Blueprint $table) {
17
+ $table->dropColumn(['longitude', 'latitude']);
18
+ $table->json('meta')->nullable()->after('metric_unit');
19
+ $table->mediumText('report')->nullable()->after('vehicle_uuid');
20
+ $table->foreignUuid('reported_by_uuid')->nullable()->after('vehicle_uuid')->references('uuid')->on('users')->onDelete('cascade');
21
+ });
22
+ }
23
+
24
+ /**
25
+ * Reverse the migrations.
26
+ *
27
+ * @return void
28
+ */
29
+ public function down()
30
+ {
31
+ Schema::table('fuel_reports', function (Blueprint $table) {
32
+ $table->string('longitude')->nullable()->after('location');
33
+ $table->string('latitude')->nullable()->after('location');
34
+ $table->dropForeign(['reported_by_uuid']);
35
+ $table->dropColumn(['reported_by_uuid', 'meta', 'report']);
36
+ });
37
+ }
38
+ }
@@ -59,7 +59,21 @@ class Point implements CastsAttributes
59
59
  return $point;
60
60
  }
61
61
 
62
- return new SpatialExpression(new Point(0, 0));
62
+ return static::createEmptySpatialExpression();
63
+ }
64
+
65
+ /**
66
+ * Creates an empty Point as a SpatialExpression.
67
+ */
68
+ public static function createEmptySpatialExpression(): SpatialExpression
69
+ {
70
+ $value = json_encode([
71
+ 'type' => 'Point',
72
+ 'coordinates' => [0, 0],
73
+ 'bbox' => [0, 0, 0, 0],
74
+ ]);
75
+
76
+ return Utils::createSpatialExpressionFromGeoJson($value);
63
77
  }
64
78
 
65
79
  /**
@@ -51,17 +51,26 @@ class DriverController extends FleetOpsController
51
51
  // outside organization: invite to join organization AS DRIVER
52
52
  if ($validator->errors()->hasAny(['phone', 'email'])) {
53
53
  // get existing user
54
- $existingUser = User::where(
55
- function ($q) use ($input) {
56
- if (!empty($input['phone'])) {
57
- $q->orWhere('phone', $input['phone']);
58
- }
59
-
60
- if (!empty($input['email'])) {
61
- $q->orWhere('email', $input['email']);
62
- }
54
+ $existingUser = null;
55
+
56
+ // if values provided for user lookup
57
+ if (!empty($input['phone']) || !empty($input['email'])) {
58
+ $existingUserQuery = User::query();
59
+
60
+ if (!empty($input['phone']) && is_string($input['phone'])) {
61
+ $existingUserQuery->orWhere(function ($q) use ($input) {
62
+ $q->where('phone', $input['phone'])->whereNotNull('phone');
63
+ });
63
64
  }
64
- )->first();
65
+
66
+ if (!empty($input['email']) && is_string($input['email'])) {
67
+ $existingUserQuery->orWhere(function ($q) use ($input) {
68
+ $q->where('email', $input['email'])->whereNotNull('email');
69
+ });
70
+ }
71
+
72
+ $existingUser = $existingUserQuery->first();
73
+ }
65
74
 
66
75
  if ($existingUser) {
67
76
  // if exists in organization create driver profile for user
@@ -69,7 +78,7 @@ class DriverController extends FleetOpsController
69
78
 
70
79
  // create driver profile for user
71
80
  $input = collect($input)
72
- ->except(['name', 'password', 'email', 'phone', 'location', 'meta'])
81
+ ->except(['name', 'password', 'email', 'phone', 'location', 'meta', 'avatar_uuid', 'photo_uuid'])
73
82
  ->filter()
74
83
  ->toArray();
75
84
 
@@ -116,12 +125,17 @@ class DriverController extends FleetOpsController
116
125
  $input = collect($input);
117
126
 
118
127
  $userInput = $input
119
- ->only(['name', 'password', 'email', 'phone', 'status'])
128
+ ->only(['name', 'password', 'email', 'phone', 'status', 'avatar_uuid'])
120
129
  ->filter()
121
130
  ->toArray();
122
131
 
132
+ // handle `photo_uuid`
133
+ if (isset($input['photo_uuid']) && Str::isUuid($input['photo_uuid'])) {
134
+ $userInput['avatar_uuid'] = $input['photo_uuid'];
135
+ }
136
+
123
137
  $input = $input
124
- ->except(['name', 'password', 'email', 'phone', 'location', 'meta'])
138
+ ->except(['name', 'password', 'email', 'phone', 'location', 'meta', 'avatar_uuid', 'photo_uuid'])
125
139
  ->filter()
126
140
  ->toArray();
127
141
 
@@ -198,8 +212,12 @@ class DriverController extends FleetOpsController
198
212
  function (&$request, &$driver, &$input) {
199
213
  $driver->load(['user']);
200
214
  $input = collect($input);
201
- $userInput = $input->only(['name', 'password', 'email', 'phone'])->toArray();
202
- $input = $input->except(['name', 'password', 'email', 'phone', 'location', 'meta'])->toArray();
215
+ $userInput = $input->only(['name', 'password', 'email', 'phone', 'avatar_uuid'])->toArray();
216
+ // handle `photo_uuid`
217
+ if (isset($input['photo_uuid']) && Str::isUuid($input['photo_uuid'])) {
218
+ $userInput['avatar_uuid'] = $input['photo_uuid'];
219
+ }
220
+ $input = $input->except(['name', 'password', 'email', 'phone', 'location', 'meta', 'avatar_uuid', 'photo_uuid'])->toArray();
203
221
 
204
222
  $driver->user->update($userInput);
205
223
  $driver->flushAttributesCache();
@@ -24,6 +24,13 @@ class FleetFilter extends Filter
24
24
  });
25
25
  }
26
26
 
27
+ public function parentsOnly(bool $parentsOnly = false)
28
+ {
29
+ if ($parentsOnly) {
30
+ $this->builder->whereNull('parent_fleet_uuid');
31
+ }
32
+ }
33
+
27
34
  public function serviceArea(?string $serviceArea)
28
35
  {
29
36
  $this->builder->whereHas(
@@ -0,0 +1,58 @@
1
+ <?php
2
+
3
+ namespace Fleetbase\FleetOps\Http\Filter;
4
+
5
+ use Fleetbase\FleetOps\Support\Utils;
6
+ use Fleetbase\Http\Filter\Filter;
7
+ use Illuminate\Support\Str;
8
+
9
+ class FuelReportFilter extends Filter
10
+ {
11
+ public function queryForInternal()
12
+ {
13
+ $this->builder->where('company_uuid', $this->session->get('company'));
14
+ }
15
+
16
+ public function query(?string $searchQuery)
17
+ {
18
+ $this->builder->search($searchQuery);
19
+ }
20
+
21
+ public function publicId(?string $publicId)
22
+ {
23
+ $this->builder->searchWhere('public_id', $publicId);
24
+ }
25
+
26
+ public function reporter(?string $reporter)
27
+ {
28
+ $this->builder->whereHas('reportedBy', function ($q) use ($reporter) {
29
+ if (Str::isUuid($reporter)) {
30
+ $q->where('uuid', $reporter);
31
+ } else {
32
+ $q->search($reporter);
33
+ }
34
+ });
35
+ }
36
+
37
+ public function createdAt($createdAt)
38
+ {
39
+ $createdAt = Utils::dateRange($createdAt);
40
+
41
+ if (is_array($createdAt)) {
42
+ $this->builder->whereBetween('created_at', $createdAt);
43
+ } else {
44
+ $this->builder->whereDate('created_at', $createdAt);
45
+ }
46
+ }
47
+
48
+ public function updatedAt($updatedAt)
49
+ {
50
+ $updatedAt = Utils::dateRange($updatedAt);
51
+
52
+ if (is_array($updatedAt)) {
53
+ $this->builder->whereBetween('updated_at', $updatedAt);
54
+ } else {
55
+ $this->builder->whereDate('updated_at', $updatedAt);
56
+ }
57
+ }
58
+ }