Edit File: OrderTrait.php
<?php namespace App\Traits; use App\Enums\OrderStatusEnum; trait OrderTrait { public function orderStatusesForProvider($orderStatus) { return match ($orderStatus) { 'new' => [OrderStatusEnum::New->value], 'current' => [ OrderStatusEnum::Accepted->value, OrderStatusEnum::Preparing->value, OrderStatusEnum::Prepared->value, OrderStatusEnum::Order_with_delegate->value, OrderStatusEnum::On_the_way_to_client->value, OrderStatusEnum::On_my_way_to_provider->value, OrderStatusEnum::Delegate_at_location->value, OrderStatusEnum::Delegate_delivered_to_client->value, ], 'finished' => [ OrderStatusEnum::Delivered_to_delegate->value, OrderStatusEnum::Client_delivered->value, OrderStatusEnum::Provider_delivered_to_client->value, ], 'cancelled' => [ OrderStatusEnum::Cancelled->value ], default => [], }; } public function orderStatusesForUser($orderStatus) { return match ($orderStatus) { 'new' => [ OrderStatusEnum::New->value, OrderStatusEnum::Accepted->value ], 'current' => [ OrderStatusEnum::Preparing->value, OrderStatusEnum::Prepared->value, OrderStatusEnum::Order_with_delegate->value, OrderStatusEnum::On_the_way_to_client->value, OrderStatusEnum::Delivered_to_delegate->value, OrderStatusEnum::Delegate_at_location->value, OrderStatusEnum::On_my_way_to_provider->value, OrderStatusEnum::Delegate_delivered_to_client->value, OrderStatusEnum::Provider_delivered_to_client->value, ], 'finished' => [ OrderStatusEnum::Client_delivered->value, ], 'cancelled' => [ OrderStatusEnum::Cancelled->value ], default => [], }; } public function orderStatusesForDelegate($orderStatus) { return match ($orderStatus) { 'new' => [ OrderStatusEnum::Prepared->value, ], 'current' => [ OrderStatusEnum::Prepared->value, OrderStatusEnum::Order_with_delegate->value, OrderStatusEnum::On_the_way_to_client->value, OrderStatusEnum::Delegate_at_location->value, OrderStatusEnum::On_my_way_to_provider->value, OrderStatusEnum::Delivered_to_delegate->value, ], 'finished' => [ OrderStatusEnum::Delegate_delivered_to_client->value, OrderStatusEnum::Client_delivered->value, ], // 'cancelled' => [ // OrderStatusEnum::Cancelled->value // ], default => [], }; } }
Back to File Manager