Merged
Conversation
- Added @service events injection to 30 controllers - Track resource created events in NEW controllers - Track resource updated events in EDIT controllers - Added standard event tracking to customer/create-order-form component - Maintains backward compatibility with existing custom events Controllers updated: - Analytics: reports (2) - Connectivity: devices, sensors, telematics (6) - Management: contacts, drivers, fleets, fuel-reports, issues, places, vehicles, vendors (16) - Operations: orders, service-rates (4) Events emitted: - Generic: resource.created, resource.updated - Specific: {model}.created, {model}.updated These events will be consumed by internals analytics-listener for PostHog tracking in cloud deployments.
Implements import count tracking across all import operations to enable
accurate analytics event tracking in PostHog.
Changes:
Import Classes (8 files):
- Added public $imported counter property to track successfully imported rows
- Incremented counter for each processed row in collection() method
- Files: ContactImport, DriverImport, FleetImport, FuelReportImport,
IssueImport, PlaceImport, VehicleImport, VendorImport
Controllers (8 files):
- Added $importedCount variable to accumulate counts across multiple files
- Instantiate import class to access the counter
- Return 'imported' field in JSON response with total count
- Files: ContactController, DriverController, FleetController,
FuelReportController, IssueController, PlaceController,
VehicleController, VendorController
Response Format:
{
"status": "ok",
"message": "Import completed",
"imported": 47
}
Benefits:
- Frontend can now track exact import counts in PostHog analytics
- Better UX - users see how many records were imported
- Consistent with existing patterns (OrderController.importFromFiles)
- Enables accurate resource.imported event tracking
Related:
- Complements ember-core events service implementation
- Supports PostHog analytics integration in internals
feat: Add resource count tracking to import responses
…rt schema - Remove 'meta' from excludeColumns to make it available in report builder - Add meta column definition with JSON type for custom fields and metadata - Add Transaction relationship with auto-join support for financial reporting - Include nested TransactionItems relationship for line-item details - Add computed columns for transaction amount aggregates (sum, avg, count) This enables users to query and report on: - Order metadata and custom fields - Transaction financial data (amount, currency, gateway, status) - Transaction line items (details, codes, amounts) - Financial aggregates across orders Resolves the limitation where users could not report on critical financial data and custom metadata associated with orders.
…on-to-report-schema feat: expose meta column and transaction relationships in Orders report schema
When a user_uuid is provided during driver creation, check whether a driver profile already exists for that user within the current company before proceeding. If one is found, return a 400 error response with the message 'This user account already belongs to a driver.' rather than silently creating a duplicate record. The existing path that handles email/phone-based lookups already had this guard in place; this change closes the equivalent gap in the user_uuid-based creation path.
…cate driver check The previous fix returned response()->error() directly from inside the createRecordFromRequest onBefore callback. The trait checks for a JsonResponse return and short-circuits correctly, but the outer createRecord method then passed the JsonResponse object as $record into the Driver resource serializer (line 245), causing: ErrorException: Undefined property: Illuminate\Http\JsonResponse::$id in DelegatesToResource.php The correct approach is to throw a \Exception from within the callback, which propagates out of createRecordFromRequest and is caught by the existing catch (\Exception $e) block, which then returns response()->error($e->getMessage()) — producing the correct 400 JSON error response to the frontend.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.