Add logic to automatically create a pending shipment review if one
does not exist when transitioning shipment statuses. This ensures
the review lifecycle remains intact for shipments created through
paths that bypass initial review generation.
Also include migrations to make `user_id` and `status` nullable on
`shipment_checklists` to support unassigned or incomplete checklists.
Introduce a template-based system for shipment checklists to automate
the creation of required inspection items upon shipment approval.
- Add `ShipmentChecklistTemplate` model and migration to define reusable
checklist structures.
- Extend `ShipmentChecklist` schema to support item titles, requirement
flags, sorting, and attachment paths.
- Implement `instantiateChecklist` in `ShipmentReviewService` to
automatically generate checklist items from active templates based on
shipment direction (import/export).
- Refactor `ShipmentChecklistResource` and `ChecklistsRelationManager`
in Filament to support the new data structure and improved UI.
- Update `ShipmentChecklist` model with helper methods for completion
tracking and improved relationship handling.
Refactor `ShipmentReviewService` to update the existing pending review
instead of creating a new `ShipmentReview` record during the approval
and rejection processes. This ensures that the review lifecycle
correctly finalizes the current pending revision.
- Implement `getPendingReview` to retrieve the active pending review
- Update `approve` to modify the existing review record
- Update `reject` to modify the existing review record
- Add documentation clarifying when new revisions are created versus
when existing ones are finalized
Introduces a complete shipment review system allowing staff to request
changes to customer orders and customers to resubmit corrected orders.
- Add `ReviewState` enum and `ShipmentReview` model to track review history.
- Implement `ShipmentReviewService` to handle approval and change
request logic.
- Add `resubmit` endpoint for customers to update orders when
`changes_requested` state is active.
- Add `request-changes` endpoint for staff to flag orders for correction.
- Update `ShipmentResource` in Filament to display review states and
manage approvals.
- Implement WordPress bridge support for fetching and resubmitting
orders via AJAX.
- Add database migrations for `shipment_reviews` table and `review_state`
column on shipments.
- Add `StaffApiMiddleware` to secure staff-specific API routes.