@fleetbase/fleetops-engine 0.3.5 → 0.3.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 +4 -4
- package/addon/components/admin/navigator-app.hbs +5 -0
- package/addon/components/admin/navigator-app.js +27 -0
- package/addon/components/driver-form-panel.js +13 -19
- package/addon/components/leaflet-draw-control.js +2 -3
- package/addon/components/live-map.js +7 -4
- package/addon/components/modals/driver-assign-order.hbs +2 -2
- package/addon/components/modals/order-import.hbs +5 -5
- package/addon/components/modals/order-new-activity.hbs +1 -1
- package/addon/components/order-config/entities-editor.js +3 -5
- package/addon/components/route-list.hbs +2 -2
- package/addon/components/vendor-form-panel.js +1 -1
- package/addon/controllers/application.js +2 -2
- package/addon/controllers/base-controller.js +31 -0
- package/addon/controllers/management/contacts/index/details.js +2 -2
- package/addon/controllers/management/contacts/index/edit.js +2 -2
- package/addon/controllers/management/contacts/index/new.js +2 -2
- package/addon/controllers/management/contacts/index.js +2 -2
- package/addon/controllers/management/drivers/index/details.js +2 -2
- package/addon/controllers/management/drivers/index/edit.js +28 -2
- package/addon/controllers/management/drivers/index/new.js +2 -2
- package/addon/controllers/management/drivers/index.js +11 -24
- package/addon/controllers/management/fleets/index/details.js +2 -2
- package/addon/controllers/management/fleets/index/edit.js +2 -2
- package/addon/controllers/management/fleets/index/new.js +2 -2
- package/addon/controllers/management/fleets/index.js +9 -9
- package/addon/controllers/management/fuel-reports/index/details.js +2 -2
- package/addon/controllers/management/fuel-reports/index/edit.js +2 -2
- package/addon/controllers/management/fuel-reports/index/new.js +2 -2
- package/addon/controllers/management/fuel-reports/index.js +2 -2
- package/addon/controllers/management/issues/index/details.js +2 -2
- package/addon/controllers/management/issues/index/edit.js +2 -2
- package/addon/controllers/management/issues/index/new.js +2 -2
- package/addon/controllers/management/issues/index.js +2 -9
- package/addon/controllers/management/places/index/details.js +2 -2
- package/addon/controllers/management/places/index/edit.js +2 -2
- package/addon/controllers/management/places/index/new.js +2 -2
- package/addon/controllers/management/places/index.js +2 -2
- package/addon/controllers/management/vehicles/index/details.js +2 -2
- package/addon/controllers/management/vehicles/index/edit.js +2 -2
- package/addon/controllers/management/vehicles/index/new.js +2 -2
- package/addon/controllers/management/vehicles/index.js +11 -12
- package/addon/controllers/management/vendors/index/details.js +2 -2
- package/addon/controllers/management/vendors/index/edit.js +2 -2
- package/addon/controllers/management/vendors/index/new.js +2 -2
- package/addon/controllers/management/vendors/index.js +2 -8
- package/addon/controllers/management.js +2 -2
- package/addon/controllers/operations/orders/index/config/types.js +2 -2
- package/addon/controllers/operations/orders/index/config.js +2 -2
- package/addon/controllers/operations/orders/index/new.js +64 -44
- package/addon/controllers/operations/orders/index/view.js +11 -4
- package/addon/controllers/operations/orders/index.js +2 -2
- package/addon/controllers/operations/scheduler/index.js +2 -2
- package/addon/controllers/operations/service-rates/index/edit.js +12 -18
- package/addon/controllers/operations/service-rates/index/new.js +16 -22
- package/addon/controllers/operations/service-rates/index.js +2 -2
- package/addon/engine.js +6 -0
- package/addon/helpers/waypoint-label.js +6 -1
- package/addon/routes/application.js +4 -15
- package/addon/routes/management/contacts/index.js +9 -5
- package/addon/routes/management/drivers/index.js +7 -3
- package/addon/routes/management/fleets/index.js +9 -5
- package/addon/routes/management/fuel-reports/index.js +9 -5
- package/addon/routes/management/issues/index.js +9 -5
- package/addon/routes/management/places/index.js +9 -5
- package/addon/routes/management/vehicles/index/details.js +2 -2
- package/addon/routes/management/vehicles/index.js +9 -0
- package/addon/routes/management/vendors/index.js +9 -6
- package/addon/routes/operations/orders/index/view.js +6 -2
- package/addon/routes/operations/orders/index.js +7 -1
- package/addon/routes/operations/orders.js +0 -1
- package/addon/routes/operations/service-rates/index.js +9 -27
- package/addon/routes/operations/service-rates.js +1 -8
- package/addon/styles/fleetops-engine.css +14 -7
- package/addon/templates/operations/orders/index/new.hbs +7 -7
- package/addon/templates/operations/orders/index/view.hbs +17 -16
- package/addon/utils/waypoint-label.js +3 -0
- package/app/controllers/{operations/zones/index.js → base-controller.js} +1 -1
- package/app/utils/waypoint-label.js +1 -0
- package/composer.json +1 -1
- package/config/environment.js +11 -1
- package/extension.json +1 -1
- package/index.js +1 -0
- package/package.json +47 -41
- package/server/migrations/2023_11_28_074244_add_supplier_uuid_column_to_entities_table.php +33 -0
- package/server/migrations/2023_12_14_100209_add_meta_column_on_driver_table.php +30 -0
- package/server/src/Http/Controllers/Api/v1/DriverController.php +7 -4
- package/server/src/Http/Controllers/Api/v1/OrderController.php +118 -42
- package/server/src/Http/Controllers/Api/v1/PayloadController.php +41 -43
- package/server/src/Http/Controllers/Api/v1/TrackingStatusController.php +43 -2
- package/server/src/Http/Controllers/Internal/v1/MorphController.php +48 -16
- package/server/src/Http/Controllers/Internal/v1/NavigatorController.php +41 -0
- package/server/src/Http/Controllers/Internal/v1/OrderController.php +3 -2
- package/server/src/Http/Controllers/Internal/v1/PlaceController.php +2 -2
- package/server/src/Http/Requests/CreateDriverRequest.php +2 -0
- package/server/src/Http/Requests/CreateOrderRequest.php +18 -4
- package/server/src/Http/Requests/CreatePayloadRequest.php +23 -7
- package/server/src/Http/Requests/CreatePlaceRequest.php +9 -5
- package/server/src/Http/Requests/CreateTrackingStatusRequest.php +69 -12
- package/server/src/Http/Requests/CreateVehicleRequest.php +5 -3
- package/server/src/Http/Resources/v1/Entity.php +3 -0
- package/server/src/Http/Resources/v1/Order.php +3 -2
- package/server/src/Models/Driver.php +5 -2
- package/server/src/Models/Entity.php +1 -1
- package/server/src/Models/Order.php +2 -2
- package/server/src/Models/Payload.php +27 -9
- package/server/src/Models/Place.php +28 -5
- package/server/src/Models/TrackingStatus.php +9 -3
- package/server/src/Models/VehicleDevice.php +28 -0
- package/server/src/Models/Vendor.php +16 -0
- package/server/src/Observers/DriverObserver.php +1 -1
- package/server/src/routes.php +8 -0
- package/tsconfig.declarations.json +10 -0
- package/addon/components/file-icon.js +0 -1
- package/addon/controllers/operations/zones/index.js +0 -475
- package/addon/routes/operations/dispatch.js +0 -3
- package/addon/routes/operations/zones/index.js +0 -25
- package/addon/routes/operations/zones.js +0 -7
- package/addon/templates/operations/dispatch.hbs +0 -1
- package/addon/templates/operations/zones/index.hbs +0 -72
- package/addon/templates/operations/zones.hbs +0 -1
- package/app/components/file-icon.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
@@ -6,7 +6,7 @@ import { isBlank } from '@ember/utils';
|
|
|
6
6
|
import { timeout } from 'ember-concurrency';
|
|
7
7
|
import { task } from 'ember-concurrency-decorators';
|
|
8
8
|
|
|
9
|
-
export default class ManagementFuelReportsIndexController extends
|
|
9
|
+
export default class ManagementFuelReportsIndexController extends BaseController {
|
|
10
10
|
/**
|
|
11
11
|
* Inject the `notifications` service
|
|
12
12
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { action } from '@ember/object';
|
|
4
|
-
export default class ManagementIssuesIndexDetailsController extends
|
|
4
|
+
export default class ManagementIssuesIndexDetailsController extends BaseController {
|
|
5
5
|
/**
|
|
6
6
|
* The currently active view tab ('details' by default).
|
|
7
7
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementIssuesIndexEditController extends
|
|
6
|
+
export default class ManagementIssuesIndexEditController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `hostRouter` service
|
|
9
9
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
|
-
export default class ManagementIssuesIndexNewController extends
|
|
5
|
+
export default class ManagementIssuesIndexNewController extends BaseController {
|
|
6
6
|
/**
|
|
7
7
|
* Inject the `store` service
|
|
8
8
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
@@ -8,7 +8,7 @@ import { task } from 'ember-concurrency-decorators';
|
|
|
8
8
|
import getIssueTypes from '../../../utils/get-issue-types';
|
|
9
9
|
import getIssueCategories from '../../../utils/get-issue-categories';
|
|
10
10
|
|
|
11
|
-
export default class ManagementIssuesIndexController extends
|
|
11
|
+
export default class ManagementIssuesIndexController extends BaseController {
|
|
12
12
|
/**
|
|
13
13
|
* Inject the `notifications` service
|
|
14
14
|
*
|
|
@@ -117,13 +117,6 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
117
117
|
*/
|
|
118
118
|
@tracked priority;
|
|
119
119
|
|
|
120
|
-
/**
|
|
121
|
-
* The filterable param `priority`
|
|
122
|
-
*
|
|
123
|
-
* @var {Array|String}
|
|
124
|
-
*/
|
|
125
|
-
@tracked status;
|
|
126
|
-
|
|
127
120
|
/**
|
|
128
121
|
* The filterable param `type`
|
|
129
122
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { action } from '@ember/object';
|
|
4
4
|
|
|
5
|
-
export default class ManagementPlacesIndexDetailsController extends
|
|
5
|
+
export default class ManagementPlacesIndexDetailsController extends BaseController {
|
|
6
6
|
/**
|
|
7
7
|
* The currently active view tab ('details' by default).
|
|
8
8
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementPlacesIndexEditController extends
|
|
6
|
+
export default class ManagementPlacesIndexEditController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `hostRouter` service
|
|
9
9
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementPlacesIndexNewController extends
|
|
6
|
+
export default class ManagementPlacesIndexNewController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `store` service
|
|
9
9
|
*
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
import { isBlank } from '@ember/utils';
|
|
6
6
|
import { task, timeout } from 'ember-concurrency';
|
|
7
7
|
|
|
8
|
-
export default class ManagementPlacesIndexController extends
|
|
8
|
+
export default class ManagementPlacesIndexController extends BaseController {
|
|
9
9
|
/**
|
|
10
10
|
* Inject the `notifications` service
|
|
11
11
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { action } from '@ember/object';
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ import { action } from '@ember/object';
|
|
|
8
8
|
* @class ManagementVehiclesIndexDetailsController
|
|
9
9
|
* @extends Controller
|
|
10
10
|
*/
|
|
11
|
-
export default class ManagementVehiclesIndexDetailsController extends
|
|
11
|
+
export default class ManagementVehiclesIndexDetailsController extends BaseController {
|
|
12
12
|
/**
|
|
13
13
|
* The currently active view tab ('details' by default).
|
|
14
14
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementVehiclesIndexEditController extends
|
|
6
|
+
export default class ManagementVehiclesIndexEditController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `hostRouter` service
|
|
9
9
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementVehiclesIndexNewController extends
|
|
6
|
+
export default class ManagementVehiclesIndexNewController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `store` service
|
|
9
9
|
*
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { inject as controller } from '@ember/controller';
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
3
2
|
import { inject as service } from '@ember/service';
|
|
4
3
|
import { tracked } from '@glimmer/tracking';
|
|
5
4
|
import { action } from '@ember/object';
|
|
@@ -7,7 +6,14 @@ import { isBlank } from '@ember/utils';
|
|
|
7
6
|
import { timeout } from 'ember-concurrency';
|
|
8
7
|
import { task } from 'ember-concurrency-decorators';
|
|
9
8
|
|
|
10
|
-
export default class ManagementVehiclesIndexController extends
|
|
9
|
+
export default class ManagementVehiclesIndexController extends BaseController {
|
|
10
|
+
/**
|
|
11
|
+
* Inject the `contextPanel` service
|
|
12
|
+
*
|
|
13
|
+
* @var {Service}
|
|
14
|
+
*/
|
|
15
|
+
@service contextPanel;
|
|
16
|
+
|
|
11
17
|
/**
|
|
12
18
|
* Inject the `notifications` service
|
|
13
19
|
*
|
|
@@ -207,13 +213,6 @@ export default class ManagementVehiclesIndexController extends ManagementControl
|
|
|
207
213
|
*/
|
|
208
214
|
@tracked table;
|
|
209
215
|
|
|
210
|
-
/**
|
|
211
|
-
* Inject the `management.drivers.index` controller
|
|
212
|
-
*
|
|
213
|
-
* @var {Controller}
|
|
214
|
-
*/
|
|
215
|
-
@controller('management.drivers.index') drivers;
|
|
216
|
-
|
|
217
216
|
/**
|
|
218
217
|
* All possible order status options.
|
|
219
218
|
*
|
|
@@ -258,7 +257,7 @@ export default class ManagementVehiclesIndexController extends ManagementControl
|
|
|
258
257
|
action: async (vehicle) => {
|
|
259
258
|
const driver = await vehicle.loadDriver();
|
|
260
259
|
|
|
261
|
-
return this.
|
|
260
|
+
return this.contextPanel.focus(driver);
|
|
262
261
|
},
|
|
263
262
|
valuePath: 'driver_name',
|
|
264
263
|
width: '120px',
|
|
@@ -472,7 +471,7 @@ export default class ManagementVehiclesIndexController extends ManagementControl
|
|
|
472
471
|
* @void
|
|
473
472
|
*/
|
|
474
473
|
@action viewVehicle(vehicle) {
|
|
475
|
-
return this.transitionToRoute('management.vehicles.index.details', vehicle);
|
|
474
|
+
return this.transitionToRoute('management.vehicles.index.details', vehicle, { queryParams: { view: 'details' } });
|
|
476
475
|
}
|
|
477
476
|
|
|
478
477
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { action } from '@ember/object';
|
|
4
4
|
|
|
5
|
-
export default class ManagementVendorsIndexDetailsController extends
|
|
5
|
+
export default class ManagementVendorsIndexDetailsController extends BaseController {
|
|
6
6
|
/**
|
|
7
7
|
* The currently active view tab ('details' by default).
|
|
8
8
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementVendorsIndexEditController extends
|
|
6
|
+
export default class ManagementVendorsIndexEditController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `hostRouter` service
|
|
9
9
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
|
|
6
|
-
export default class ManagementVendorsIndexNewController extends
|
|
6
|
+
export default class ManagementVendorsIndexNewController extends BaseController {
|
|
7
7
|
/**
|
|
8
8
|
* Inject the `store` service
|
|
9
9
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
@@ -6,14 +6,8 @@ import { isBlank } from '@ember/utils';
|
|
|
6
6
|
import { timeout } from 'ember-concurrency';
|
|
7
7
|
import { task } from 'ember-concurrency-decorators';
|
|
8
8
|
import getVendorStatusOptions from '../../../utils/get-vendor-status-options';
|
|
9
|
-
export default class ManagementVendorsIndexController extends Controller {
|
|
10
|
-
/**
|
|
11
|
-
* Inject the `management.places.index` controller
|
|
12
|
-
*
|
|
13
|
-
* @var {Controller}
|
|
14
|
-
*/
|
|
15
|
-
@controller('management.places.index') places;
|
|
16
9
|
|
|
10
|
+
export default class ManagementVendorsIndexController extends BaseController {
|
|
17
11
|
/**
|
|
18
12
|
* Inject the `notifications` service
|
|
19
13
|
*
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
|
|
3
|
-
export default class ManagementController extends
|
|
3
|
+
export default class ManagementController extends BaseController {}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { action, computed } from '@ember/object';
|
|
4
4
|
|
|
5
|
-
export default class OperationsOrdersIndexConfigTypesController extends
|
|
5
|
+
export default class OperationsOrdersIndexConfigTypesController extends BaseController {
|
|
6
6
|
@tracked configurations = [];
|
|
7
7
|
@tracked isLoaded = false;
|
|
8
8
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { action } from '@ember/object';
|
|
3
3
|
|
|
4
|
-
export default class OperationsOrdersIndexConfigController extends
|
|
4
|
+
export default class OperationsOrdersIndexConfigController extends BaseController {
|
|
5
5
|
/**
|
|
6
6
|
* Uses router service to transition back to `orders.index`
|
|
7
7
|
*
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
|
+
import { inject as controller } from '@ember/controller';
|
|
2
3
|
import { inject as service } from '@ember/service';
|
|
3
4
|
import { tracked } from '@glimmer/tracking';
|
|
4
5
|
import { action, computed, setProperties, set, get } from '@ember/object';
|
|
@@ -13,6 +14,7 @@ import isNotEmpty from '@fleetbase/ember-core/utils/is-not-empty';
|
|
|
13
14
|
import getRoutingHost from '@fleetbase/ember-core/utils/get-routing-host';
|
|
14
15
|
import groupBy from '@fleetbase/ember-core/utils/macros/group-by';
|
|
15
16
|
import extractCoordinates from '@fleetbase/ember-core/utils/extract-coordinates';
|
|
17
|
+
import getWithDefault from '@fleetbase/ember-core/utils/get-with-default';
|
|
16
18
|
|
|
17
19
|
L.Bounds.prototype.intersects = function (bounds) {
|
|
18
20
|
var min = this.min,
|
|
@@ -25,10 +27,7 @@ L.Bounds.prototype.intersects = function (bounds) {
|
|
|
25
27
|
return xIntersects && yIntersects;
|
|
26
28
|
};
|
|
27
29
|
|
|
28
|
-
export default class OperationsOrdersIndexNewController extends
|
|
29
|
-
@controller('management.places.index') placesController;
|
|
30
|
-
@controller('management.contacts.index') contactsController;
|
|
31
|
-
@controller('management.vendors.index') vendorsController;
|
|
30
|
+
export default class OperationsOrdersIndexNewController extends BaseController {
|
|
32
31
|
@controller('operations.orders.index') ordersController;
|
|
33
32
|
|
|
34
33
|
/**
|
|
@@ -87,6 +86,13 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
87
86
|
*/
|
|
88
87
|
@service store;
|
|
89
88
|
|
|
89
|
+
/**
|
|
90
|
+
* Inject the `contextPanel` service
|
|
91
|
+
*
|
|
92
|
+
* @var {Service}
|
|
93
|
+
*/
|
|
94
|
+
@service contextPanel;
|
|
95
|
+
|
|
90
96
|
/**
|
|
91
97
|
* Inject the `universe` service
|
|
92
98
|
*
|
|
@@ -132,7 +138,6 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
132
138
|
@tracked routeProfile = 'driving';
|
|
133
139
|
@tracked routeProfileOptions = ['driving', 'bycicle', 'walking'];
|
|
134
140
|
@tracked podOptions = ['scan', 'signature'];
|
|
135
|
-
@tracked isViewingRoutePreview = false;
|
|
136
141
|
@tracked isCsvImportedOrder = false;
|
|
137
142
|
@tracked routePreviewArray = [];
|
|
138
143
|
@tracked previewRouteControl;
|
|
@@ -229,11 +234,6 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
229
234
|
|
|
230
235
|
if (importId) {
|
|
231
236
|
const entities = this.entities.filter((entity) => entity._import_id === importId);
|
|
232
|
-
|
|
233
|
-
// if (entities.length === 0) {
|
|
234
|
-
// return;
|
|
235
|
-
// }
|
|
236
|
-
|
|
237
237
|
const group = {
|
|
238
238
|
importId,
|
|
239
239
|
waypoint,
|
|
@@ -289,8 +289,15 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
289
289
|
// trigger event that fleet-ops created an order
|
|
290
290
|
this.universe.trigger('fleet-ops.order.created', order);
|
|
291
291
|
|
|
292
|
+
// get engine route prefix
|
|
293
|
+
let engineMountPoint = this.universe.getEngineMountPoint('@fleetbase/fleetops-engine');
|
|
294
|
+
|
|
295
|
+
if (!engineMountPoint.endsWith('.')) {
|
|
296
|
+
engineMountPoint = engineMountPoint + '.';
|
|
297
|
+
}
|
|
298
|
+
|
|
292
299
|
// transition to order view
|
|
293
|
-
return this.
|
|
300
|
+
return this.hostRouter.transitionTo(`${engineMountPoint}operations.orders.index.view`, order).then(() => {
|
|
294
301
|
this.notifications.success(`New Order ${order.public_id} Created`);
|
|
295
302
|
this.loader.removeLoader();
|
|
296
303
|
this.resetForm();
|
|
@@ -337,11 +344,7 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
337
344
|
{ name: 'Type', valuePath: 'extension', key: 'type' },
|
|
338
345
|
{ name: 'File Name', valuePath: 'name', key: 'fileName' },
|
|
339
346
|
{ name: 'File Size', valuePath: 'size', key: 'fileSize' },
|
|
340
|
-
{
|
|
341
|
-
name: 'Upload Date',
|
|
342
|
-
valuePath: 'blob.lastModifiedDate',
|
|
343
|
-
key: 'uploadDate',
|
|
344
|
-
},
|
|
347
|
+
{ name: 'Upload Date', valuePath: 'file.lastModifiedDate', key: 'uploadDate' },
|
|
345
348
|
{ name: '', valuePath: '', key: 'delete' },
|
|
346
349
|
],
|
|
347
350
|
acceptedFileTypes: ['application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'text/csv'],
|
|
@@ -367,7 +370,7 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
367
370
|
this.fetch.uploadFile.perform(
|
|
368
371
|
file,
|
|
369
372
|
{
|
|
370
|
-
path: `uploads/order-imports/${this.currentUser.companyId}`,
|
|
373
|
+
path: `uploads/fleet-ops/order-imports/${this.currentUser.companyId}`,
|
|
371
374
|
type: `order_import`,
|
|
372
375
|
},
|
|
373
376
|
(uploadedFile) => {
|
|
@@ -396,7 +399,6 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
396
399
|
this.modalsManager.setOption('isProcessing', true);
|
|
397
400
|
|
|
398
401
|
const files = uploadedFiles.map((file) => file.id);
|
|
399
|
-
|
|
400
402
|
let results;
|
|
401
403
|
|
|
402
404
|
try {
|
|
@@ -405,28 +407,21 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
405
407
|
return this.notifications.serverError(error);
|
|
406
408
|
}
|
|
407
409
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
this.isMultipleDropoffOrder = true;
|
|
410
|
+
const places = get(results, 'places');
|
|
411
|
+
const entities = get(results, 'entities');
|
|
411
412
|
|
|
412
|
-
|
|
413
|
-
|
|
413
|
+
if (isArray(places)) {
|
|
414
|
+
this.isMultipleDropoffOrder = true;
|
|
415
|
+
this.waypoints = places.map((_place) => {
|
|
414
416
|
const place = this.store.createRecord('place', _place);
|
|
415
|
-
|
|
416
417
|
return this.store.createRecord('waypoint', { place });
|
|
417
418
|
});
|
|
418
|
-
|
|
419
|
-
this.waypoints = waypoints;
|
|
420
419
|
}
|
|
421
420
|
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
// map into entity models
|
|
425
|
-
const entities = results.entities.map((entity) => {
|
|
421
|
+
if (isArray(entities)) {
|
|
422
|
+
this.entities = entities.map((entity) => {
|
|
426
423
|
return this.store.createRecord('entity', entity);
|
|
427
424
|
});
|
|
428
|
-
|
|
429
|
-
this.entities = entities;
|
|
430
425
|
}
|
|
431
426
|
|
|
432
427
|
this.notifications.success('Import completed.');
|
|
@@ -436,8 +431,6 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
436
431
|
},
|
|
437
432
|
decline: (modal) => {
|
|
438
433
|
this.modalsManager.setOption('uploadQueue', []);
|
|
439
|
-
this.fileQueue.flush();
|
|
440
|
-
|
|
441
434
|
modal.done();
|
|
442
435
|
},
|
|
443
436
|
});
|
|
@@ -448,7 +441,7 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
448
441
|
|
|
449
442
|
if (on) {
|
|
450
443
|
const company = this.store.peekRecord('company', this.currentUser.companyId);
|
|
451
|
-
this.order.adhoc_distance = company
|
|
444
|
+
this.order.adhoc_distance = getWithDefault(company, 'options.fleetops.adhoc_distance', defaultDistanceInMeters);
|
|
452
445
|
} else {
|
|
453
446
|
this.order.adhoc_distance = defaultDistanceInMeters;
|
|
454
447
|
}
|
|
@@ -493,10 +486,13 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
493
486
|
}
|
|
494
487
|
}
|
|
495
488
|
|
|
496
|
-
@action
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
489
|
+
@action createPlace() {
|
|
490
|
+
const place = this.store.createRecord('place');
|
|
491
|
+
this.contextPanel.focus(place, 'editing');
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
@action editPlace(place) {
|
|
495
|
+
this.contextPanel.focus(place, 'editing');
|
|
500
496
|
}
|
|
501
497
|
|
|
502
498
|
@action async getQuotes(service) {
|
|
@@ -1293,11 +1289,23 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
1293
1289
|
const type = await this.modalsManager.userSelectOption('Select facilitator type', ['contact', 'vendor']);
|
|
1294
1290
|
|
|
1295
1291
|
if (type === 'vendor') {
|
|
1296
|
-
|
|
1292
|
+
const vendor = this.store.createRecord('vendor', { type: 'facilitator', status: 'active' });
|
|
1293
|
+
return this.contextPanel.focus(vendor, 'editing', {
|
|
1294
|
+
onAfterSave: (vendor) => {
|
|
1295
|
+
this.setOrderFacilitator(vendor);
|
|
1296
|
+
this.contextPanel.clear();
|
|
1297
|
+
},
|
|
1298
|
+
});
|
|
1297
1299
|
}
|
|
1298
1300
|
|
|
1299
1301
|
if (type === 'contact') {
|
|
1300
|
-
|
|
1302
|
+
const contact = this.store.createRecord('contact', { type: 'facilitator', status: 'active' });
|
|
1303
|
+
return this.contextPanel.focus(contact, 'editing', {
|
|
1304
|
+
onAfterSave: (contact) => {
|
|
1305
|
+
this.setOrderFacilitator(contact);
|
|
1306
|
+
this.contextPanel.clear();
|
|
1307
|
+
},
|
|
1308
|
+
});
|
|
1301
1309
|
}
|
|
1302
1310
|
}
|
|
1303
1311
|
|
|
@@ -1305,11 +1313,23 @@ export default class OperationsOrdersIndexNewController extends Controller {
|
|
|
1305
1313
|
const type = await this.modalsManager.userSelectOption('Select customer type', ['contact', 'vendor']);
|
|
1306
1314
|
|
|
1307
1315
|
if (type === 'vendor') {
|
|
1308
|
-
|
|
1316
|
+
const vendor = this.store.createRecord('vendor', { type: 'customer', status: 'active' });
|
|
1317
|
+
return this.contextPanel.focus(vendor, 'editing', {
|
|
1318
|
+
onAfterSave: (vendor) => {
|
|
1319
|
+
this.setOrderCustomer(vendor);
|
|
1320
|
+
this.contextPanel.clear();
|
|
1321
|
+
},
|
|
1322
|
+
});
|
|
1309
1323
|
}
|
|
1310
1324
|
|
|
1311
1325
|
if (type === 'contact') {
|
|
1312
|
-
|
|
1326
|
+
const contact = this.store.createRecord('contact', { type: 'customer', status: 'active' });
|
|
1327
|
+
return this.contextPanel.focus(contact, 'editing', {
|
|
1328
|
+
onAfterSave: (contact) => {
|
|
1329
|
+
this.setOrderCustomer(contact);
|
|
1330
|
+
this.contextPanel.clear();
|
|
1331
|
+
},
|
|
1332
|
+
});
|
|
1313
1333
|
}
|
|
1314
1334
|
}
|
|
1315
1335
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
|
+
import { inject as controller } from '@ember/controller';
|
|
2
3
|
import { inject as service } from '@ember/service';
|
|
3
4
|
import { tracked } from '@glimmer/tracking';
|
|
4
5
|
import { action, computed } from '@ember/object';
|
|
@@ -10,7 +11,7 @@ import groupBy from '@fleetbase/ember-core/utils/macros/group-by';
|
|
|
10
11
|
import findClosestWaypoint from '@fleetbase/ember-core/utils/find-closest-waypoint';
|
|
11
12
|
import getRoutingHost from '@fleetbase/ember-core/utils/get-routing-host';
|
|
12
13
|
|
|
13
|
-
export default class OperationsOrdersIndexViewController extends
|
|
14
|
+
export default class OperationsOrdersIndexViewController extends BaseController {
|
|
14
15
|
/**
|
|
15
16
|
* Inject the `operations.orders.index` controller
|
|
16
17
|
*
|
|
@@ -220,7 +221,7 @@ export default class OperationsOrdersIndexViewController extends Controller {
|
|
|
220
221
|
this.ordersController.setLayoutMode('map');
|
|
221
222
|
|
|
222
223
|
// create initial setup function which runs 600ms after invoked
|
|
223
|
-
const setup = (ms =
|
|
224
|
+
const setup = (ms = 600) => {
|
|
224
225
|
return later(
|
|
225
226
|
this,
|
|
226
227
|
() => {
|
|
@@ -237,7 +238,13 @@ export default class OperationsOrdersIndexViewController extends Controller {
|
|
|
237
238
|
|
|
238
239
|
// create a display order route only function
|
|
239
240
|
const displayOrderRoute = () => {
|
|
240
|
-
return
|
|
241
|
+
return later(
|
|
242
|
+
this,
|
|
243
|
+
() => {
|
|
244
|
+
return this.displayOrderRoute();
|
|
245
|
+
},
|
|
246
|
+
300
|
|
247
|
+
);
|
|
241
248
|
};
|
|
242
249
|
|
|
243
250
|
// re-display order routes when livemap has coordinates
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { inject as service } from '@ember/service';
|
|
3
3
|
import { tracked } from '@glimmer/tracking';
|
|
4
4
|
import { action } from '@ember/object';
|
|
@@ -8,7 +8,7 @@ import { isBlank } from '@ember/utils';
|
|
|
8
8
|
import { timeout } from 'ember-concurrency';
|
|
9
9
|
import { task } from 'ember-concurrency-decorators';
|
|
10
10
|
|
|
11
|
-
export default class OperationsOrdersIndexController extends
|
|
11
|
+
export default class OperationsOrdersIndexController extends BaseController {
|
|
12
12
|
/**
|
|
13
13
|
* Inject the `currentUser` service
|
|
14
14
|
*
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BaseController from '@fleetbase/fleetops-engine/controllers/base-controller';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
3
|
import { inject as service } from '@ember/service';
|
|
4
4
|
import { action } from '@ember/object';
|
|
5
5
|
import { format, isValid as isValidDate } from 'date-fns';
|
|
6
6
|
import createFullCalendarEventFromOrder from '../../../utils/create-full-calendar-event-from-order';
|
|
7
7
|
|
|
8
|
-
export default class OperationsSchedulerIndexController extends
|
|
8
|
+
export default class OperationsSchedulerIndexController extends BaseController {
|
|
9
9
|
@service modalsManager;
|
|
10
10
|
@service notifications;
|
|
11
11
|
@service store;
|