@fleetbase/fleetops-engine 0.4.18 → 0.4.20
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/activity-event-selector.js +1 -1
- package/addon/components/activity-form-panel.hbs +19 -0
- package/addon/components/activity-form-panel.js +20 -2
- package/addon/components/activity-logic-builder.js +1 -1
- package/addon/components/admin/navigator-app.hbs +77 -1
- package/addon/components/admin/navigator-app.js +65 -12
- package/addon/components/contact-form-panel.js +2 -2
- package/addon/components/contact-panel.js +2 -2
- package/addon/components/custom-field-form-panel.js +2 -2
- package/addon/components/driver-form-panel.js +2 -2
- package/addon/components/driver-panel.js +2 -2
- package/addon/components/edit-order-route-panel.js +2 -2
- package/addon/components/fleet-form-panel.js +2 -2
- package/addon/components/fleet-panel/driver-listing.js +1 -1
- package/addon/components/fleet-panel/vehicle-listing.js +1 -1
- package/addon/components/fleet-panel.js +2 -2
- package/addon/components/fuel-report-form-panel.js +2 -2
- package/addon/components/fuel-report-panel.js +2 -2
- package/addon/components/issue-form-panel.js +2 -2
- package/addon/components/issue-panel.js +2 -2
- package/addon/components/live-map-drawer.js +2 -2
- package/addon/components/live-map.js +14 -7
- package/addon/components/order-config-manager/activity-flow.js +1 -1
- package/addon/components/order-config-manager/custom-fields.js +1 -1
- package/addon/components/order-config-manager/entities.js +1 -1
- package/addon/components/order-config-manager-overlay.js +1 -1
- package/addon/components/order-config-manager.js +2 -2
- package/addon/components/place-form-panel.js +2 -2
- package/addon/components/place-panel.js +2 -2
- package/addon/components/vehicle-form-panel.js +2 -2
- package/addon/components/vehicle-panel.js +2 -2
- package/addon/components/vendor-form-panel/create-form.js +1 -1
- package/addon/components/vendor-form-panel.js +2 -2
- package/addon/components/vendor-panel.js +2 -2
- package/addon/controllers/operations/orders/index/new.js +5 -0
- package/addon/controllers/operations/service-rates/index/new.js +23 -2
- package/addon/routes/operations/service-rates/index/edit.js +14 -5
- package/addon/routes/operations/service-rates/index/new.js +2 -6
- package/addon/services/location.js +54 -44
- package/addon/templates/operations/service-rates/index/new.hbs +10 -1
- package/composer.json +2 -2
- package/extension.json +1 -1
- package/package.json +3 -3
- package/server/config/fleetops.php +127 -4
- package/server/migrations/2024_03_13_061249_add_order_config_uuid_column_to_service_rates_table.php +28 -0
- package/server/src/Console/Commands/FixLegacyOrderConfigs.php +17 -11
- package/server/src/Http/Controllers/Api/v1/DriverController.php +0 -1
- package/server/src/Http/Controllers/Api/v1/OrderController.php +49 -2
- package/server/src/Http/Controllers/Api/v1/ServiceQuoteController.php +10 -5
- package/server/src/Http/Controllers/Internal/v1/ServiceRateController.php +3 -0
- package/server/src/Http/Controllers/Internal/v1/SettingController.php +20 -0
- package/server/src/Http/Filter/ContactFilter.php +5 -0
- package/server/src/Http/Filter/DriverFilter.php +5 -0
- package/server/src/Http/Filter/EntityFilter.php +18 -0
- package/server/src/Http/Filter/FleetFilter.php +5 -0
- package/server/src/Http/Filter/FuelReportFilter.php +5 -0
- package/server/src/Http/Filter/IssueFilter.php +5 -0
- package/server/src/Http/Filter/OrderConfigFilter.php +5 -0
- package/server/src/Http/Filter/OrderFilter.php +5 -0
- package/server/src/Http/Filter/PayloadFilter.php +18 -0
- package/server/src/Http/Filter/PlaceFilter.php +5 -0
- package/server/src/Http/Filter/PurchaseRateFilter.php +18 -0
- package/server/src/Http/Filter/ServiceAreaFilter.php +5 -0
- package/server/src/Http/Filter/ServiceQuoteFilter.php +5 -0
- package/server/src/Http/Filter/ServiceRateFilter.php +5 -0
- package/server/src/Http/Filter/TrackingNumberFilter.php +18 -0
- package/server/src/Http/Filter/TrackingStatusFilter.php +5 -0
- package/server/src/Http/Filter/VehicleFilter.php +5 -0
- package/server/src/Http/Filter/VendorFilter.php +5 -0
- package/server/src/Http/Filter/ZoneFilter.php +5 -0
- package/server/src/Http/Requests/CreateOrderRequest.php +32 -13
- package/server/src/Http/Requests/Internal/CreateOrderRequest.php +41 -10
- package/server/src/Http/Resources/v1/Order.php +1 -0
- package/server/src/Http/Resources/v1/ServiceRate.php +34 -31
- package/server/src/Models/Driver.php +1 -1
- package/server/src/Models/ServiceRate.php +9 -0
- package/server/src/Providers/FleetOpsServiceProvider.php +3 -3
- package/server/src/Support/Utils.php +40 -14
- package/server/src/routes.php +3 -0
- package/translations/en-us.yaml +9 -1
- package/addon/utils/apply-context-component-arguments.js +0 -33
- package/addon/utils/context-component-callback.js +0 -16
- package/app/utils/apply-context-component-arguments.js +0 -1
- package/app/utils/context-component-callback.js +0 -1
|
@@ -633,13 +633,26 @@ class Utils extends FleetbaseUtils
|
|
|
633
633
|
]
|
|
634
634
|
);
|
|
635
635
|
} else {
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
636
|
+
try {
|
|
637
|
+
$point = static::getPointFromMixed($origin);
|
|
638
|
+
$origin = static::createObject(
|
|
639
|
+
[
|
|
640
|
+
'latitude' => $point->getLat(),
|
|
641
|
+
'longitude' => $point->getLng(),
|
|
642
|
+
]
|
|
643
|
+
);
|
|
644
|
+
} catch (\Throwable $e) {
|
|
645
|
+
if (app()->bound('sentry')) {
|
|
646
|
+
app('sentry')->captureException($e);
|
|
647
|
+
}
|
|
648
|
+
// create dummy $origin
|
|
649
|
+
$origin = static::createObject(
|
|
650
|
+
[
|
|
651
|
+
'latitude' => 0,
|
|
652
|
+
'longitude' => 0,
|
|
653
|
+
]
|
|
654
|
+
);
|
|
655
|
+
}
|
|
643
656
|
}
|
|
644
657
|
|
|
645
658
|
if ($destination instanceof \Fleetbase\FleetOps\Models\Place) {
|
|
@@ -650,13 +663,26 @@ class Utils extends FleetbaseUtils
|
|
|
650
663
|
]
|
|
651
664
|
);
|
|
652
665
|
} else {
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
666
|
+
try {
|
|
667
|
+
$point = static::getPointFromMixed($destination);
|
|
668
|
+
$destination = static::createObject(
|
|
669
|
+
[
|
|
670
|
+
'latitude' => $point->getLat(),
|
|
671
|
+
'longitude' => $point->getLng(),
|
|
672
|
+
]
|
|
673
|
+
);
|
|
674
|
+
} catch (\Throwable $e) {
|
|
675
|
+
if (app()->bound('sentry')) {
|
|
676
|
+
app('sentry')->captureException($e);
|
|
677
|
+
}
|
|
678
|
+
// create dummy $destination
|
|
679
|
+
$destination = static::createObject(
|
|
680
|
+
[
|
|
681
|
+
'latitude' => 0,
|
|
682
|
+
'longitude' => 0,
|
|
683
|
+
]
|
|
684
|
+
);
|
|
685
|
+
}
|
|
660
686
|
}
|
|
661
687
|
|
|
662
688
|
$cacheKey = $origin->latitude . ':' . $origin->longitude . ':' . $destination->latitude . ':' . $destination->longitude;
|
package/server/src/routes.php
CHANGED
|
@@ -84,6 +84,7 @@ Route::prefix(config('fleetops.api.routing.prefix', null))->namespace('Fleetbase
|
|
|
84
84
|
$router->post('{id}/capture-photo/{subjectId?}', 'OrderController@capturePhoto');
|
|
85
85
|
$router->put('{id}', 'OrderController@update');
|
|
86
86
|
$router->delete('{id}', 'OrderController@delete');
|
|
87
|
+
$router->get('{id}/editable-entity-fields', 'OrderController@getEditableEntityFields');
|
|
87
88
|
});
|
|
88
89
|
// entities routes
|
|
89
90
|
$router->group(['prefix' => 'entities'], function () use ($router) {
|
|
@@ -435,6 +436,8 @@ Route::prefix(config('fleetops.api.routing.prefix', null))->namespace('Fleetbase
|
|
|
435
436
|
function ($router) {
|
|
436
437
|
$router->get('visibility', 'SettingController@getVisibilitySettings');
|
|
437
438
|
$router->post('visibility', 'SettingController@saveVisibilitySettings');
|
|
439
|
+
$router->get('entity-editing-settings', 'SettingController@getEntityEditingSettings');
|
|
440
|
+
$router->post('entity-editing-settings', 'SettingController@saveEntityEditingSettings');
|
|
438
441
|
}
|
|
439
442
|
);
|
|
440
443
|
$router->group(
|
package/translations/en-us.yaml
CHANGED
|
@@ -139,6 +139,11 @@ fleet-ops:
|
|
|
139
139
|
code: Code
|
|
140
140
|
status: Status
|
|
141
141
|
details: Details
|
|
142
|
+
proof-of-delivery: Proof of Delivery
|
|
143
|
+
require-pod: Requires Proof of Delivery
|
|
144
|
+
require-pod-help-text: This activity requires a proof to be created before it can be applied to the order.
|
|
145
|
+
select-pod-method: Proof of Delivery Method
|
|
146
|
+
pod-method-placeholder: Select Proof of Delivery Method
|
|
142
147
|
completes-order: Completes Order
|
|
143
148
|
complete: Complete
|
|
144
149
|
key-help: "Enter a key used for programmatic decision-making. This key can represent one or several activities with the same identifier. Note: This key is not required to be unique."
|
|
@@ -231,6 +236,9 @@ fleet-ops:
|
|
|
231
236
|
title: Navigator App
|
|
232
237
|
name: Instance Linking URL
|
|
233
238
|
message: Use this URL to link the official Navigator app to this {companyName} instance. Opening this URL on a mobile device will open the Navigator app and update it's configuration and branding.
|
|
239
|
+
settings: Entity Settings
|
|
240
|
+
select-input: Allow driver to update entity details
|
|
241
|
+
|
|
234
242
|
visibility-controls:
|
|
235
243
|
title: Visibility Controls
|
|
236
244
|
message: Visibility controls allow you to disable sections of Fleet-Ops. Toggle the checkbox to enable or disable sections to hide in Fleet-ops.
|
|
@@ -1406,7 +1414,7 @@ fleet-ops:
|
|
|
1406
1414
|
service-name: Service Name
|
|
1407
1415
|
service-name-help-text: Display name for this service.
|
|
1408
1416
|
service-order-label: Service Order Type
|
|
1409
|
-
service-order-help-text:
|
|
1417
|
+
service-order-help-text: Select an order configuration to which this service rate will be exclusively applied. This ensures that only orders created with the selected order configuration can utilize this specific service rate.
|
|
1410
1418
|
service-order-placeholder: Select order type to restrict service to
|
|
1411
1419
|
base-fee-label: Base Fee
|
|
1412
1420
|
base-fee-help-text: Set a base fee which represents the minimum cost for this serice.
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import getModelName from '@fleetbase/ember-core/utils/get-model-name';
|
|
2
|
-
import isModel from '@fleetbase/ember-core/utils/is-model';
|
|
3
|
-
import { camelize } from '@ember/string';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Applies context and dynamic arguments to a given component.
|
|
7
|
-
*
|
|
8
|
-
* @param {Component} component - The component to which context and arguments will be applied.
|
|
9
|
-
*/
|
|
10
|
-
export default function applyContextComponentArguments(component) {
|
|
11
|
-
const { context, dynamicArgs = {} } = component.args;
|
|
12
|
-
|
|
13
|
-
// Apply context model if available
|
|
14
|
-
if (context && isModel(context)) {
|
|
15
|
-
const contextModelName = camelize(getModelName(context));
|
|
16
|
-
if (contextModelName) {
|
|
17
|
-
component[contextModelName] = context;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// Execute any apply callback present in dynamic arguments
|
|
22
|
-
const { applyCallback } = dynamicArgs;
|
|
23
|
-
if (typeof applyCallback === 'function') {
|
|
24
|
-
applyCallback(component);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// Apply other dynamic arguments to the component
|
|
28
|
-
for (const [key, value] of Object.entries(dynamicArgs)) {
|
|
29
|
-
if (key !== 'applyCallback') {
|
|
30
|
-
component[key] = value;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export default function contextComponentCallback(component, name, ...params) {
|
|
2
|
-
let callbackInvoked = false;
|
|
3
|
-
|
|
4
|
-
if (typeof component.args[name] === 'function') {
|
|
5
|
-
component.args[name](...params);
|
|
6
|
-
callbackInvoked = true;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
// now do for context options
|
|
10
|
-
if (typeof component.args.options === 'object' && typeof component.args.options[name] === 'function') {
|
|
11
|
-
component.args.options[name](...params);
|
|
12
|
-
callbackInvoked = true;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
return callbackInvoked;
|
|
16
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/utils/apply-context-component-arguments';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default } from '@fleetbase/fleetops-engine/utils/context-component-callback';
|