@fleetbase/fleetops-engine 0.4.4 → 0.4.6
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.
- package/README.md +1 -1
- package/addon/components/contact-form-panel.hbs +1 -0
- package/addon/components/driver-panel.hbs +1 -0
- package/addon/components/edit-order-route-panel.hbs +1 -0
- package/addon/components/fleet-form-panel.hbs +1 -0
- package/addon/components/fleet-panel.hbs +1 -0
- package/addon/components/fuel-report-form-panel.hbs +1 -0
- package/addon/components/fuel-report-panel.hbs +1 -0
- package/addon/components/issue-form-panel.hbs +1 -0
- package/addon/components/issue-panel.hbs +1 -0
- package/addon/components/place-form-panel.hbs +1 -0
- package/addon/components/place-panel.hbs +1 -0
- package/addon/components/vehicle-form-panel.hbs +1 -0
- package/addon/components/vehicle-panel.hbs +1 -0
- package/addon/components/vendor-form-panel.hbs +1 -0
- package/addon/components/vendor-panel.hbs +1 -0
- package/addon/components/widget/fleet-ops-key-metrics.hbs +19 -0
- package/addon/components/widget/fleet-ops-key-metrics.js +92 -0
- package/addon/controllers/management/contacts/index.js +3 -3
- package/addon/controllers/operations/orders/index.js +1 -1
- package/addon/engine.js +18 -12
- package/addon/styles/fleetops-engine.css +2 -2
- package/app/components/widget/{issues.js → fleet-ops-key-metrics.js} +1 -1
- package/composer.json +6 -6
- package/extension.json +1 -1
- package/package.json +3 -4
- package/server/src/Casts/MultiPolygon.php +3 -3
- package/server/src/Casts/Point.php +8 -4
- package/server/src/Casts/Polygon.php +3 -3
- package/server/src/Console/Commands/DispatchAdhocOrders.php +1 -1
- package/server/src/Events/DriverSimulatedLocationChanged.php +1 -1
- package/server/src/Flow/Activity.php +12 -0
- package/server/src/Flow/Config.php +7 -0
- package/server/src/Flow/Logic.php +7 -0
- package/server/src/Http/Controllers/Api/v1/DriverController.php +2 -1
- package/server/src/Http/Controllers/Api/v1/OrderController.php +3 -3
- package/server/src/Http/Controllers/Api/v1/PlaceController.php +1 -1
- package/server/src/Http/Controllers/Api/v1/ServiceAreaController.php +1 -1
- package/server/src/Http/Controllers/Api/v1/TrackingStatusController.php +1 -1
- package/server/src/Http/Controllers/Api/v1/ZoneController.php +1 -1
- package/server/src/Http/Controllers/Internal/v1/DriverController.php +1 -1
- package/server/src/Http/Controllers/Internal/v1/GeocoderController.php +2 -2
- package/server/src/Http/Controllers/Internal/v1/MetricsController.php +6 -50
- package/server/src/Http/Controllers/Internal/v1/OrderController.php +2 -2
- package/server/src/Http/Controllers/Internal/v1/PlaceController.php +1 -1
- package/server/src/Http/Filter/PlaceFilter.php +1 -1
- package/server/src/Http/Resources/v1/Driver.php +1 -1
- package/server/src/Http/Resources/v1/FuelReport.php +1 -1
- package/server/src/Http/Resources/v1/Issue.php +1 -1
- package/server/src/Http/Resources/v1/Payload.php +1 -0
- package/server/src/Http/Resources/v1/Place.php +1 -1
- package/server/src/Http/Resources/v1/TrackingStatus.php +1 -1
- package/server/src/Http/Resources/v1/Vehicle.php +1 -1
- package/server/src/Http/Resources/v1/VehicleWithoutDriver.php +1 -1
- package/server/src/Http/Resources/v1/Waypoint.php +2 -4
- package/server/src/Integrations/Lalamove/LalamoveDeliveryStop.php +2 -2
- package/server/src/Jobs/SimulateWaypointReached.php +2 -2
- package/server/src/Models/Contact.php +6 -18
- package/server/src/Models/Driver.php +7 -19
- package/server/src/Models/Fleet.php +6 -25
- package/server/src/Models/FuelReport.php +1 -1
- package/server/src/Models/Issue.php +1 -1
- package/server/src/Models/Order.php +15 -19
- package/server/src/Models/Payload.php +7 -7
- package/server/src/Models/Place.php +14 -14
- package/server/src/Models/Position.php +1 -1
- package/server/src/Models/ServiceArea.php +14 -14
- package/server/src/Models/TrackingNumber.php +1 -1
- package/server/src/Models/TrackingStatus.php +1 -1
- package/server/src/Models/Vehicle.php +7 -19
- package/server/src/Models/VehicleDeviceEvent.php +1 -1
- package/server/src/Models/Vendor.php +8 -25
- package/server/src/Models/Waypoint.php +6 -6
- package/server/src/Models/Zone.php +8 -8
- package/server/src/Observers/DriverObserver.php +1 -1
- package/server/src/Observers/TrackingNumberObserver.php +1 -1
- package/server/src/Rules/ResolvablePoint.php +1 -1
- package/server/src/Support/Encoding/Polyline.php +1 -1
- package/server/src/Support/OSRM.php +1 -1
- package/server/src/Support/Utils.php +60 -60
- package/server/src/Traits/HasTrackingNumber.php +3 -3
- package/server/src/routes.php +1 -4
- package/translations/en-us.yaml +1 -0
- package/addon/components/widget/fleet-ops-quickstart.hbs +0 -40
- package/addon/components/widget/fleet-ops-quickstart.js +0 -59
- package/addon/components/widget/issues.hbs +0 -1
- package/addon/components/widget/key-metrics.hbs +0 -121
- package/addon/components/widget/key-metrics.js +0 -46
- package/addon/components/widget/live-order-map.hbs +0 -59
- package/addon/components/widget/live-order-map.js +0 -11
- package/addon/components/widget/recent-orders.hbs +0 -35
- package/addon/components/widget/recent-orders.js +0 -24
- package/addon/components/widget/transaction-earnings.hbs +0 -1
- package/addon/components/widget/transactions.hbs +0 -36
- package/addon/components/widget/transactions.js +0 -29
- package/addon/components/widget/weekly-orders.hbs +0 -1
- package/addon/components/widget/weekly-orders.js +0 -3
- package/app/components/widget/key-metrics.js +0 -1
- package/app/components/widget/live-order-map.js +0 -1
- package/app/components/widget/recent-orders.js +0 -1
- package/app/components/widget/transaction-earnings.js +0 -1
- package/app/components/widget/transactions.js +0 -1
- package/app/components/widget/weekly-orders.js +0 -1
package/README.md
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<div class="fleet-ops-key-metrics" ...attributes>
|
|
2
|
+
<div class="flex flex-col">
|
|
3
|
+
<div class="flex flex-row items-center justify-between px-4 py-2 border dark:border-gray-700 border-gray-200 dark:bg-gray-800 bg-gray-50 rounded-lg shadow-sm">
|
|
4
|
+
<span class="text-base font-bold text-black dark:text-gray-100">{{t "fleet-ops.component.widget.key-metrics.title"}}</span>
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
<div class="mt-4">
|
|
8
|
+
{{#if this.getDashboardMetrics.isRunning}}
|
|
9
|
+
<Spinner />
|
|
10
|
+
{{else}}
|
|
11
|
+
<div class="grid grid-cols-2 lg:grid-cols-12 gap-4">
|
|
12
|
+
{{#each-in this.metrics as |title options|}}
|
|
13
|
+
<Dashboard::Count @title={{smart-humanize title}} @options={{options}} />
|
|
14
|
+
{{/each-in}}
|
|
15
|
+
</div>
|
|
16
|
+
{{/if}}
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import { tracked } from '@glimmer/tracking';
|
|
3
|
+
import { inject as service } from '@ember/service';
|
|
4
|
+
import { task } from 'ember-concurrency-decorators';
|
|
5
|
+
|
|
6
|
+
export default class WidgetFleetOpsKeyMetricsComponent extends Component {
|
|
7
|
+
/**
|
|
8
|
+
* The widget ID to use for registering.
|
|
9
|
+
*
|
|
10
|
+
* @memberof WidgetFleetOpsKeyMetricsComponent
|
|
11
|
+
*/
|
|
12
|
+
static widgetId = 'fleet-ops-key-metrics-widget';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Inject the fetch service.
|
|
16
|
+
*
|
|
17
|
+
* @memberof WidgetKeyMetricsComponent
|
|
18
|
+
*/
|
|
19
|
+
@service fetch;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Property for loading metrics to.
|
|
23
|
+
*
|
|
24
|
+
* @memberof WidgetKeyMetricsComponent
|
|
25
|
+
*/
|
|
26
|
+
@tracked metrics = {};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Creates an instance of WidgetKeyMetricsComponent.
|
|
30
|
+
* @memberof WidgetKeyMetricsComponent
|
|
31
|
+
*/
|
|
32
|
+
constructor() {
|
|
33
|
+
super(...arguments);
|
|
34
|
+
this.getDashboardMetrics.perform();
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Task which fetches key metrics.
|
|
39
|
+
*
|
|
40
|
+
* @memberof WidgetKeyMetricsComponent
|
|
41
|
+
*/
|
|
42
|
+
@task *getDashboardMetrics() {
|
|
43
|
+
this.metrics = yield this.fetch.get('fleet-ops/metrics').then((response) => {
|
|
44
|
+
return this.createMetricsMapFromResponse(response);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Creates a map of metrics from the response data. This method organizes the metrics data into a more usable format.
|
|
50
|
+
*
|
|
51
|
+
* @param {Object} metrics - The metrics object fetched from the server.
|
|
52
|
+
* @returns {Object} A map of metrics where each key is a metric name and its value is an object of metric options.
|
|
53
|
+
* @memberof WidgetKeyMetricsComponent
|
|
54
|
+
*/
|
|
55
|
+
createMetricsMapFromResponse(metrics = {}) {
|
|
56
|
+
const keys = Object.keys(metrics);
|
|
57
|
+
const map = {};
|
|
58
|
+
|
|
59
|
+
for (let i = 0; i < keys.length; i++) {
|
|
60
|
+
const key = keys[i];
|
|
61
|
+
map[key] = this.createMetricOptionsHash(key, metrics[key]);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return map;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Creates a hash of options for a given metric. Depending on the metric key, it assigns a specific format.
|
|
69
|
+
*
|
|
70
|
+
* @param {string} key - The key representing the specific metric.
|
|
71
|
+
* @param {number} value - The value of the metric.
|
|
72
|
+
* @returns {Object} An object containing the metric value and its format.
|
|
73
|
+
* @memberof WidgetKeyMetricsComponent
|
|
74
|
+
*/
|
|
75
|
+
createMetricOptionsHash(key, value) {
|
|
76
|
+
const options = { value };
|
|
77
|
+
|
|
78
|
+
if (key === 'earnings') {
|
|
79
|
+
options.format = 'money';
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (key === 'fuel_costs') {
|
|
83
|
+
options.format = 'money';
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (key === 'total_distance_traveled') {
|
|
87
|
+
options.format = 'meters';
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return options;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -327,7 +327,7 @@ export default class ManagementContactsIndexController extends BaseController {
|
|
|
327
327
|
* @void
|
|
328
328
|
*/
|
|
329
329
|
@action viewContact(contact) {
|
|
330
|
-
return this.transitionToRoute('management.
|
|
330
|
+
return this.transitionToRoute('management.contacts.index.details', contact);
|
|
331
331
|
}
|
|
332
332
|
|
|
333
333
|
/**
|
|
@@ -336,7 +336,7 @@ export default class ManagementContactsIndexController extends BaseController {
|
|
|
336
336
|
* @void
|
|
337
337
|
*/
|
|
338
338
|
@action createContact() {
|
|
339
|
-
return this.transitionToRoute('management.
|
|
339
|
+
return this.transitionToRoute('management.contacts.index.new');
|
|
340
340
|
}
|
|
341
341
|
|
|
342
342
|
/**
|
|
@@ -346,7 +346,7 @@ export default class ManagementContactsIndexController extends BaseController {
|
|
|
346
346
|
* @void
|
|
347
347
|
*/
|
|
348
348
|
@action editContact(contact) {
|
|
349
|
-
return this.transitionToRoute('management.
|
|
349
|
+
return this.transitionToRoute('management.contacts.index.edit', contact);
|
|
350
350
|
}
|
|
351
351
|
|
|
352
352
|
/**
|
|
@@ -949,7 +949,7 @@ export default class OperationsOrdersIndexController extends BaseController {
|
|
|
949
949
|
* @memberof OperationsOrdersIndexController
|
|
950
950
|
*/
|
|
951
951
|
@action fetchActiveOrdersCount() {
|
|
952
|
-
this.fetch.get('fleet-ops/metrics
|
|
952
|
+
this.fetch.get('fleet-ops/metrics', { discover: ['orders_in_progress'] }).then((response) => {
|
|
953
953
|
this.activeOrdersCount = response.orders_in_progress;
|
|
954
954
|
});
|
|
955
955
|
}
|
package/addon/engine.js
CHANGED
|
@@ -5,6 +5,7 @@ import config from './config/environment';
|
|
|
5
5
|
import services from '@fleetbase/ember-core/exports/services';
|
|
6
6
|
import AdminVisibilityControlsComponent from './components/admin/visibility-controls';
|
|
7
7
|
import NavigatorAppConfigComponent from './components/admin/navigator-app';
|
|
8
|
+
import FleetOpsKeyMetricsWidget from './components/widget/fleet-ops-key-metrics';
|
|
8
9
|
|
|
9
10
|
const { modulePrefix } = config;
|
|
10
11
|
const externalRoutes = ['console', 'extensions'];
|
|
@@ -40,20 +41,25 @@ export default class FleetOpsEngine extends Engine {
|
|
|
40
41
|
}
|
|
41
42
|
);
|
|
42
43
|
|
|
43
|
-
//
|
|
44
|
-
|
|
44
|
+
// widgets for registry
|
|
45
|
+
const KeyMetricsWidgetDefinition = {
|
|
46
|
+
widgetId: 'fleet-ops-key-metrics-widget',
|
|
47
|
+
name: 'Fleet-Ops Metrics',
|
|
48
|
+
description: 'Key metrics from Fleet-Ops.',
|
|
49
|
+
icon: 'truck',
|
|
50
|
+
component: FleetOpsKeyMetricsWidget,
|
|
51
|
+
grid_options: { w: 12, h: 12, minW: 8, minH: 12 },
|
|
52
|
+
options: {
|
|
53
|
+
title: 'Fleet-Ops Metrics',
|
|
54
|
+
},
|
|
55
|
+
};
|
|
45
56
|
|
|
46
|
-
// register
|
|
47
|
-
universe.
|
|
57
|
+
// register widgets
|
|
58
|
+
universe.registerDefaultDashboardWidgets([KeyMetricsWidgetDefinition]);
|
|
59
|
+
universe.registerDashboardWidgets([KeyMetricsWidgetDefinition]);
|
|
48
60
|
|
|
49
|
-
//
|
|
50
|
-
universe.
|
|
51
|
-
|
|
52
|
-
// register vehicle context menu
|
|
53
|
-
universe.createRegistry('contextmenu:vehicle');
|
|
54
|
-
|
|
55
|
-
// register driver context menu
|
|
56
|
-
universe.createRegistry('contextmenu:driver');
|
|
61
|
+
// create all registries necessary
|
|
62
|
+
universe.createRegistries(['engine:fleet-ops', 'component:vehicle-panel', 'component:driver-panel', 'contextmenu:vehicle', 'contextmenu:driver']);
|
|
57
63
|
};
|
|
58
64
|
}
|
|
59
65
|
|
|
@@ -51,12 +51,12 @@ body[data-theme='dark'] .scheduler-left-sidebar {
|
|
|
51
51
|
--fleet-summary-nav-item-base-padding: 1.5rem;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
.next-sidebar-panel-container.next-driver-listing > .next-sidebar-panel > .next-content-panel > .next-sidebar-panel-toggle,
|
|
54
|
+
.next-sidebar .next-sidebar-panel-container.next-driver-listing > .next-sidebar-panel > .next-content-panel > .next-sidebar-panel-toggle,
|
|
55
55
|
.next-sidebar .next-sidebar-panel-container.next-fleet-summary > .next-sidebar-panel > .next-content-panel > .next-sidebar-panel-toggle {
|
|
56
56
|
padding-left: 2rem;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
.next-sidebar-panel-container.next-driver-listing > .next-sidebar-panel > .next-content-panel > .next-content-panel-body .next-nav-item,
|
|
59
|
+
.next-sidebar .next-sidebar-panel-container.next-driver-listing > .next-sidebar-panel > .next-content-panel > .next-content-panel-body .next-nav-item,
|
|
60
60
|
.next-sidebar .next-sidebar-panel-container.next-driver-listing > .next-sidebar-panel > .next-content-panel > .next-sidebar-panel-body .next-nav-item.driver-nav-item {
|
|
61
61
|
padding-left: 3.5rem;
|
|
62
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/components/widget/
|
|
1
|
+
export { default } from '@fleetbase/fleetops-engine/components/widget/fleet-ops-key-metrics';
|
package/composer.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fleetbase/fleetops-api",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"description": "Fleet & Transport Management Extension for Fleetbase",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fleetbase-extension",
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
}
|
|
22
22
|
],
|
|
23
23
|
"require": {
|
|
24
|
-
"php": "^
|
|
25
|
-
"fleetbase/core-api": "^1.
|
|
24
|
+
"php": "^8.0",
|
|
25
|
+
"fleetbase/core-api": "^1.4.0",
|
|
26
26
|
"barryvdh/laravel-dompdf": "^2.0",
|
|
27
27
|
"brick/geo": "0.7.2",
|
|
28
28
|
"cknow/laravel-money": "^7.1",
|
|
29
29
|
"geocoder-php/google-maps-places-provider": "^1.4",
|
|
30
30
|
"giggsey/libphonenumber-for-php": "^8.13",
|
|
31
31
|
"league/geotools": "^1.1.0",
|
|
32
|
-
"milon/barcode": "^
|
|
32
|
+
"milon/barcode": "^10.0",
|
|
33
33
|
"php-http/guzzle7-adapter": "^1.0",
|
|
34
34
|
"psr/http-factory-implementation": "*",
|
|
35
35
|
"toin0u/geocoder-laravel": "^4.4",
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
},
|
|
38
38
|
"require-dev": {
|
|
39
39
|
"friendsofphp/php-cs-fixer": "^3.34.1",
|
|
40
|
-
"nunomaduro/collision": "^
|
|
41
|
-
"pestphp/pest": "^
|
|
40
|
+
"nunomaduro/collision": "^7.0",
|
|
41
|
+
"pestphp/pest": "^2.33.2",
|
|
42
42
|
"phpstan/phpstan": "^1.10.38",
|
|
43
43
|
"symfony/var-dumper": "^5.4.29"
|
|
44
44
|
},
|
package/extension.json
CHANGED
package/package.json
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fleetbase/fleetops-engine",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"description": "Fleet & Transport Management Extension for Fleetbase",
|
|
5
5
|
"fleetbase": {
|
|
6
|
-
"route": "fleet-ops"
|
|
7
|
-
"dashboard": "int/v1/fleet-ops/dashboard"
|
|
6
|
+
"route": "fleet-ops"
|
|
8
7
|
},
|
|
9
8
|
"keywords": [
|
|
10
9
|
"fleetbase-extension",
|
|
@@ -43,7 +42,7 @@
|
|
|
43
42
|
},
|
|
44
43
|
"dependencies": {
|
|
45
44
|
"@babel/core": "^7.23.2",
|
|
46
|
-
"@fleetbase/ember-core": "^0.2.
|
|
45
|
+
"@fleetbase/ember-core": "^0.2.4",
|
|
47
46
|
"@fleetbase/ember-ui": "^0.2.10",
|
|
48
47
|
"@fleetbase/fleetops-data": "^0.1.8",
|
|
49
48
|
"@fleetbase/leaflet-routing-machine": "^3.2.16",
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
namespace Fleetbase\FleetOps\Casts;
|
|
4
4
|
|
|
5
5
|
use Fleetbase\FleetOps\Support\Utils;
|
|
6
|
-
use
|
|
7
|
-
use
|
|
8
|
-
use
|
|
6
|
+
use Fleetbase\LaravelMysqlSpatial\Eloquent\SpatialExpression;
|
|
7
|
+
use Fleetbase\LaravelMysqlSpatial\Types\GeometryInterface;
|
|
8
|
+
use Fleetbase\LaravelMysqlSpatial\Types\MultiPolygon as SpatialMultiPolygon;
|
|
9
9
|
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
|
|
10
10
|
|
|
11
11
|
class MultiPolygon implements CastsAttributes
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
namespace Fleetbase\FleetOps\Casts;
|
|
4
4
|
|
|
5
5
|
use Fleetbase\FleetOps\Support\Utils;
|
|
6
|
-
use
|
|
7
|
-
use
|
|
6
|
+
use Fleetbase\LaravelMysqlSpatial\Eloquent\SpatialExpression;
|
|
7
|
+
use Fleetbase\LaravelMysqlSpatial\Types\GeometryInterface;
|
|
8
8
|
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
|
|
9
9
|
use Illuminate\Database\Query\Expression;
|
|
10
10
|
|
|
@@ -109,9 +109,13 @@ class Point implements CastsAttributes
|
|
|
109
109
|
*
|
|
110
110
|
* @return bool
|
|
111
111
|
*/
|
|
112
|
-
public static function isRawPoint($data)
|
|
112
|
+
public static function isRawPoint($data): bool
|
|
113
113
|
{
|
|
114
|
-
|
|
114
|
+
if (is_string($data)) {
|
|
115
|
+
return preg_match('/[\x00-\x1f]/', $data, $matches) === 1;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return false;
|
|
115
119
|
}
|
|
116
120
|
|
|
117
121
|
/**
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
namespace Fleetbase\FleetOps\Casts;
|
|
4
4
|
|
|
5
5
|
use Fleetbase\FleetOps\Support\Utils;
|
|
6
|
-
use
|
|
7
|
-
use
|
|
8
|
-
use
|
|
6
|
+
use Fleetbase\LaravelMysqlSpatial\Eloquent\SpatialExpression;
|
|
7
|
+
use Fleetbase\LaravelMysqlSpatial\Types\GeometryInterface;
|
|
8
|
+
use Fleetbase\LaravelMysqlSpatial\Types\Polygon as SpatialPolygon;
|
|
9
9
|
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
|
|
10
10
|
|
|
11
11
|
class Polygon implements CastsAttributes
|
|
@@ -5,7 +5,7 @@ namespace Fleetbase\FleetOps\Console\Commands;
|
|
|
5
5
|
use Fleetbase\FleetOps\Models\Driver;
|
|
6
6
|
use Fleetbase\FleetOps\Models\Order;
|
|
7
7
|
use Fleetbase\FleetOps\Support\Utils;
|
|
8
|
-
use
|
|
8
|
+
use Fleetbase\LaravelMysqlSpatial\Types\Point;
|
|
9
9
|
use Illuminate\Console\Command;
|
|
10
10
|
use Illuminate\Support\Carbon;
|
|
11
11
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
namespace Fleetbase\FleetOps\Events;
|
|
4
4
|
|
|
5
5
|
use Fleetbase\FleetOps\Models\Driver;
|
|
6
|
-
use
|
|
6
|
+
use Fleetbase\LaravelMysqlSpatial\Types\Point;
|
|
7
7
|
use Illuminate\Broadcasting\Channel;
|
|
8
8
|
use Illuminate\Broadcasting\InteractsWithSockets;
|
|
9
9
|
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
|
@@ -17,6 +17,7 @@ use Fleetbase\FleetOps\Support\Utils;
|
|
|
17
17
|
use Fleetbase\Http\Controllers\Controller;
|
|
18
18
|
use Fleetbase\Http\Requests\SwitchOrganizationRequest;
|
|
19
19
|
use Fleetbase\Http\Resources\Organization;
|
|
20
|
+
use Fleetbase\LaravelMysqlSpatial\Types\Point;
|
|
20
21
|
use Fleetbase\Models\Company;
|
|
21
22
|
use Fleetbase\Models\CompanyUser;
|
|
22
23
|
use Fleetbase\Models\User;
|
|
@@ -24,7 +25,6 @@ use Fleetbase\Models\UserDevice;
|
|
|
24
25
|
use Fleetbase\Models\VerificationCode;
|
|
25
26
|
use Fleetbase\Support\Auth;
|
|
26
27
|
use Geocoder\Laravel\Facades\Geocoder;
|
|
27
|
-
use Grimzy\LaravelMysqlSpatial\Types\Point;
|
|
28
28
|
use Illuminate\Http\Request;
|
|
29
29
|
use Illuminate\Support\Arr;
|
|
30
30
|
use Illuminate\Support\Carbon;
|
|
@@ -425,6 +425,7 @@ class DriverController extends Controller
|
|
|
425
425
|
if (app()->bound('sentry')) {
|
|
426
426
|
app('sentry')->captureException($e);
|
|
427
427
|
}
|
|
428
|
+
|
|
428
429
|
return response()->apiError('Unable to send SMS Verification code.');
|
|
429
430
|
}
|
|
430
431
|
|
|
@@ -808,7 +808,7 @@ class OrderController extends Controller
|
|
|
808
808
|
$driver->current_job_uuid = $order->uuid;
|
|
809
809
|
$driver->save();
|
|
810
810
|
|
|
811
|
-
/** @var \
|
|
811
|
+
/** @var \Fleetbase\LaravelMysqlSpatial\Types\Point */
|
|
812
812
|
$location = $order->getLastLocation();
|
|
813
813
|
|
|
814
814
|
// set first destination for payload
|
|
@@ -890,7 +890,7 @@ class OrderController extends Controller
|
|
|
890
890
|
return new OrderResource($order);
|
|
891
891
|
}
|
|
892
892
|
|
|
893
|
-
/** @var \
|
|
893
|
+
/** @var \Fleetbase\LaravelMysqlSpatial\Types\Point */
|
|
894
894
|
$location = $order->getLastLocation();
|
|
895
895
|
|
|
896
896
|
// if is multi drop order and no current destination set it
|
|
@@ -1023,7 +1023,7 @@ class OrderController extends Controller
|
|
|
1023
1023
|
|
|
1024
1024
|
$order->notifyCompleted();
|
|
1025
1025
|
|
|
1026
|
-
/** @var \
|
|
1026
|
+
/** @var \Fleetbase\LaravelMysqlSpatial\Types\Point */
|
|
1027
1027
|
$location = $order->getLastLocation();
|
|
1028
1028
|
|
|
1029
1029
|
$order->setStatus($activity['code']);
|
|
@@ -9,10 +9,10 @@ use Fleetbase\FleetOps\Http\Resources\v1\Place as PlaceResource;
|
|
|
9
9
|
use Fleetbase\FleetOps\Models\Place;
|
|
10
10
|
use Fleetbase\FleetOps\Support\Utils;
|
|
11
11
|
use Fleetbase\Http\Controllers\Controller;
|
|
12
|
+
use Fleetbase\LaravelMysqlSpatial\Types\Point;
|
|
12
13
|
use Geocoder\Laravel\Facades\Geocoder;
|
|
13
14
|
use Geocoder\Provider\GoogleMapsPlaces\GoogleMapsPlaces;
|
|
14
15
|
use Geocoder\Query\GeocodeQuery;
|
|
15
|
-
use Grimzy\LaravelMysqlSpatial\Types\Point;
|
|
16
16
|
use Http\Adapter\Guzzle7\Client;
|
|
17
17
|
use Illuminate\Http\Request;
|
|
18
18
|
use Illuminate\Support\Facades\DB;
|
|
@@ -9,7 +9,7 @@ use Fleetbase\FleetOps\Http\Resources\v1\ServiceArea as ServiceAreaResource;
|
|
|
9
9
|
use Fleetbase\FleetOps\Models\ServiceArea;
|
|
10
10
|
use Fleetbase\FleetOps\Support\Utils;
|
|
11
11
|
use Fleetbase\Http\Controllers\Controller;
|
|
12
|
-
use
|
|
12
|
+
use Fleetbase\LaravelMysqlSpatial\Types\Point;
|
|
13
13
|
use Illuminate\Http\Request;
|
|
14
14
|
|
|
15
15
|
class ServiceAreaController extends Controller
|
|
@@ -10,7 +10,7 @@ use Fleetbase\FleetOps\Models\Order;
|
|
|
10
10
|
use Fleetbase\FleetOps\Models\TrackingStatus;
|
|
11
11
|
use Fleetbase\FleetOps\Support\Utils;
|
|
12
12
|
use Fleetbase\Http\Controllers\Controller;
|
|
13
|
-
use
|
|
13
|
+
use Fleetbase\LaravelMysqlSpatial\Types\Point;
|
|
14
14
|
use Illuminate\Http\Request;
|
|
15
15
|
|
|
16
16
|
class TrackingStatusController extends Controller
|
|
@@ -9,7 +9,7 @@ use Fleetbase\FleetOps\Http\Resources\v1\Zone as ZoneResource;
|
|
|
9
9
|
use Fleetbase\FleetOps\Models\Zone;
|
|
10
10
|
use Fleetbase\FleetOps\Support\Utils;
|
|
11
11
|
use Fleetbase\Http\Controllers\Controller;
|
|
12
|
-
use
|
|
12
|
+
use Fleetbase\LaravelMysqlSpatial\Types\Point;
|
|
13
13
|
use Illuminate\Http\Request;
|
|
14
14
|
|
|
15
15
|
class ZoneController extends Controller
|
|
@@ -13,13 +13,13 @@ use Fleetbase\FleetOps\Models\Driver;
|
|
|
13
13
|
use Fleetbase\FleetOps\Models\Order;
|
|
14
14
|
use Fleetbase\FleetOps\Support\Utils;
|
|
15
15
|
use Fleetbase\Http\Requests\ExportRequest;
|
|
16
|
+
use Fleetbase\LaravelMysqlSpatial\Types\Point;
|
|
16
17
|
use Fleetbase\Models\CompanyUser;
|
|
17
18
|
use Fleetbase\Models\Invite;
|
|
18
19
|
use Fleetbase\Models\User;
|
|
19
20
|
use Fleetbase\Models\VerificationCode;
|
|
20
21
|
use Fleetbase\Notifications\UserInvited;
|
|
21
22
|
use Fleetbase\Support\Auth;
|
|
22
|
-
use Grimzy\LaravelMysqlSpatial\Types\Point;
|
|
23
23
|
use Illuminate\Http\Request;
|
|
24
24
|
use Illuminate\Support\Facades\DB;
|
|
25
25
|
use Illuminate\Support\Facades\Validator;
|