@fleetbase/fleetops-engine 0.3.9 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/addon/components/admin/navigator-app.hbs +3 -3
- package/addon/components/admin/visibility-controls.hbs +4 -4
- package/addon/components/cell/driver-name.hbs +1 -1
- package/addon/components/contact-form-panel.hbs +15 -15
- package/addon/components/contact-form-panel.js +5 -1
- package/addon/components/contact-panel/details.hbs +7 -7
- package/addon/components/contact-panel.hbs +2 -2
- package/addon/components/display-place.hbs +2 -2
- package/addon/components/driver-card.hbs +1 -1
- package/addon/components/driver-form-panel.hbs +36 -29
- package/addon/components/driver-form-panel.js +5 -1
- package/addon/components/driver-panel/details.hbs +10 -10
- package/addon/components/driver-panel.hbs +5 -5
- package/addon/components/fleet-driver-listing.hbs +5 -5
- package/addon/components/fleet-form-panel.hbs +16 -16
- package/addon/components/fleet-form-panel.js +5 -1
- package/addon/components/fleet-panel/details.hbs +7 -7
- package/addon/components/fleet-panel/driver-listing.hbs +5 -5
- package/addon/components/fleet-panel/driver-listing.js +6 -0
- package/addon/components/fleet-panel/vehicle-listing.hbs +5 -5
- package/addon/components/fleet-panel/vehicle-listing.js +6 -0
- package/addon/components/fleet-vehicle-listing.hbs +5 -5
- package/addon/components/fuel-report-form-panel.hbs +16 -16
- package/addon/components/fuel-report-form-panel.js +5 -1
- package/addon/components/fuel-report-panel/details.hbs +11 -11
- package/addon/components/fuel-report-panel.hbs +3 -3
- package/addon/components/global-search.hbs +1 -1
- package/addon/components/horizontal-route.hbs +1 -1
- package/addon/components/integrated-order-details.hbs +13 -13
- package/addon/components/issue-form-panel.hbs +25 -25
- package/addon/components/issue-form-panel.js +6 -1
- package/addon/components/issue-panel/details.hbs +11 -11
- package/addon/components/issue-panel.hbs +3 -3
- package/addon/components/layout/fleet-ops-sidebar.hbs +2 -2
- package/addon/components/layout/fleet-ops-sidebar.js +28 -12
- package/addon/components/live-map-drawer/driver-listing.hbs +1 -1
- package/addon/components/live-map-drawer/driver-listing.js +16 -10
- package/addon/components/live-map-drawer/place-listing.hbs +1 -1
- package/addon/components/live-map-drawer/place-listing.js +12 -7
- package/addon/components/live-map-drawer/vehicle-listing.hbs +1 -1
- package/addon/components/live-map-drawer/vehicle-listing.js +15 -9
- package/addon/components/live-map.hbs +10 -92
- package/addon/components/live-map.js +29 -24
- package/addon/components/map-container/toolbar/visibility-control-panel.hbs +9 -9
- package/addon/components/map-container/toolbar/zones-panel.hbs +10 -10
- package/addon/components/map-container/toolbar.hbs +6 -6
- package/addon/components/modals/assign-driver.hbs +2 -2
- package/addon/components/modals/clone-config-form.hbs +2 -2
- package/addon/components/modals/contact-details.hbs +6 -6
- package/addon/components/modals/contact-form.hbs +11 -11
- package/addon/components/modals/driver-assign-order.hbs +2 -2
- package/addon/components/modals/driver-assign-vehicle.hbs +2 -2
- package/addon/components/modals/driver-assign-vendor.hbs +2 -2
- package/addon/components/modals/driver-details.hbs +14 -14
- package/addon/components/modals/driver-form.hbs +18 -18
- package/addon/components/modals/edit-meta-form.hbs +2 -2
- package/addon/components/modals/entity-form.hbs +16 -16
- package/addon/components/modals/entity-meta-field-prompt.hbs +1 -1
- package/addon/components/modals/fleet-details.hbs +6 -6
- package/addon/components/modals/fleet-form.hbs +8 -8
- package/addon/components/modals/fuel-report-details.hbs +9 -9
- package/addon/components/modals/fuel-report-form.hbs +8 -8
- package/addon/components/modals/group-details.hbs +4 -4
- package/addon/components/modals/group-form.hbs +6 -6
- package/addon/components/modals/install-prompt.hbs +2 -3
- package/addon/components/modals/issue-details.hbs +8 -8
- package/addon/components/modals/issue-from.hbs +21 -21
- package/addon/components/modals/map-field-form.hbs +2 -2
- package/addon/components/modals/map-field-group-form.hbs +1 -1
- package/addon/components/modals/map-layer-form.hbs +10 -10
- package/addon/components/modals/meta-field-form.hbs +2 -2
- package/addon/components/modals/meta-field-group-form.hbs +1 -1
- package/addon/components/modals/new-order-config.hbs +4 -4
- package/addon/components/modals/order-assign-driver.hbs +2 -2
- package/addon/components/modals/order-config-new-status.hbs +1 -1
- package/addon/components/modals/order-event.hbs +2 -2
- package/addon/components/modals/order-form.hbs +8 -8
- package/addon/components/modals/order-import.hbs +8 -8
- package/addon/components/modals/order-label.hbs +1 -1
- package/addon/components/modals/order-new-activity.hbs +10 -10
- package/addon/components/modals/order-route-form.hbs +17 -17
- package/addon/components/modals/place-assign-vendor.hbs +2 -2
- package/addon/components/modals/place-details.hbs +13 -13
- package/addon/components/modals/place-form.hbs +15 -15
- package/addon/components/modals/policy-form.hbs +5 -5
- package/addon/components/modals/role-form.hbs +3 -3
- package/addon/components/modals/select-payment-method.hbs +1 -1
- package/addon/components/modals/service-area-form.hbs +8 -8
- package/addon/components/modals/set-password.hbs +3 -3
- package/addon/components/modals/uninstall-prompt.hbs +2 -3
- package/addon/components/modals/user-form.hbs +9 -9
- package/addon/components/modals/vehicle-details.hbs +41 -41
- package/addon/components/modals/vehicle-form.hbs +73 -73
- package/addon/components/modals/vendor-details.hbs +10 -10
- package/addon/components/modals/vendor-form.hbs +36 -36
- package/addon/components/modals/view-service-area.hbs +1 -1
- package/addon/components/modals/zone-form.hbs +6 -6
- package/addon/components/order/header.hbs +11 -11
- package/addon/components/order/place-card.hbs +2 -2
- package/addon/components/order/schedule-card.hbs +6 -6
- package/addon/components/order/schedule-card.js +11 -7
- package/addon/components/order-config/activity-flow-editor.hbs +14 -14
- package/addon/components/order-config/activity-flow-editor.js +11 -11
- package/addon/components/order-config/details-editor.hbs +9 -9
- package/addon/components/order-config/entities-editor.hbs +13 -13
- package/addon/components/order-config/entities-editor.js +2 -2
- package/addon/components/order-config/fields-editor.hbs +14 -14
- package/addon/components/order-config/fields-editor.js +13 -12
- package/addon/components/order-config.hbs +9 -9
- package/addon/components/order-config.js +12 -11
- package/addon/components/order-list-overlay.hbs +14 -14
- package/addon/components/place-form-panel.hbs +18 -18
- package/addon/components/place-form-panel.js +6 -1
- package/addon/components/place-panel/details.hbs +10 -10
- package/addon/components/place-panel.hbs +2 -2
- package/addon/components/route-list.hbs +2 -2
- package/addon/components/settings-window.hbs +5 -5
- package/addon/components/settings-window.js +2 -1
- package/addon/components/vehicle-form-panel.hbs +27 -27
- package/addon/components/vehicle-form-panel.js +7 -2
- package/addon/components/vehicle-panel/details.hbs +7 -7
- package/addon/components/vehicle-panel.hbs +4 -4
- package/addon/components/vendor-form-panel/create-form.hbs +34 -33
- package/addon/components/vendor-form-panel/create-form.js +6 -2
- package/addon/components/vendor-form-panel/edit-form.hbs +27 -27
- package/addon/components/vendor-form-panel/edit-form.js +1 -0
- package/addon/components/vendor-form-panel.hbs +6 -6
- package/addon/components/vendor-form-panel.js +6 -1
- package/addon/components/vendor-panel/details.hbs +10 -10
- package/addon/components/vendor-panel.hbs +3 -3
- package/addon/components/widget/fleet-ops-quickstart.hbs +2 -2
- package/addon/components/widget/fleet-ops-quickstart.js +1 -0
- package/addon/components/widget/key-metrics.hbs +12 -12
- package/addon/components/widget/live-order-map.hbs +4 -4
- package/addon/components/widget/recent-orders.hbs +4 -4
- package/addon/components/widget/transactions.hbs +4 -4
- package/addon/controllers/management/contacts/index/edit.js +10 -3
- package/addon/controllers/management/contacts/index/new.js +7 -0
- package/addon/controllers/management/contacts/index.js +23 -16
- package/addon/controllers/management/drivers/index/edit.js +10 -3
- package/addon/controllers/management/drivers/index/new.js +7 -0
- package/addon/controllers/management/drivers/index.js +33 -19
- package/addon/controllers/management/fleets/index/edit.js +10 -3
- package/addon/controllers/management/fleets/index/new.js +7 -0
- package/addon/controllers/management/fleets/index.js +24 -17
- package/addon/controllers/management/fuel-reports/index/edit.js +10 -3
- package/addon/controllers/management/fuel-reports/index/new.js +7 -0
- package/addon/controllers/management/fuel-reports/index.js +20 -13
- package/addon/controllers/management/issues/index/edit.js +10 -3
- package/addon/controllers/management/issues/index/new.js +8 -0
- package/addon/controllers/management/issues/index.js +22 -15
- package/addon/controllers/management/places/index/edit.js +10 -3
- package/addon/controllers/management/places/index/new.js +7 -0
- package/addon/controllers/management/places/index.js +27 -20
- package/addon/controllers/management/vehicles/index/edit.js +10 -3
- package/addon/controllers/management/vehicles/index/new.js +7 -0
- package/addon/controllers/management/vehicles/index.js +22 -15
- package/addon/controllers/management/vendors/index/edit.js +10 -3
- package/addon/controllers/management/vendors/index/new.js +7 -0
- package/addon/controllers/management/vendors/index.js +23 -16
- package/addon/controllers/operations/orders/index/new.js +110 -25
- package/addon/controllers/operations/orders/index/view.js +40 -16
- package/addon/controllers/operations/orders/index.js +34 -27
- package/addon/controllers/operations/scheduler/index.js +3 -2
- package/addon/controllers/operations/service-rates/index/edit.js +9 -1
- package/addon/controllers/operations/service-rates/index/new.js +9 -1
- package/addon/controllers/operations/service-rates/index.js +16 -9
- package/addon/routes/management/places/index.js +1 -1
- package/addon/routes/operations/orders/index/view.js +2 -14
- package/addon/services/driver-actions.js +9 -8
- package/addon/services/vehicle-actions.js +2 -1
- package/addon/templates/management/contacts/index.hbs +6 -6
- package/addon/templates/management/drivers/index.hbs +6 -6
- package/addon/templates/management/fleets/index.hbs +6 -6
- package/addon/templates/management/fuel-reports/index.hbs +7 -7
- package/addon/templates/management/index.hbs +17 -17
- package/addon/templates/management/issues/index.hbs +6 -6
- package/addon/templates/management/places/index.hbs +6 -6
- package/addon/templates/management/vehicles/index.hbs +6 -6
- package/addon/templates/management/vendors/index.hbs +6 -6
- package/addon/templates/operations/orders/index/config/types.hbs +3 -3
- package/addon/templates/operations/orders/index/config.hbs +3 -4
- package/addon/templates/operations/orders/index/new.hbs +72 -72
- package/addon/templates/operations/orders/index/view.hbs +147 -53
- package/addon/templates/operations/orders/index.hbs +13 -13
- package/addon/templates/operations/scheduler/index.hbs +3 -3
- package/addon/templates/operations/service-rates/index/new.hbs +79 -81
- package/addon/templates/operations/service-rates/index.hbs +6 -6
- package/composer.json +2 -2
- package/extension.json +1 -1
- package/package.json +3 -1
- package/server/resources/views/labels/default.php +40 -18
- package/server/resources/views/labels/waypoint-label.php +126 -0
- package/server/src/Console/Commands/FixDriverCompanies.php +65 -0
- package/server/src/Exceptions/IntegratedVendorException.php +11 -12
- package/server/src/Http/Controllers/Api/v1/DriverController.php +41 -32
- package/server/src/Http/Controllers/Api/v1/OrderController.php +1 -1
- package/server/src/Http/Controllers/Internal/v1/DriverController.php +17 -1
- package/server/src/Http/Resources/v1/Driver.php +1 -1
- package/server/src/Http/Resources/v1/Entity.php +2 -2
- package/server/src/Http/Resources/v1/Payload.php +11 -30
- package/server/src/Http/Resources/v1/Place.php +3 -3
- package/server/src/Http/Resources/v1/Waypoint.php +101 -0
- package/server/src/Models/Payload.php +39 -0
- package/server/src/Models/Place.php +5 -2
- package/server/src/Models/Waypoint.php +15 -3
- package/server/src/Providers/FleetOpsServiceProvider.php +1 -0
- package/server/src/Support/Flow.php +19 -2
- package/translations/en-us.yaml +1341 -3
|
@@ -216,6 +216,14 @@ class Payload extends Model
|
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
|
|
219
|
+
// Validate destination actually exists
|
|
220
|
+
if (isset($attributes['destination_uuid']) && Place::where('uuid', $attributes['destination_uuid'])->doesntExist()) {
|
|
221
|
+
$validDestination = $this->_findCorrectDestinationForEntity($attributes);
|
|
222
|
+
if ($validDestination) {
|
|
223
|
+
$attributes['destination_uuid'] = $validDestination->uuid;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
219
227
|
$entity = new Entity($attributes);
|
|
220
228
|
$this->entities()->save($entity);
|
|
221
229
|
}
|
|
@@ -249,6 +257,14 @@ class Payload extends Model
|
|
|
249
257
|
}
|
|
250
258
|
}
|
|
251
259
|
|
|
260
|
+
// Validate destination actually exists
|
|
261
|
+
if (isset($attributes['destination_uuid']) && Place::where('uuid', $attributes['destination_uuid'])->doesntExist()) {
|
|
262
|
+
$validDestination = $this->_findCorrectDestinationForEntity($attributes);
|
|
263
|
+
if ($validDestination) {
|
|
264
|
+
$attributes['destination_uuid'] = $validDestination->uuid;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
252
268
|
Entity::insertGetUuid($attributes, $this);
|
|
253
269
|
}
|
|
254
270
|
|
|
@@ -334,7 +350,9 @@ class Payload extends Model
|
|
|
334
350
|
if (Str::isUuid($placeUuid) && isset($attributes['uuid']) && $placeUuid !== $attributes['uuid']) {
|
|
335
351
|
$place = Place::where('uuid', $placeUuid)->first();
|
|
336
352
|
|
|
353
|
+
// set the original destination uuid in meta
|
|
337
354
|
if ($place instanceof Place) {
|
|
355
|
+
$place->updateMeta('_console_destination_uuid', $attributes['uuid']);
|
|
338
356
|
$place->updateMeta('search_uuid', $attributes['uuid']);
|
|
339
357
|
}
|
|
340
358
|
}
|
|
@@ -399,6 +417,18 @@ class Payload extends Model
|
|
|
399
417
|
return $this->refresh()->load(['waypoints']);
|
|
400
418
|
}
|
|
401
419
|
|
|
420
|
+
public function _findCorrectDestinationForEntity($entityAttributes = []): ?Place
|
|
421
|
+
{
|
|
422
|
+
$destinationId = Utils::get($entityAttributes, 'destination_uuid');
|
|
423
|
+
|
|
424
|
+
$destination = Place::where('meta->search_uuid', $destinationId)->first();
|
|
425
|
+
if (!$destination) {
|
|
426
|
+
$destination = Place::where('meta->_console_destination_uuid', $destinationId)->first();
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
return $destination;
|
|
430
|
+
}
|
|
431
|
+
|
|
402
432
|
/**
|
|
403
433
|
* Get the payload pickup point or the first waypoint.
|
|
404
434
|
*
|
|
@@ -783,6 +813,15 @@ class Payload extends Model
|
|
|
783
813
|
}
|
|
784
814
|
}
|
|
785
815
|
|
|
816
|
+
// Validate destination actually exists
|
|
817
|
+
if (isset($attributes['destination_uuid']) && Place::where('uuid', $attributes['destination_uuid'])->doesntExist()) {
|
|
818
|
+
$destination = $this->_findCorrectDestinationForEntity($attributes);
|
|
819
|
+
|
|
820
|
+
if ($destination instanceof Place) {
|
|
821
|
+
return $destination;
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
|
|
786
825
|
return null;
|
|
787
826
|
}
|
|
788
827
|
}
|
|
@@ -447,9 +447,12 @@ class Place extends Model
|
|
|
447
447
|
return static::createFromCoordinates($place, $attributes, $saveInstance);
|
|
448
448
|
}
|
|
449
449
|
|
|
450
|
+
// Get uuid if set
|
|
451
|
+
$uuid = data_get($place, 'uuid');
|
|
452
|
+
|
|
450
453
|
// If $place has a valid uuid and a matching Place object exists, return the uuid
|
|
451
|
-
if (
|
|
452
|
-
return $place
|
|
454
|
+
if (Str::isUuid($uuid) && $place = Place::where('uuid', $uuid)->first()) {
|
|
455
|
+
return $place;
|
|
453
456
|
}
|
|
454
457
|
|
|
455
458
|
// Otherwise, create a new Place object with the given attributes
|
|
@@ -83,16 +83,28 @@ class Waypoint extends Model
|
|
|
83
83
|
return $this->pdfLabel()->stream();
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
/**
|
|
87
|
+
* @return \Illuminate\Database\Eloquent\Relations\HasMany
|
|
88
|
+
*/
|
|
89
|
+
public function entities()
|
|
90
|
+
{
|
|
91
|
+
return $this->hasMany(Entity::class, 'destination_uuid', 'place_uuid')->where('payload_uuid', $this->payload_uuid);
|
|
92
|
+
}
|
|
93
|
+
|
|
86
94
|
/**
|
|
87
95
|
* The html for the shipment label.
|
|
88
96
|
*/
|
|
89
97
|
public function label()
|
|
90
98
|
{
|
|
91
|
-
$this->load(['trackingNumber', 'company', 'place']);
|
|
99
|
+
$this->load(['trackingNumber', 'company', 'place', 'entities']);
|
|
100
|
+
|
|
101
|
+
// $entities = Entity::where(['payload_uuid' => $this->payload_uuid, 'destination_uuid' => $this->place_uuid])->get();
|
|
102
|
+
// dd($entities, );
|
|
92
103
|
|
|
93
|
-
return view('labels/
|
|
94
|
-
'
|
|
104
|
+
return view('fleetops::labels/waypoint-label', [
|
|
105
|
+
'waypoint' => $this,
|
|
95
106
|
'dropoff' => $this->place,
|
|
107
|
+
'entities' => $this->entities()->get(),
|
|
96
108
|
'trackingNumber' => $this->trackingNumber,
|
|
97
109
|
'company' => $this->company,
|
|
98
110
|
])->render();
|
|
@@ -44,6 +44,7 @@ class FleetOpsServiceProvider extends CoreServiceProvider
|
|
|
44
44
|
\Fleetbase\FleetOps\Console\Commands\DispatchAdhocOrders::class,
|
|
45
45
|
\Fleetbase\FleetOps\Console\Commands\DispatchOrders::class,
|
|
46
46
|
\Fleetbase\FleetOps\Console\Commands\TrackOrderDistanceAndTime::class,
|
|
47
|
+
\Fleetbase\FleetOps\Console\Commands\FixDriverCompanies::class,
|
|
47
48
|
];
|
|
48
49
|
|
|
49
50
|
/**
|
|
@@ -6,6 +6,7 @@ use Fleetbase\FleetOps\Models\Driver;
|
|
|
6
6
|
use Fleetbase\FleetOps\Models\Order;
|
|
7
7
|
use Fleetbase\FleetOps\Models\Waypoint;
|
|
8
8
|
use Fleetbase\Models\Company;
|
|
9
|
+
use Fleetbase\Models\CompanyUser;
|
|
9
10
|
use Fleetbase\Models\Extension;
|
|
10
11
|
use Fleetbase\Models\ExtensionInstall;
|
|
11
12
|
use Fleetbase\Models\User;
|
|
@@ -550,9 +551,25 @@ class Flow
|
|
|
550
551
|
return Company::currentSession();
|
|
551
552
|
}
|
|
552
553
|
|
|
553
|
-
public static function getCompanySessionForUser(User $user)
|
|
554
|
+
public static function getCompanySessionForUser(User $user): ?Company
|
|
554
555
|
{
|
|
555
|
-
|
|
556
|
+
if (Str::isUuid($user->company_uuid)) {
|
|
557
|
+
$company = Company::where('uuid', $user->company_uuid)->first();
|
|
558
|
+
if ($company) {
|
|
559
|
+
return $company;
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
// fallback to get user's first company
|
|
564
|
+
$userCompany = CompanyUser::where('user_uuid', $user->uuid)->first();
|
|
565
|
+
if ($userCompany) {
|
|
566
|
+
$company = Company::where('uuid', $userCompany->company_uuid)->first();
|
|
567
|
+
if ($company) {
|
|
568
|
+
return $company;
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
return null;
|
|
556
573
|
}
|
|
557
574
|
|
|
558
575
|
public static function getDefaultOrderFlow()
|