Poprawka w Samochpdy do uwagi
This commit is contained in:
parent
fcf4684ca9
commit
d561e6a0bb
@ -52,8 +52,8 @@ class DashboardController extends Controller
|
|||||||
|
|
||||||
$vehiclesDueSoon = Vehicle::with('user')
|
$vehiclesDueSoon = Vehicle::with('user')
|
||||||
->where(function ($query) {
|
->where(function ($query) {
|
||||||
$query->whereBetween('oc_expiry_date', [now()->startOfDay(), now()->addDays(14)->endOfDay()])
|
$query->where('oc_expiry_date', '<=', now()->addDays(14)->endOfDay())
|
||||||
->orWhereBetween('technical_inspection_date', [now()->startOfDay(), now()->addDays(14)->endOfDay()]);
|
->orWhere('technical_inspection_date', '<=', now()->addDays(14)->endOfDay());
|
||||||
})
|
})
|
||||||
->orderBy('oc_expiry_date')
|
->orderBy('oc_expiry_date')
|
||||||
->orderBy('technical_inspection_date')
|
->orderBy('technical_inspection_date')
|
||||||
|
|||||||
@ -213,7 +213,7 @@
|
|||||||
Samochody do uwagi
|
Samochody do uwagi
|
||||||
</h3>
|
</h3>
|
||||||
<span class="inline-flex items-center px-2.5 py-1 rounded-full text-xs font-semibold bg-amber-100 dark:bg-amber-800/40 text-amber-800 dark:text-amber-200">
|
<span class="inline-flex items-center px-2.5 py-1 rounded-full text-xs font-semibold bg-amber-100 dark:bg-amber-800/40 text-amber-800 dark:text-amber-200">
|
||||||
do 14 dni
|
przeterminowane i do 14 dni
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -221,8 +221,12 @@
|
|||||||
<div class="space-y-3">
|
<div class="space-y-3">
|
||||||
@foreach($vehiclesDueSoon as $vehicle)
|
@foreach($vehiclesDueSoon as $vehicle)
|
||||||
@php
|
@php
|
||||||
$ocDue = $vehicle->oc_expiry_date && $vehicle->oc_expiry_date->between(now()->startOfDay(), now()->addDays(14)->endOfDay());
|
$today = now()->startOfDay();
|
||||||
$inspectionDue = $vehicle->technical_inspection_date && $vehicle->technical_inspection_date->between(now()->startOfDay(), now()->addDays(14)->endOfDay());
|
$limitDate = now()->addDays(14)->endOfDay();
|
||||||
|
$ocOverdue = $vehicle->oc_expiry_date && $vehicle->oc_expiry_date->lt($today);
|
||||||
|
$inspectionOverdue = $vehicle->technical_inspection_date && $vehicle->technical_inspection_date->lt($today);
|
||||||
|
$ocDue = $vehicle->oc_expiry_date && $vehicle->oc_expiry_date->between($today, $limitDate);
|
||||||
|
$inspectionDue = $vehicle->technical_inspection_date && $vehicle->technical_inspection_date->between($today, $limitDate);
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
<div class="flex flex-col md:flex-row md:items-center md:justify-between gap-2 rounded-lg border border-amber-200 dark:border-amber-700/60 bg-white/70 dark:bg-gray-900/30 p-4">
|
<div class="flex flex-col md:flex-row md:items-center md:justify-between gap-2 rounded-lg border border-amber-200 dark:border-amber-700/60 bg-white/70 dark:bg-gray-900/30 p-4">
|
||||||
@ -236,15 +240,19 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-wrap gap-2 text-xs font-medium">
|
<div class="flex flex-wrap gap-2 text-xs font-medium">
|
||||||
@if($ocDue)
|
@if($ocOverdue || $ocDue)
|
||||||
<span class="inline-flex items-center px-2.5 py-1 rounded-full bg-red-100 dark:bg-red-900/40 text-red-700 dark:text-red-200">
|
<span class="inline-flex items-center px-2.5 py-1 rounded-full {{ $ocOverdue ? 'bg-red-200 dark:bg-red-900/60 text-red-800 dark:text-red-100' : 'bg-red-100 dark:bg-red-900/40 text-red-700 dark:text-red-200' }}">
|
||||||
|
@if($ocOverdue) OC: PRZETERMINOWANE ({{ $vehicle->oc_expiry_date->format('d.m.Y') }}) @else
|
||||||
OC: {{ $vehicle->oc_expiry_date->format('d.m.Y') }}
|
OC: {{ $vehicle->oc_expiry_date->format('d.m.Y') }}
|
||||||
|
@endif
|
||||||
</span>
|
</span>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if($inspectionDue)
|
@if($inspectionOverdue || $inspectionDue)
|
||||||
<span class="inline-flex items-center px-2.5 py-1 rounded-full bg-orange-100 dark:bg-orange-900/40 text-orange-700 dark:text-orange-200">
|
<span class="inline-flex items-center px-2.5 py-1 rounded-full {{ $inspectionOverdue ? 'bg-orange-200 dark:bg-orange-900/60 text-orange-800 dark:text-orange-100' : 'bg-orange-100 dark:bg-orange-900/40 text-orange-700 dark:text-orange-200' }}">
|
||||||
|
@if($inspectionOverdue) Przegląd: PRZETERMINOWANY ({{ $vehicle->technical_inspection_date->format('d.m.Y') }}) @else
|
||||||
Przegląd: {{ $vehicle->technical_inspection_date->format('d.m.Y') }}
|
Przegląd: {{ $vehicle->technical_inspection_date->format('d.m.Y') }}
|
||||||
|
@endif
|
||||||
</span>
|
</span>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@ -253,7 +261,7 @@
|
|||||||
</div>
|
</div>
|
||||||
@else
|
@else
|
||||||
<p class="text-sm text-amber-800 dark:text-amber-200">
|
<p class="text-sm text-amber-800 dark:text-amber-200">
|
||||||
Brak pojazdów z terminem OC lub przeglądu w najbliższych 14 dniach.
|
Brak pojazdów z przeterminowanym terminem OC lub przeglądem albo terminem w najbliższych 14 dniach.
|
||||||
</p>
|
</p>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -170,12 +170,29 @@ test('dashboard shows vehicles with upcoming technical inspection or oc expiry w
|
|||||||
'status' => 'aktywny',
|
'status' => 'aktywny',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$overdueVehicle = Vehicle::create([
|
||||||
|
'brand' => 'Skoda',
|
||||||
|
'model' => 'Octavia',
|
||||||
|
'registration_number' => 'WI4567B',
|
||||||
|
'user_id' => $user->id,
|
||||||
|
'year' => 2018,
|
||||||
|
'purchase_date' => '2018-02-15',
|
||||||
|
'oc_expiry_date' => now()->subDays(3)->toDateString(),
|
||||||
|
'oil_change_km' => 10000,
|
||||||
|
'insurance_provider' => 'Allianz',
|
||||||
|
'technical_inspection_date' => now()->subDays(8)->toDateString(),
|
||||||
|
'mileage_km' => 140000,
|
||||||
|
'status' => 'używany',
|
||||||
|
]);
|
||||||
|
|
||||||
$response = $this->actingAs($manager)->get(route('dashboard'));
|
$response = $this->actingAs($manager)->get(route('dashboard'));
|
||||||
|
|
||||||
$response->assertOk();
|
$response->assertOk();
|
||||||
$response->assertSee('Samochody do uwagi');
|
$response->assertSee('Samochody do uwagi');
|
||||||
$response->assertSee($urgentVehicle->brand);
|
$response->assertSee($urgentVehicle->brand);
|
||||||
$response->assertSee('OC');
|
$response->assertSee('OC');
|
||||||
|
$response->assertSee($overdueVehicle->brand);
|
||||||
|
$response->assertSee('PRZETERMINOWANE');
|
||||||
$response->assertDontSee($safeVehicle->brand);
|
$response->assertDontSee($safeVehicle->brand);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user