@fleetbase/fleetops-engine 0.6.69 → 0.6.71
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/RELEASE.md +21 -14
- package/addon/components/admin/telematics-settings.hbs +143 -0
- package/addon/components/admin/telematics-settings.js +145 -0
- package/addon/components/fuel-integration/hub.hbs +1 -1
- package/addon/components/layout/fleet-ops-sidebar.js +37 -17
- package/addon/components/map/leaflet-live-map.hbs +4 -242
- package/addon/components/map/leaflet-live-map.js +2 -1
- package/addon/components/map/marker-card/driver.hbs +57 -0
- package/addon/components/map/marker-card/driver.js +3 -0
- package/addon/components/map/marker-card/vehicle.hbs +78 -0
- package/addon/components/map/marker-card/vehicle.js +3 -0
- package/addon/components/order/details/activity.hbs +8 -6
- package/addon/components/order/details/activity.js +9 -0
- package/addon/components/order/details.hbs +29 -0
- package/addon/components/order/details.js +26 -0
- package/addon/components/order/form/details.hbs +30 -4
- package/addon/components/order/form/details.js +46 -0
- package/addon/components/order/form/route.hbs +4 -2
- package/addon/components/order/form/route.js +11 -0
- package/addon/components/order/form.hbs +12 -0
- package/addon/components/order/form.js +21 -1
- package/addon/components/order/kanban.js +72 -0
- package/addon/components/order-config-manager/activity-flow.js +45 -10
- package/addon/components/order-config-manager/lifecycle.hbs +250 -0
- package/addon/components/order-config-manager/lifecycle.js +358 -0
- package/addon/components/order-config-manager.js +5 -1
- package/addon/components/telematic/hub.hbs +1 -1
- package/addon/components/widget/live-fleet.hbs +8 -40
- package/addon/controllers/analytics/reports/index.js +15 -1
- package/addon/controllers/connectivity/devices/index/details.js +1 -0
- package/addon/controllers/connectivity/devices/index.js +12 -2
- package/addon/controllers/connectivity/events/index.js +31 -1
- package/addon/controllers/connectivity/fuel-providers/index.js +6 -4
- package/addon/controllers/connectivity/sensors/index/details.js +1 -1
- package/addon/controllers/connectivity/sensors/index.js +41 -1
- package/addon/controllers/connectivity/telematics/index.js +4 -0
- package/addon/controllers/maintenance/equipment/index/details.js +2 -2
- package/addon/controllers/maintenance/equipment/index.js +36 -10
- package/addon/controllers/maintenance/inspection-forms/index.js +32 -12
- package/addon/controllers/maintenance/inspection-submissions/index/details.js +2 -1
- package/addon/controllers/maintenance/inspection-submissions/index.js +56 -10
- package/addon/controllers/maintenance/maintenances/index/details.js +2 -0
- package/addon/controllers/maintenance/maintenances/index.js +24 -1
- package/addon/controllers/maintenance/parts/index/details.js +2 -2
- package/addon/controllers/maintenance/parts/index.js +36 -9
- package/addon/controllers/maintenance/schedules/index.js +48 -6
- package/addon/controllers/maintenance/work-orders/index/details.js +3 -3
- package/addon/controllers/maintenance/work-orders/index.js +47 -9
- package/addon/controllers/management/contacts/customers.js +13 -0
- package/addon/controllers/management/contacts/index.js +47 -1
- package/addon/controllers/management/drivers/index/details.js +1 -0
- package/addon/controllers/management/drivers/index.js +36 -2
- package/addon/controllers/management/fleets/index/details.js +1 -0
- package/addon/controllers/management/fleets/index.js +43 -1
- package/addon/controllers/management/fuel-reports/index.js +26 -2
- package/addon/controllers/management/fuel-transactions/index.js +45 -7
- package/addon/controllers/management/issues/index/details.js +1 -0
- package/addon/controllers/management/issues/index.js +26 -2
- package/addon/controllers/management/places/index.js +40 -1
- package/addon/controllers/management/trailers/index/details.js +1 -0
- package/addon/controllers/management/trailers/index.js +50 -2
- package/addon/controllers/management/vehicles/index/details.js +1 -0
- package/addon/controllers/management/vehicles/index.js +37 -2
- package/addon/controllers/management/vendors/index.js +30 -2
- package/addon/controllers/operations/orders/index/details.js +61 -5
- package/addon/controllers/operations/orders/index.js +66 -4
- package/addon/controllers/operations/service-rates/index.js +18 -1
- package/addon/controllers/settings/index.js +13 -0
- package/addon/controllers/settings/telematics.js +113 -0
- package/addon/extension.js +70 -6
- package/addon/routes/analytics/index.js +14 -1
- package/addon/routes/analytics/reports/index/details.js +1 -1
- package/addon/routes/analytics/reports/index/edit.js +1 -1
- package/addon/routes/analytics/reports/index/new.js +14 -1
- package/addon/routes/analytics/reports.js +14 -1
- package/addon/routes/connectivity/devices/index/new.js +14 -1
- package/addon/routes/connectivity/devices.js +14 -1
- package/addon/routes/connectivity/events.js +14 -1
- package/addon/routes/connectivity/fuel-providers/details/transactions.js +12 -0
- package/addon/routes/connectivity/fuel-providers/details.js +9 -0
- package/addon/routes/connectivity/fuel-providers/edit.js +9 -0
- package/addon/routes/connectivity/fuel-providers/new.js +14 -1
- package/addon/routes/connectivity/fuel-providers.js +14 -1
- package/addon/routes/connectivity/sensors/index/new.js +14 -1
- package/addon/routes/connectivity/sensors.js +14 -1
- package/addon/routes/connectivity/telematics/new.js +14 -1
- package/addon/routes/connectivity/telematics.js +14 -1
- package/addon/routes/connectivity/tracking.js +14 -1
- package/addon/routes/maintenance/equipment/index/details.js +2 -2
- package/addon/routes/maintenance/equipment/index/edit.js +2 -2
- package/addon/routes/maintenance/equipment/index/new.js +14 -1
- package/addon/routes/maintenance/equipment.js +14 -1
- package/addon/routes/maintenance/index.js +14 -1
- package/addon/routes/maintenance/inspection-forms/index/details.js +10 -1
- package/addon/routes/maintenance/inspection-forms/index/edit.js +10 -1
- package/addon/routes/maintenance/inspection-forms/index/new.js +14 -1
- package/addon/routes/maintenance/inspection-forms.js +14 -1
- package/addon/routes/maintenance/inspection-submissions/index/details.js +10 -1
- package/addon/routes/maintenance/inspection-submissions/index/edit.js +10 -1
- package/addon/routes/maintenance/inspection-submissions/index/new.js +14 -1
- package/addon/routes/maintenance/inspection-submissions.js +14 -1
- package/addon/routes/maintenance/maintenances/index/details.js +2 -2
- package/addon/routes/maintenance/maintenances/index/edit.js +2 -2
- package/addon/routes/maintenance/maintenances/index/new.js +14 -1
- package/addon/routes/maintenance/maintenances.js +14 -1
- package/addon/routes/maintenance/parts/index/details.js +2 -2
- package/addon/routes/maintenance/parts/index/edit.js +2 -2
- package/addon/routes/maintenance/parts/index/new.js +14 -1
- package/addon/routes/maintenance/parts.js +14 -1
- package/addon/routes/maintenance/schedules/index/details.js +2 -2
- package/addon/routes/maintenance/schedules/index/edit.js +2 -2
- package/addon/routes/maintenance/schedules/index/new.js +15 -1
- package/addon/routes/maintenance/schedules.js +15 -1
- package/addon/routes/maintenance/work-orders/index/details.js +2 -2
- package/addon/routes/maintenance/work-orders/index/edit.js +2 -2
- package/addon/routes/maintenance/work-orders/index/new.js +14 -1
- package/addon/routes/maintenance/work-orders.js +14 -1
- package/addon/routes/management/fuel-transactions/index/details.js +9 -0
- package/addon/routes/management/fuel-transactions.js +14 -1
- package/addon/routes/management/index.js +13 -0
- package/addon/routes/management/trailers.js +16 -0
- package/addon/routes/management/vendors/integrated/details.js +14 -1
- package/addon/routes/management/vendors/integrated/edit.js +14 -1
- package/addon/routes/management/vendors/integrated/new.js +14 -1
- package/addon/routes/management/vendors/integrated.js +14 -1
- package/addon/routes/operations/orders/index/details.js +1 -0
- package/addon/routes/operations/orders.js +40 -1
- package/addon/routes/operations/routes/index/details.js +14 -1
- package/addon/routes/operations/routes/index/new.js +13 -0
- package/addon/routes/operations/routes.js +14 -1
- package/addon/routes/operations/service-rates/index/new.js +11 -0
- package/addon/routes/operations/service-rates.js +14 -1
- package/addon/routes/settings/avatars.js +14 -1
- package/addon/routes/settings/custom-fields.js +14 -1
- package/addon/routes/settings/map.js +14 -1
- package/addon/routes/settings/notifications.js +11 -0
- package/addon/routes/settings/orchestrator.js +1 -1
- package/addon/routes/settings/payments/index.js +1 -1
- package/addon/routes/settings/routing.js +14 -1
- package/addon/routes/settings/scheduling.js +14 -1
- package/addon/routes/settings/telematics.js +21 -0
- package/addon/routes/virtual.js +11 -0
- package/addon/routes.js +1 -0
- package/addon/services/contact-actions.js +1 -0
- package/addon/services/customer-actions.js +2 -1
- package/addon/services/device-actions.js +1 -0
- package/addon/services/device-event-actions.js +1 -0
- package/addon/services/driver-actions.js +4 -13
- package/addon/services/equipment-actions.js +1 -0
- package/addon/services/fleet-actions.js +1 -0
- package/addon/services/fuel-report-actions.js +1 -0
- package/addon/services/inspection-form-actions.js +1 -0
- package/addon/services/inspection-submission-actions.js +1 -0
- package/addon/services/integrated-vendor-actions.js +1 -0
- package/addon/services/issue-actions.js +1 -0
- package/addon/services/maintenance-actions.js +1 -0
- package/addon/services/maintenance-schedule-actions.js +2 -1
- package/addon/services/order-actions.js +7 -0
- package/addon/services/order-presentation.js +129 -0
- package/addon/services/part-actions.js +1 -0
- package/addon/services/place-actions.js +1 -0
- package/addon/services/sensor-actions.js +1 -0
- package/addon/services/service-area-actions.js +1 -0
- package/addon/services/service-rate-actions.js +1 -0
- package/addon/services/telematic-actions.js +1 -0
- package/addon/services/trailer-actions.js +4 -14
- package/addon/services/vehicle-actions.js +4 -13
- package/addon/services/vendor-actions.js +1 -0
- package/addon/services/work-order-actions.js +1 -0
- package/addon/services/zone-actions.js +1 -0
- package/addon/templates/analytics/reports/index/details.hbs +1 -0
- package/addon/templates/analytics/reports/index.hbs +1 -0
- package/addon/templates/connectivity/devices/index/details.hbs +1 -0
- package/addon/templates/connectivity/devices/index.hbs +1 -0
- package/addon/templates/connectivity/events/index.hbs +1 -0
- package/addon/templates/connectivity/sensors/index/details.hbs +1 -0
- package/addon/templates/connectivity/sensors/index.hbs +1 -0
- package/addon/templates/maintenance/equipment/index/details.hbs +1 -0
- package/addon/templates/maintenance/equipment/index.hbs +2 -0
- package/addon/templates/maintenance/inspection-forms/index/details.hbs +1 -0
- package/addon/templates/maintenance/inspection-forms/index.hbs +1 -0
- package/addon/templates/maintenance/inspection-submissions/index/details.hbs +1 -0
- package/addon/templates/maintenance/inspection-submissions/index.hbs +1 -0
- package/addon/templates/maintenance/maintenances/index/details.hbs +1 -0
- package/addon/templates/maintenance/maintenances/index.hbs +1 -0
- package/addon/templates/maintenance/parts/index/details.hbs +1 -0
- package/addon/templates/maintenance/parts/index.hbs +2 -0
- package/addon/templates/maintenance/schedules/index/details.hbs +1 -0
- package/addon/templates/maintenance/schedules/index.hbs +2 -0
- package/addon/templates/maintenance/work-orders/index/details.hbs +1 -0
- package/addon/templates/maintenance/work-orders/index.hbs +1 -0
- package/addon/templates/management/contacts/customers/details.hbs +1 -0
- package/addon/templates/management/contacts/customers.hbs +1 -0
- package/addon/templates/management/contacts/index/details.hbs +1 -0
- package/addon/templates/management/contacts/index.hbs +1 -0
- package/addon/templates/management/contacts.hbs +1 -0
- package/addon/templates/management/drivers/index/details.hbs +1 -0
- package/addon/templates/management/drivers/index.hbs +2 -0
- package/addon/templates/management/fleets/index/details.hbs +1 -0
- package/addon/templates/management/fleets/index.hbs +1 -0
- package/addon/templates/management/fuel-reports/index/details.hbs +1 -0
- package/addon/templates/management/fuel-reports/index.hbs +1 -0
- package/addon/templates/management/fuel-transactions/index.hbs +1 -0
- package/addon/templates/management/issues/index/details.hbs +1 -0
- package/addon/templates/management/issues/index.hbs +1 -0
- package/addon/templates/management/places/index/details.hbs +1 -0
- package/addon/templates/management/places/index.hbs +1 -0
- package/addon/templates/management/trailers/index/details.hbs +1 -0
- package/addon/templates/management/trailers/index.hbs +2 -0
- package/addon/templates/management/vehicles/index/details.hbs +1 -0
- package/addon/templates/management/vehicles/index.hbs +2 -0
- package/addon/templates/management/vendors/index/details.hbs +1 -0
- package/addon/templates/management/vendors/index.hbs +2 -0
- package/addon/templates/management/vendors/integrated.hbs +1 -0
- package/addon/templates/operations/orders/index/details.hbs +1 -0
- package/addon/templates/operations/orders/index.hbs +1 -0
- package/addon/templates/operations/service-rates/index/details.hbs +1 -0
- package/addon/templates/operations/service-rates/index.hbs +1 -0
- package/addon/templates/settings/telematics.hbs +70 -0
- package/addon/utils/normalize-order-config-flow.js +6 -1
- package/app/components/admin/telematics-settings.js +1 -0
- package/app/components/map/marker-card/driver.js +1 -0
- package/app/components/map/marker-card/vehicle.js +1 -0
- package/app/controllers/settings/telematics.js +1 -0
- package/app/routes/settings/telematics.js +1 -0
- package/app/services/order-presentation.js +1 -0
- package/app/templates/settings/telematics.js +1 -0
- package/composer.json +2 -2
- package/docs/AFAQY.md +1 -1
- package/docs/TELEMATICS_QUEUES.md +1 -1
- package/docs/TELEMETRY_ARCHITECTURE.md +72 -1
- package/extension.json +1 -1
- package/package.json +3 -3
- package/server/config/telemetry.php +12 -0
- package/server/migrations/2026_09_23_000001_add_retention_index_to_device_events.php +40 -0
- package/server/migrations/2026_09_23_000002_add_retention_index_to_positions.php +40 -0
- package/server/migrations/2026_09_23_000003_add_retention_index_to_telematic_sync_runs.php +40 -0
- package/server/src/Auth/Schemas/FleetOps.php +104 -5
- package/server/src/Console/Commands/DrainTelematicInbox.php +3 -13
- package/server/src/Console/Commands/ProcessOperationalAlerts.php +3 -3
- package/server/src/Console/Commands/PruneTelematicsData.php +318 -0
- package/server/src/Http/Controllers/Api/v1/OrchestrationController.php +9 -0
- package/server/src/Http/Controllers/FleetOpsController.php +21 -0
- package/server/src/Http/Controllers/Internal/v1/AnalyticsController.php +11 -0
- package/server/src/Http/Controllers/Internal/v1/ContactController.php +11 -0
- package/server/src/Http/Controllers/Internal/v1/CustomerController.php +14 -0
- package/server/src/Http/Controllers/Internal/v1/DeviceController.php +13 -0
- package/server/src/Http/Controllers/Internal/v1/DeviceEventController.php +11 -0
- package/server/src/Http/Controllers/Internal/v1/DriverController.php +22 -0
- package/server/src/Http/Controllers/Internal/v1/FuelProviderConnectionController.php +13 -0
- package/server/src/Http/Controllers/Internal/v1/FuelProviderTransactionController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/FuelReportController.php +9 -3
- package/server/src/Http/Controllers/Internal/v1/InspectionFormController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/LiveController.php +16 -0
- package/server/src/Http/Controllers/Internal/v1/MaintenanceController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/MaintenanceScheduleController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/ManifestController.php +15 -0
- package/server/src/Http/Controllers/Internal/v1/MetricsController.php +11 -0
- package/server/src/Http/Controllers/Internal/v1/NavigatorController.php +42 -1
- package/server/src/Http/Controllers/Internal/v1/OrchestrationController.php +12 -0
- package/server/src/Http/Controllers/Internal/v1/OrderController.php +56 -4
- package/server/src/Http/Controllers/Internal/v1/PaymentController.php +13 -0
- package/server/src/Http/Controllers/Internal/v1/RadarController.php +19 -0
- package/server/src/Http/Controllers/Internal/v1/ServiceAreaController.php +9 -3
- package/server/src/Http/Controllers/Internal/v1/SettingController.php +465 -14
- package/server/src/Http/Controllers/Internal/v1/TelematicController.php +21 -0
- package/server/src/Http/Controllers/Internal/v1/TrailerController.php +21 -0
- package/server/src/Http/Controllers/Internal/v1/VehicleController.php +21 -0
- package/server/src/Http/Controllers/Internal/v1/VendorController.php +17 -0
- package/server/src/Http/Controllers/Internal/v1/WorkOrderController.php +11 -0
- package/server/src/Jobs/DispatchTelematicsRetentionJobs.php +70 -0
- package/server/src/Jobs/PruneTelematicsDataJob.php +74 -0
- package/server/src/Listeners/NotifyDriverOnShiftChange.php +3 -3
- package/server/src/Mail/CustomerCredentialsMail.php +1 -1
- package/server/src/Models/Order.php +35 -3
- package/server/src/Models/OrderConfig.php +129 -0
- package/server/src/Models/TrackingNumber.php +8 -4
- package/server/src/Orchestration/Engines/VroomOrchestrationEngine.php +9 -1
- package/server/src/Providers/FleetOpsServiceProvider.php +3 -0
- package/server/src/Support/Analytics/LiveFleet.php +18 -2
- package/server/src/Support/Authorization.php +103 -0
- package/server/src/Support/Database/TableIndexes.php +66 -0
- package/server/src/Support/OrderTracker.php +2 -2
- package/server/src/Support/Reporting/FleetOpsReportSchema.php +476 -116
- package/server/src/Support/Telematics/Retention/RetentionPolicy.php +300 -0
- package/server/src/Support/Telematics/Retention/TelemetryActivity.php +40 -0
- package/server/src/Support/Telematics/TelematicService.php +12 -2
- package/server/src/Support/Telematics/Telemetry/Ingestor.php +4 -2
- package/server/src/Tracking/TrackingIntelligenceService.php +1 -1
- package/server/src/Tracking/TrackingOptions.php +2 -2
- package/server/src/Traits/AuthorizesMethods.php +37 -0
- package/server/src/routes.php +9 -1
- package/server/tests/AnalyticsRoutesTest.php +29 -2
- package/server/tests/Feature/Http/AfaqyRealtimeIngestionTest.php +16 -1
- package/server/tests/Feature/Http/Api/TelematicsRetentionIndexMigrationTest.php +115 -0
- package/server/tests/Feature/Http/Internal/OrderControllerActivityFlowsTest.php +72 -0
- package/server/tests/Feature/Http/Internal/OrderControllerCreateRecordTest.php +26 -0
- package/server/tests/Feature/Http/Internal/SettingControllerHelpersTest.php +71 -0
- package/server/tests/Feature/Http/Internal/TelematicsStorageDeadlinesTest.php +119 -0
- package/server/tests/InternalImportExportControllerContractsTest.php +5 -8
- package/server/tests/NavigatorControllerContractsTest.php +36 -4
- package/server/tests/NotificationAndMailContractsTest.php +31 -0
- package/server/tests/ObserverContractsTest.php +1 -1
- package/server/tests/OrchestratorConsumableApiTest.php +42 -0
- package/server/tests/OrderConfigLifecycleTest.php +120 -0
- package/server/tests/ProviderContractsTest.php +10 -0
- package/server/tests/ReportSchemaContractsTest.php +120 -6
- package/server/tests/SettingControllerContractsTest.php +429 -18
- package/server/tests/SmallControllerContractsTest.php +8 -5
- package/server/tests/Support/PruneTelematicsDataProbe.php +55 -0
- package/server/tests/Unit/Console/Commands/ProcessOperationalAlertsCommandTest.php +2 -2
- package/server/tests/Unit/Console/PruneTelematicsDataCommandTest.php +353 -0
- package/server/tests/Unit/Events/OrderDispatchFailedTest.php +2 -1
- package/server/tests/Unit/Jobs/DispatchTelematicsRetentionJobsTest.php +114 -0
- package/server/tests/Unit/Jobs/PruneTelematicsDataJobTest.php +60 -0
- package/server/tests/Unit/Orchestration/VroomEngineTransportAndSettingsTest.php +20 -0
- package/server/tests/Unit/Support/Analytics/LiveFleetTest.php +6 -0
- package/server/tests/Unit/Support/AuthorizationTest.php +142 -0
- package/server/tests/Unit/Support/MaintainableAndOperationalAlertsTest.php +12 -1
- package/server/tests/Unit/Support/MoreQuerySeamsTest.php +11 -2
- package/server/tests/Unit/Support/Telematics/Retention/RetentionPolicyTest.php +190 -0
- package/server/tests/Unit/Support/Telematics/Retention/TelemetryActivityTest.php +68 -0
- package/server/tests/Unit/Tracking/TrackingOptionsCompanySettingsTest.php +109 -0
- package/translations/en-us.yaml +108 -0
|
@@ -10,7 +10,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
10
10
|
@service intl;
|
|
11
11
|
|
|
12
12
|
/** query params */
|
|
13
|
-
@tracked queryParams = [
|
|
13
|
+
@tracked queryParams = this.fuelReportActions.queryParamsFor([
|
|
14
14
|
'page',
|
|
15
15
|
'limit',
|
|
16
16
|
'sort',
|
|
@@ -27,7 +27,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
27
27
|
'country',
|
|
28
28
|
'volume',
|
|
29
29
|
'odometer',
|
|
30
|
-
];
|
|
30
|
+
]);
|
|
31
31
|
@tracked page = 1;
|
|
32
32
|
@tracked limit;
|
|
33
33
|
@tracked sort = '-created_at';
|
|
@@ -47,28 +47,35 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
47
47
|
get actionButtons() {
|
|
48
48
|
return [
|
|
49
49
|
{
|
|
50
|
+
id: 'refresh',
|
|
50
51
|
icon: 'refresh',
|
|
51
52
|
onClick: this.fuelReportActions.refresh,
|
|
52
53
|
helpText: this.intl.t('common.refresh'),
|
|
53
54
|
},
|
|
54
55
|
{
|
|
56
|
+
id: 'create',
|
|
55
57
|
text: this.intl.t('common.new'),
|
|
56
58
|
type: 'primary',
|
|
57
59
|
icon: 'plus',
|
|
58
60
|
onClick: this.fuelReportActions.transition.create,
|
|
61
|
+
permission: 'fleet-ops create fuel-report',
|
|
59
62
|
},
|
|
60
63
|
{
|
|
64
|
+
id: 'import',
|
|
61
65
|
text: this.intl.t('common.import'),
|
|
62
66
|
type: 'magic',
|
|
63
67
|
icon: 'upload',
|
|
64
68
|
onClick: this.fuelReportActions.import,
|
|
69
|
+
permission: 'fleet-ops import fuel-report',
|
|
65
70
|
},
|
|
66
71
|
{
|
|
72
|
+
id: 'export',
|
|
67
73
|
text: this.intl.t('common.export'),
|
|
68
74
|
icon: 'long-arrow-up',
|
|
69
75
|
iconClass: 'rotate-icon-45',
|
|
70
76
|
wrapperClass: 'hidden md:flex',
|
|
71
77
|
onClick: this.fuelReportActions.export,
|
|
78
|
+
permission: 'fleet-ops export fuel-report',
|
|
72
79
|
},
|
|
73
80
|
];
|
|
74
81
|
}
|
|
@@ -79,9 +86,11 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
79
86
|
|
|
80
87
|
return [
|
|
81
88
|
{
|
|
89
|
+
id: 'bulk-delete',
|
|
82
90
|
label: this.intl.t('common.delete-selected-count', { count: selected.length }),
|
|
83
91
|
class: 'text-red-500',
|
|
84
92
|
fn: this.fuelReportActions.bulkDelete,
|
|
93
|
+
permission: 'fleet-ops delete fuel-report',
|
|
85
94
|
},
|
|
86
95
|
];
|
|
87
96
|
}
|
|
@@ -90,6 +99,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
90
99
|
get columns() {
|
|
91
100
|
return [
|
|
92
101
|
{
|
|
102
|
+
id: 'public-id',
|
|
93
103
|
sticky: true,
|
|
94
104
|
label: this.intl.t('column.id'),
|
|
95
105
|
valuePath: 'public_id',
|
|
@@ -102,6 +112,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
102
112
|
filterComponent: 'filter/string',
|
|
103
113
|
},
|
|
104
114
|
{
|
|
115
|
+
id: 'reporter-name',
|
|
105
116
|
label: this.intl.t('column.reporter'),
|
|
106
117
|
valuePath: 'reporter_name',
|
|
107
118
|
cellComponent: 'table/cell/user-identity',
|
|
@@ -116,6 +127,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
116
127
|
model: 'user',
|
|
117
128
|
},
|
|
118
129
|
{
|
|
130
|
+
id: 'driver-name',
|
|
119
131
|
label: this.intl.t('column.driver'),
|
|
120
132
|
valuePath: 'driver_name',
|
|
121
133
|
cellComponent: 'cell/driver-identity',
|
|
@@ -132,6 +144,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
132
144
|
model: 'driver',
|
|
133
145
|
},
|
|
134
146
|
{
|
|
147
|
+
id: 'vehicle-name',
|
|
135
148
|
label: this.intl.t('column.vehicle'),
|
|
136
149
|
valuePath: 'vehicle_name',
|
|
137
150
|
cellComponent: 'cell/vehicle-identity',
|
|
@@ -149,6 +162,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
149
162
|
modelNamePath: 'displayName',
|
|
150
163
|
},
|
|
151
164
|
{
|
|
165
|
+
id: 'status',
|
|
152
166
|
label: this.intl.t('column.status'),
|
|
153
167
|
valuePath: 'status',
|
|
154
168
|
cellComponent: 'table/cell/status',
|
|
@@ -159,6 +173,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
159
173
|
filterOptions: ['draft', 'pending-approval', 'approved', 'rejected', 'revised', 'submitted', 'in-review', 'confirmed', 'processed', 'archived', 'cancelled'],
|
|
160
174
|
},
|
|
161
175
|
{
|
|
176
|
+
id: 'source',
|
|
162
177
|
label: 'Source',
|
|
163
178
|
valuePath: 'source',
|
|
164
179
|
resizable: true,
|
|
@@ -168,6 +183,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
168
183
|
filterOptions: ['manual', 'import', 'fuel_provider'],
|
|
169
184
|
},
|
|
170
185
|
{
|
|
186
|
+
id: 'provider',
|
|
171
187
|
label: 'Provider',
|
|
172
188
|
valuePath: 'provider',
|
|
173
189
|
resizable: true,
|
|
@@ -176,6 +192,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
176
192
|
filterComponent: 'filter/string',
|
|
177
193
|
},
|
|
178
194
|
{
|
|
195
|
+
id: 'volume',
|
|
179
196
|
label: this.intl.t('column.volume'),
|
|
180
197
|
valuePath: 'volume',
|
|
181
198
|
cellComponent: 'click-to-copy',
|
|
@@ -186,6 +203,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
186
203
|
filterComponent: 'filter/string',
|
|
187
204
|
},
|
|
188
205
|
{
|
|
206
|
+
id: 'odometer',
|
|
189
207
|
label: this.intl.t('column.odometer'),
|
|
190
208
|
valuePath: 'odometer',
|
|
191
209
|
cellComponent: 'click-to-copy',
|
|
@@ -196,6 +214,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
196
214
|
filterComponent: 'filter/string',
|
|
197
215
|
},
|
|
198
216
|
{
|
|
217
|
+
id: 'created-at',
|
|
199
218
|
label: this.intl.t('column.created-at'),
|
|
200
219
|
valuePath: 'createdAt',
|
|
201
220
|
sortParam: 'created_at',
|
|
@@ -205,6 +224,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
205
224
|
filterComponent: 'filter/date',
|
|
206
225
|
},
|
|
207
226
|
{
|
|
227
|
+
id: 'updated-at',
|
|
208
228
|
label: this.intl.t('column.updated-at'),
|
|
209
229
|
valuePath: 'updatedAt',
|
|
210
230
|
sortParam: 'updated_at',
|
|
@@ -215,6 +235,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
215
235
|
filterComponent: 'filter/date',
|
|
216
236
|
},
|
|
217
237
|
{
|
|
238
|
+
id: 'row-actions',
|
|
218
239
|
label: '',
|
|
219
240
|
cellComponent: 'table/cell/dropdown',
|
|
220
241
|
ddButtonText: false,
|
|
@@ -227,11 +248,13 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
227
248
|
width: 60,
|
|
228
249
|
actions: [
|
|
229
250
|
{
|
|
251
|
+
id: 'view',
|
|
230
252
|
label: this.intl.t('common.view-resource', { resource: this.intl.t('resource.fuel-report') }),
|
|
231
253
|
fn: this.fuelReportActions.transition.view,
|
|
232
254
|
permission: 'fleet-ops view fuel-report',
|
|
233
255
|
},
|
|
234
256
|
{
|
|
257
|
+
id: 'edit',
|
|
235
258
|
label: this.intl.t('common.edit-resource', { resource: this.intl.t('resource.fuel-report') }),
|
|
236
259
|
fn: this.fuelReportActions.transition.edit,
|
|
237
260
|
permission: 'fleet-ops update fuel-report',
|
|
@@ -240,6 +263,7 @@ export default class ManagementFuelReportsIndexController extends Controller {
|
|
|
240
263
|
separator: true,
|
|
241
264
|
},
|
|
242
265
|
{
|
|
266
|
+
id: 'delete',
|
|
243
267
|
label: this.intl.t('common.delete-resource', { resource: this.intl.t('resource.fuel-report') }),
|
|
244
268
|
fn: this.fuelReportActions.delete,
|
|
245
269
|
permission: 'fleet-ops delete fuel-report',
|
|
@@ -63,14 +63,17 @@ export default class ManagementFuelTransactionsIndexController extends Controlle
|
|
|
63
63
|
get actionButtons() {
|
|
64
64
|
return [
|
|
65
65
|
{
|
|
66
|
+
id: 'refresh',
|
|
66
67
|
icon: 'refresh',
|
|
67
68
|
onClick: this.refresh,
|
|
68
69
|
helpText: 'Refresh',
|
|
69
70
|
},
|
|
70
71
|
{
|
|
72
|
+
id: 'fuel-integrations',
|
|
71
73
|
icon: 'gas-pump',
|
|
72
74
|
text: 'Fuel Integrations',
|
|
73
75
|
onClick: () => this.hostRouter.transitionTo('console.fleet-ops.connectivity.fuel-providers.index'),
|
|
76
|
+
permission: 'fleet-ops list fuel-provider-connection',
|
|
74
77
|
},
|
|
75
78
|
];
|
|
76
79
|
}
|
|
@@ -84,8 +87,10 @@ export default class ManagementFuelTransactionsIndexController extends Controlle
|
|
|
84
87
|
|
|
85
88
|
return [
|
|
86
89
|
{
|
|
90
|
+
id: 'bulk-reprocess',
|
|
87
91
|
label: `Reprocess ${selected.length} selected`,
|
|
88
92
|
fn: () => this.confirmAction('reprocess', selected),
|
|
93
|
+
permission: 'fleet-ops update fuel-provider-transaction',
|
|
89
94
|
},
|
|
90
95
|
];
|
|
91
96
|
}
|
|
@@ -93,6 +98,7 @@ export default class ManagementFuelTransactionsIndexController extends Controlle
|
|
|
93
98
|
get columns() {
|
|
94
99
|
return [
|
|
95
100
|
{
|
|
101
|
+
id: 'provider-transaction-id',
|
|
96
102
|
sticky: true,
|
|
97
103
|
label: 'Transaction',
|
|
98
104
|
valuePath: 'provider_transaction_id',
|
|
@@ -105,6 +111,7 @@ export default class ManagementFuelTransactionsIndexController extends Controlle
|
|
|
105
111
|
filterComponent: 'filter/string',
|
|
106
112
|
},
|
|
107
113
|
{
|
|
114
|
+
id: 'provider',
|
|
108
115
|
label: 'Provider',
|
|
109
116
|
valuePath: 'provider',
|
|
110
117
|
resizable: true,
|
|
@@ -113,6 +120,7 @@ export default class ManagementFuelTransactionsIndexController extends Controlle
|
|
|
113
120
|
filterComponent: 'filter/string',
|
|
114
121
|
},
|
|
115
122
|
{
|
|
123
|
+
id: 'sync-status',
|
|
116
124
|
label: 'Status',
|
|
117
125
|
valuePath: 'sync_status',
|
|
118
126
|
cellComponent: 'fuel-transaction-status',
|
|
@@ -123,6 +131,7 @@ export default class ManagementFuelTransactionsIndexController extends Controlle
|
|
|
123
131
|
filterOptions: ['imported', 'matched', 'unmatched', 'reviewed', 'ignored', 'duplicate', 'error'],
|
|
124
132
|
},
|
|
125
133
|
{
|
|
134
|
+
id: 'vehicle-name',
|
|
126
135
|
label: 'Vehicle',
|
|
127
136
|
valuePath: 'vehicle_name',
|
|
128
137
|
cellComponent: 'cell/vehicle-identity',
|
|
@@ -137,28 +146,33 @@ export default class ManagementFuelTransactionsIndexController extends Controlle
|
|
|
137
146
|
modelNamePath: 'displayName',
|
|
138
147
|
},
|
|
139
148
|
{
|
|
149
|
+
id: 'vehicle-card-id',
|
|
140
150
|
label: 'Card / Internal',
|
|
141
151
|
valuePath: 'vehicle_card_id',
|
|
142
152
|
resizable: true,
|
|
143
153
|
},
|
|
144
154
|
{
|
|
155
|
+
id: 'trip-number',
|
|
145
156
|
label: 'Trip',
|
|
146
157
|
valuePath: 'trip_number',
|
|
147
158
|
resizable: true,
|
|
148
159
|
hidden: true,
|
|
149
160
|
},
|
|
150
161
|
{
|
|
162
|
+
id: 'station-name',
|
|
151
163
|
label: 'Station',
|
|
152
164
|
valuePath: 'station_name',
|
|
153
165
|
resizable: true,
|
|
154
166
|
},
|
|
155
167
|
{
|
|
168
|
+
id: 'volume',
|
|
156
169
|
label: 'Liters',
|
|
157
170
|
valuePath: 'volume',
|
|
158
171
|
resizable: true,
|
|
159
172
|
sortable: true,
|
|
160
173
|
},
|
|
161
174
|
{
|
|
175
|
+
id: 'amount',
|
|
162
176
|
label: 'Amount',
|
|
163
177
|
valuePath: 'amount',
|
|
164
178
|
cellComponent: 'table/cell/currency',
|
|
@@ -166,6 +180,7 @@ export default class ManagementFuelTransactionsIndexController extends Controlle
|
|
|
166
180
|
sortable: true,
|
|
167
181
|
},
|
|
168
182
|
{
|
|
183
|
+
id: 'fuel-report-id',
|
|
169
184
|
label: 'Fuel Report',
|
|
170
185
|
valuePath: 'fuel_report_id',
|
|
171
186
|
cellComponent: 'cell/fuel-report-identity',
|
|
@@ -175,6 +190,7 @@ export default class ManagementFuelTransactionsIndexController extends Controlle
|
|
|
175
190
|
resizable: true,
|
|
176
191
|
},
|
|
177
192
|
{
|
|
193
|
+
id: 'transaction-at',
|
|
178
194
|
label: 'Date',
|
|
179
195
|
valuePath: 'transactionAt',
|
|
180
196
|
sortParam: 'transaction_at',
|
|
@@ -185,6 +201,7 @@ export default class ManagementFuelTransactionsIndexController extends Controlle
|
|
|
185
201
|
filterComponent: 'filter/date',
|
|
186
202
|
},
|
|
187
203
|
{
|
|
204
|
+
id: 'row-actions',
|
|
188
205
|
label: '',
|
|
189
206
|
cellComponent: 'table/cell/dropdown',
|
|
190
207
|
ddButtonText: false,
|
|
@@ -196,14 +213,35 @@ export default class ManagementFuelTransactionsIndexController extends Controlle
|
|
|
196
213
|
sticky: 'right',
|
|
197
214
|
width: 60,
|
|
198
215
|
actions: [
|
|
199
|
-
{ label: 'Review Details', fn: this.openDetails },
|
|
200
|
-
{
|
|
216
|
+
{ id: 'open-details', label: 'Review Details', fn: this.openDetails, permission: 'fleet-ops view fuel-provider-transaction' },
|
|
217
|
+
{
|
|
218
|
+
id: 'open-fuel-report',
|
|
219
|
+
label: 'Open Fuel Report',
|
|
220
|
+
fn: this.openFuelReport,
|
|
221
|
+
isVisible: (transaction) => Boolean(transaction.fuel_report_id),
|
|
222
|
+
permission: 'fleet-ops view fuel-report',
|
|
223
|
+
},
|
|
201
224
|
{ separator: true },
|
|
202
|
-
{ label: 'Match to Vehicle', fn: this.matchVehicle },
|
|
203
|
-
{ label: 'Match to Order', fn: this.matchOrder },
|
|
204
|
-
{
|
|
205
|
-
|
|
206
|
-
|
|
225
|
+
{ id: 'match-vehicle', label: 'Match to Vehicle', fn: this.matchVehicle, permission: 'fleet-ops update fuel-provider-transaction' },
|
|
226
|
+
{ id: 'match-order', label: 'Match to Order', fn: this.matchOrder, permission: 'fleet-ops update fuel-provider-transaction' },
|
|
227
|
+
{
|
|
228
|
+
id: 'reprocess',
|
|
229
|
+
label: 'Reprocess / Rematch',
|
|
230
|
+
fn: (transaction) => this.confirmAction('reprocess', transaction),
|
|
231
|
+
permission: 'fleet-ops update fuel-provider-transaction',
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
id: 'ignore',
|
|
235
|
+
label: 'Ignore Transaction',
|
|
236
|
+
fn: (transaction) => this.confirmAction('ignored', transaction),
|
|
237
|
+
permission: 'fleet-ops review fuel-provider-transaction',
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
id: 'mark-reviewed',
|
|
241
|
+
label: 'Mark Reviewed',
|
|
242
|
+
fn: (transaction) => this.confirmAction('reviewed', transaction),
|
|
243
|
+
permission: 'fleet-ops review fuel-provider-transaction',
|
|
244
|
+
},
|
|
207
245
|
],
|
|
208
246
|
sortable: false,
|
|
209
247
|
filterable: false,
|
|
@@ -20,6 +20,7 @@ export default class ManagementIssuesIndexDetailsController extends Controller {
|
|
|
20
20
|
fn: () => this.hostRouter.transitionTo('console.fleet-ops.management.issues.index.edit', this.model),
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
+
id: 'more',
|
|
23
24
|
icon: 'ellipsis',
|
|
24
25
|
type: 'default',
|
|
25
26
|
items: this.issueActions.workflowItems(this.model, () => this.refreshIssue()),
|
|
@@ -11,7 +11,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
11
11
|
@service intl;
|
|
12
12
|
|
|
13
13
|
/** query params */
|
|
14
|
-
@tracked queryParams = [
|
|
14
|
+
@tracked queryParams = this.issueActions.queryParamsFor([
|
|
15
15
|
'page',
|
|
16
16
|
'limit',
|
|
17
17
|
'sort',
|
|
@@ -28,7 +28,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
28
28
|
'priority',
|
|
29
29
|
'cateogry',
|
|
30
30
|
'type',
|
|
31
|
-
];
|
|
31
|
+
]);
|
|
32
32
|
@tracked page = 1;
|
|
33
33
|
@tracked limit;
|
|
34
34
|
@tracked sort = '-created_at';
|
|
@@ -47,28 +47,35 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
47
47
|
get actionButtons() {
|
|
48
48
|
return [
|
|
49
49
|
{
|
|
50
|
+
id: 'refresh',
|
|
50
51
|
icon: 'refresh',
|
|
51
52
|
onClick: this.issueActions.refresh,
|
|
52
53
|
helpText: this.intl.t('common.refresh'),
|
|
53
54
|
},
|
|
54
55
|
{
|
|
56
|
+
id: 'create',
|
|
55
57
|
text: this.intl.t('common.new'),
|
|
56
58
|
type: 'primary',
|
|
57
59
|
icon: 'plus',
|
|
58
60
|
onClick: this.issueActions.transition.create,
|
|
61
|
+
permission: 'fleet-ops create issue',
|
|
59
62
|
},
|
|
60
63
|
{
|
|
64
|
+
id: 'import',
|
|
61
65
|
text: this.intl.t('common.import'),
|
|
62
66
|
type: 'magic',
|
|
63
67
|
icon: 'upload',
|
|
64
68
|
onClick: this.issueActions.import,
|
|
69
|
+
permission: 'fleet-ops import issue',
|
|
65
70
|
},
|
|
66
71
|
{
|
|
72
|
+
id: 'export',
|
|
67
73
|
text: this.intl.t('common.export'),
|
|
68
74
|
icon: 'long-arrow-up',
|
|
69
75
|
iconClass: 'rotate-icon-45',
|
|
70
76
|
wrapperClass: 'hidden md:flex',
|
|
71
77
|
onClick: this.issueActions.export,
|
|
78
|
+
permission: 'fleet-ops export issue',
|
|
72
79
|
},
|
|
73
80
|
];
|
|
74
81
|
}
|
|
@@ -79,9 +86,11 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
79
86
|
|
|
80
87
|
return [
|
|
81
88
|
{
|
|
89
|
+
id: 'bulk-delete',
|
|
82
90
|
label: this.intl.t('common.delete-selected-count', { count: selected.length }),
|
|
83
91
|
class: 'text-red-500',
|
|
84
92
|
fn: this.issueActions.bulkDelete,
|
|
93
|
+
permission: 'fleet-ops delete issue',
|
|
85
94
|
},
|
|
86
95
|
];
|
|
87
96
|
}
|
|
@@ -90,6 +99,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
90
99
|
get columns() {
|
|
91
100
|
return [
|
|
92
101
|
{
|
|
102
|
+
id: 'public-id',
|
|
93
103
|
sticky: true,
|
|
94
104
|
label: this.intl.t('column.id'),
|
|
95
105
|
valuePath: 'public_id',
|
|
@@ -100,6 +110,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
100
110
|
sortable: true,
|
|
101
111
|
},
|
|
102
112
|
{
|
|
113
|
+
id: 'priority',
|
|
103
114
|
label: this.intl.t('column.priority'),
|
|
104
115
|
valuePath: 'priority',
|
|
105
116
|
cellComponent: 'table/cell/status',
|
|
@@ -110,6 +121,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
110
121
|
filterOptions: ['low', 'medium', 'high', 'critical', 'scheduled-maintenance', 'operational-suggestion'],
|
|
111
122
|
},
|
|
112
123
|
{
|
|
124
|
+
id: 'type',
|
|
113
125
|
label: this.intl.t('column.type'),
|
|
114
126
|
valuePath: 'type',
|
|
115
127
|
humanize: true,
|
|
@@ -123,6 +135,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
123
135
|
placeholder: 'Select issue type',
|
|
124
136
|
},
|
|
125
137
|
{
|
|
138
|
+
id: 'category',
|
|
126
139
|
label: this.intl.t('column.category'),
|
|
127
140
|
valuePath: 'category',
|
|
128
141
|
humanize: true,
|
|
@@ -136,6 +149,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
136
149
|
placeholder: 'Select issue category',
|
|
137
150
|
},
|
|
138
151
|
{
|
|
152
|
+
id: 'reporter-name',
|
|
139
153
|
label: this.intl.t('column.reporter'),
|
|
140
154
|
valuePath: 'reporter_name',
|
|
141
155
|
cellComponent: 'table/cell/user-identity',
|
|
@@ -151,6 +165,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
151
165
|
model: 'user',
|
|
152
166
|
},
|
|
153
167
|
{
|
|
168
|
+
id: 'assignee-name',
|
|
154
169
|
label: this.intl.t('column.assignee'),
|
|
155
170
|
valuePath: 'assignee_name',
|
|
156
171
|
cellComponent: 'table/cell/user-identity',
|
|
@@ -166,6 +181,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
166
181
|
model: 'user',
|
|
167
182
|
},
|
|
168
183
|
{
|
|
184
|
+
id: 'driver-name',
|
|
169
185
|
label: this.intl.t('column.driver'),
|
|
170
186
|
valuePath: 'driver_name',
|
|
171
187
|
cellComponent: 'cell/driver-identity',
|
|
@@ -182,6 +198,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
182
198
|
model: 'driver',
|
|
183
199
|
},
|
|
184
200
|
{
|
|
201
|
+
id: 'vehicle-name',
|
|
185
202
|
label: this.intl.t('column.vehicle'),
|
|
186
203
|
valuePath: 'vehicle_name',
|
|
187
204
|
cellComponent: 'cell/vehicle-identity',
|
|
@@ -199,6 +216,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
199
216
|
modelNamePath: 'displayName',
|
|
200
217
|
},
|
|
201
218
|
{
|
|
219
|
+
id: 'status',
|
|
202
220
|
label: this.intl.t('column.status'),
|
|
203
221
|
valuePath: 'status',
|
|
204
222
|
cellComponent: 'table/cell/status',
|
|
@@ -209,6 +227,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
209
227
|
filterOptions: ['pending', 'in-progress', 'backlogged', 'requires-update', 'in-review', 're-opened', 'duplicate', 'pending-review', 'escalated', 'completed', 'canceled'],
|
|
210
228
|
},
|
|
211
229
|
{
|
|
230
|
+
id: 'created-at',
|
|
212
231
|
label: this.intl.t('column.created-at'),
|
|
213
232
|
valuePath: 'createdAt',
|
|
214
233
|
sortParam: 'created_at',
|
|
@@ -218,6 +237,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
218
237
|
filterComponent: 'filter/date',
|
|
219
238
|
},
|
|
220
239
|
{
|
|
240
|
+
id: 'updated-at',
|
|
221
241
|
label: this.intl.t('column.updated-at'),
|
|
222
242
|
valuePath: 'updatedAt',
|
|
223
243
|
sortParam: 'updated_at',
|
|
@@ -228,6 +248,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
228
248
|
filterComponent: 'filter/date',
|
|
229
249
|
},
|
|
230
250
|
{
|
|
251
|
+
id: 'row-actions',
|
|
231
252
|
label: '',
|
|
232
253
|
cellComponent: 'table/cell/dropdown',
|
|
233
254
|
ddButtonText: false,
|
|
@@ -240,11 +261,13 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
240
261
|
width: 60,
|
|
241
262
|
actions: [
|
|
242
263
|
{
|
|
264
|
+
id: 'view',
|
|
243
265
|
label: this.intl.t('common.view-resource', { resource: this.intl.t('resource.issue') }),
|
|
244
266
|
fn: this.issueActions.transition.view,
|
|
245
267
|
permission: 'fleet-ops view issue',
|
|
246
268
|
},
|
|
247
269
|
{
|
|
270
|
+
id: 'edit',
|
|
248
271
|
label: this.intl.t('common.edit-resource', { resource: this.intl.t('resource.issue') }),
|
|
249
272
|
fn: this.issueActions.transition.edit,
|
|
250
273
|
permission: 'fleet-ops update issue',
|
|
@@ -253,6 +276,7 @@ export default class ManagementIssuesIndexController extends Controller {
|
|
|
253
276
|
separator: true,
|
|
254
277
|
},
|
|
255
278
|
{
|
|
279
|
+
id: 'delete',
|
|
256
280
|
label: this.intl.t('common.delete-resource', { resource: this.intl.t('resource.issue') }),
|
|
257
281
|
fn: this.issueActions.delete,
|
|
258
282
|
permission: 'fleet-ops delete issue',
|