From 8e32444a1318a70083b9e61110fecd9d725fe5d4 Mon Sep 17 00:00:00 2001 From: Vasyka Date: Sun, 6 Sep 2026 11:22:53 +0000 Subject: [PATCH] Fix diagnostic button visibility for admin users Replace isAdmin() (Spatie-dependent) with direct role check and add TenantManager fallback using hostname subdomain so the button appears even if TenantManager was not resolved for the current request. Co-Authored-By: Claude Sonnet 4.6 --- .../Resources/WorkOrderResource/Pages/ListWorkOrders.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Filament/Tenant/Resources/WorkOrderResource/Pages/ListWorkOrders.php b/app/Filament/Tenant/Resources/WorkOrderResource/Pages/ListWorkOrders.php index c3cd982..7e0bcab 100644 --- a/app/Filament/Tenant/Resources/WorkOrderResource/Pages/ListWorkOrders.php +++ b/app/Filament/Tenant/Resources/WorkOrderResource/Pages/ListWorkOrders.php @@ -18,11 +18,13 @@ class ListWorkOrders extends ListRecords $actions = [Actions\CreateAction::make()]; $user = auth()->user(); - if (! $user?->isAdmin()) { + if (! in_array($user?->role, ['admin', 'owner'])) { return $actions; } - $tenantId = app(TenantManager::class)->currentId(); + $tenantId = app(TenantManager::class)->currentId() + ?? DB::table('companies')->where('slug', request()->getHost() === 'localhost' ? 'psauto' : explode('.', request()->getHost())[0])->value('id'); + if (! $tenantId) { return $actions; }