39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Modules\Tms\Http\Controllers;
|
|
|
|
use Illuminate\Routing\Controller;
|
|
use Modules\Tms\Http\Controllers\Concerns\AuthorizesTms;
|
|
use Modules\Tms\Models\Shipment;
|
|
use Modules\Tms\Services\TmsTrackingService;
|
|
use Modules\Tms\Utils\TmsUtil;
|
|
|
|
class DriverTrackController extends Controller
|
|
{
|
|
use AuthorizesTms;
|
|
|
|
public function __construct(
|
|
protected TmsUtil $tmsUtil,
|
|
protected TmsTrackingService $trackingService
|
|
) {}
|
|
|
|
public function index()
|
|
{
|
|
$this->authorizeTmsAccess('tms.tracking.report');
|
|
|
|
$business_id = $this->tmsUtil->getBusinessId();
|
|
$driver = $this->trackingService->resolveDriverForUser($business_id, (int) auth()->id());
|
|
|
|
$activeShipment = null;
|
|
if ($driver) {
|
|
$activeShipment = Shipment::where('business_id', $business_id)
|
|
->where('driver_id', $driver->id)
|
|
->whereIn('status', ['scheduled', 'in_transit'])
|
|
->latest()
|
|
->first();
|
|
}
|
|
|
|
return view('tms::driver.track', compact('driver', 'activeShipment'));
|
|
}
|
|
}
|