diff --git a/app/Filament/Tenant/Pages/WorkOrderDashboard.php b/app/Filament/Tenant/Pages/WorkOrderDashboard.php index 376ab6a..71e9035 100644 --- a/app/Filament/Tenant/Pages/WorkOrderDashboard.php +++ b/app/Filament/Tenant/Pages/WorkOrderDashboard.php @@ -34,16 +34,32 @@ class WorkOrderDashboard extends Page public function mount(int|string $record): void { + $id = (int) $record; $wo = WorkOrder::with([ 'client', 'vehicle', 'master', 'works.labor', 'works.master', 'parts.part', 'payments.user', 'subcontractJobs.subcontractor', - ])->find((int) $record); + ])->find($id); if (! $wo) { - abort(404); + // Diagnose: does it exist in another tenant? + $existsGlobally = WorkOrder::withoutGlobalScopes() + ->where('id', $id)->exists(); + $tenant = app(\App\Tenancy\TenantManager::class)->current(); + $tenantSlug = $tenant?->slug ?? '—'; + $msg = $existsGlobally + ? sprintf(__('Fișa #%d există, dar nu aparține tenantului „%s".'), $id, $tenantSlug) + : sprintf(__('Fișa #%d nu există. Verifică lista de fișe active.'), $id); + \Filament\Notifications\Notification::make() + ->title(__('Fișă indisponibilă')) + ->body($msg) + ->danger() + ->persistent() + ->send(); + redirect('/app/work-orders')->send(); + exit; } $this->record = $wo; }