@fleetbase/fleetops-engine 0.4.4 → 0.4.5
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/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 +85 -0
- 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 +2 -2
- 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
|
@@ -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,85 @@
|
|
|
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
|
+
* Inject the fetch service.
|
|
9
|
+
*
|
|
10
|
+
* @memberof WidgetKeyMetricsComponent
|
|
11
|
+
*/
|
|
12
|
+
@service fetch;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Property for loading metrics to.
|
|
16
|
+
*
|
|
17
|
+
* @memberof WidgetKeyMetricsComponent
|
|
18
|
+
*/
|
|
19
|
+
@tracked metrics = {};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Creates an instance of WidgetKeyMetricsComponent.
|
|
23
|
+
* @memberof WidgetKeyMetricsComponent
|
|
24
|
+
*/
|
|
25
|
+
constructor() {
|
|
26
|
+
super(...arguments);
|
|
27
|
+
this.getDashboardMetrics.perform();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Task which fetches key metrics.
|
|
32
|
+
*
|
|
33
|
+
* @memberof WidgetKeyMetricsComponent
|
|
34
|
+
*/
|
|
35
|
+
@task *getDashboardMetrics() {
|
|
36
|
+
this.metrics = yield this.fetch.get('fleet-ops/metrics').then((response) => {
|
|
37
|
+
return this.createMetricsMapFromResponse(response);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Creates a map of metrics from the response data. This method organizes the metrics data into a more usable format.
|
|
43
|
+
*
|
|
44
|
+
* @param {Object} metrics - The metrics object fetched from the server.
|
|
45
|
+
* @returns {Object} A map of metrics where each key is a metric name and its value is an object of metric options.
|
|
46
|
+
* @memberof WidgetKeyMetricsComponent
|
|
47
|
+
*/
|
|
48
|
+
createMetricsMapFromResponse(metrics = {}) {
|
|
49
|
+
const keys = Object.keys(metrics);
|
|
50
|
+
const map = {};
|
|
51
|
+
|
|
52
|
+
for (let i = 0; i < keys.length; i++) {
|
|
53
|
+
const key = keys[i];
|
|
54
|
+
map[key] = this.createMetricOptionsHash(key, metrics[key]);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return map;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Creates a hash of options for a given metric. Depending on the metric key, it assigns a specific format.
|
|
62
|
+
*
|
|
63
|
+
* @param {string} key - The key representing the specific metric.
|
|
64
|
+
* @param {number} value - The value of the metric.
|
|
65
|
+
* @returns {Object} An object containing the metric value and its format.
|
|
66
|
+
* @memberof WidgetKeyMetricsComponent
|
|
67
|
+
*/
|
|
68
|
+
createMetricOptionsHash(key, value) {
|
|
69
|
+
const options = { value };
|
|
70
|
+
|
|
71
|
+
if (key === 'earnings') {
|
|
72
|
+
options.format = 'money';
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (key === 'fuel_costs') {
|
|
76
|
+
options.format = 'money';
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (key === 'total_distance_traveled') {
|
|
80
|
+
options.format = 'meters';
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return options;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -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
|
+
did: 'fleetops-metrics',
|
|
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.5",
|
|
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.5",
|
|
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.3",
|
|
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
|
|
|
@@ -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;
|
|
@@ -22,11 +22,11 @@ class GeocoderController extends Controller
|
|
|
22
22
|
$query = $request->or(['coordinates', 'query']);
|
|
23
23
|
$single = $request->boolean('single');
|
|
24
24
|
|
|
25
|
-
/** @var \
|
|
25
|
+
/** @var \Fleetbase\LaravelMysqlSpatial\Types\Point $coordinates */
|
|
26
26
|
$coordinates = Utils::getPointFromCoordinates($query);
|
|
27
27
|
|
|
28
28
|
// if not a valid point error
|
|
29
|
-
if (!$coordinates instanceof \
|
|
29
|
+
if (!$coordinates instanceof \Fleetbase\LaravelMysqlSpatial\Types\Point) {
|
|
30
30
|
return response()->error('Invalid coordinates provided.');
|
|
31
31
|
}
|
|
32
32
|
|