diff --git a/app/Filament/Resources/Consultations/ConsultationResource.php b/app/Filament/Resources/Consultations/ConsultationResource.php index 3a012d0..115b86d 100644 --- a/app/Filament/Resources/Consultations/ConsultationResource.php +++ b/app/Filament/Resources/Consultations/ConsultationResource.php @@ -25,8 +25,15 @@ class ConsultationResource extends Resource protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedRectangleStack; + protected static bool $shouldRegisterNavigation = false; + protected static string|UnitEnum|null $navigationGroup = 'Portal'; + public static function canAccess(): bool + { + return false; + } + public static function form(Schema $schema): Schema { return ConsultationForm::configure($schema); diff --git a/app/Filament/Widgets/StatsOverview.php b/app/Filament/Widgets/StatsOverview.php index 903d24c..fd1921a 100644 --- a/app/Filament/Widgets/StatsOverview.php +++ b/app/Filament/Widgets/StatsOverview.php @@ -2,15 +2,12 @@ namespace App\Filament\Widgets; -use App\Enums\ConsultationStatus; use App\Enums\SubmissionStatus; use App\Enums\UserRole; -use App\Filament\Resources\Consultations\ConsultationResource; use App\Filament\Resources\Organizations\OrganizationResource; use App\Filament\Resources\Resources\ResourceResource; use App\Filament\Resources\ResourceSubmissions\ResourceSubmissionResource; use App\Filament\Resources\Users\UserResource; -use App\Models\Consultation; use App\Models\Organization; use App\Models\Resource as ResourceModel; use App\Models\ResourceSubmission; @@ -31,10 +28,6 @@ protected function getStats(): array ->where('status', SubmissionStatus::Pending) ->count(); - $openConsultations = Consultation::query() - ->whereIn('status', [ConsultationStatus::Open, ConsultationStatus::InProgress]) - ->count(); - $pendingProfessionals = User::query() ->where('role', UserRole::Professional) ->whereNull('verified_at') @@ -59,12 +52,6 @@ protected function getStats(): array ->icon(Heroicon::OutlinedInboxArrowDown) ->color($pendingSubmissions > 0 ? 'warning' : 'gray') ->url(ResourceSubmissionResource::getUrl('index')), - Stat::make(__('admin.stats.open_consultations'), $openConsultations) - ->description(__('admin.stats.open_consultations_desc')) - ->descriptionIcon(Heroicon::OutlinedChatBubbleLeftRight) - ->icon(Heroicon::OutlinedChatBubbleOvalLeftEllipsis) - ->color($openConsultations > 0 ? 'info' : 'gray') - ->url(ConsultationResource::getUrl('index')), Stat::make(__('admin.stats.professionals_to_verify'), $pendingProfessionals) ->description(__('admin.stats.professionals_to_verify_desc')) ->descriptionIcon(Heroicon::OutlinedShieldCheck) diff --git "a/resources/views/pages/\342\232\241portal-index.blade.php" "b/resources/views/pages/\342\232\241portal-index.blade.php" index e18c1d8..38a3fc1 100644 --- "a/resources/views/pages/\342\232\241portal-index.blade.php" +++ "b/resources/views/pages/\342\232\241portal-index.blade.php" @@ -26,7 +26,6 @@ public function resourceCount(): int
@foreach ([ ['route' => 'portal.resources', 'title' => 'portal.resources', 'body' => 'portal.resources_body'], - ['route' => 'portal.consultations.index', 'title' => 'portal.consultations', 'body' => 'portal.consultations_body'], ['route' => 'portal.profile', 'title' => 'portal.profile', 'body' => 'portal.profile_body'], ] as $item) where(['locale' => 'ro|en']) @@ -24,9 +24,6 @@ ->group(function (): void { Route::livewire('/', 'pages::portal-index')->name('portal.index'); Route::livewire('/resources', 'pages::portal-resources')->name('portal.resources'); - Route::livewire('/consultations', 'pages::portal-consultations-index')->name('portal.consultations.index'); - Route::livewire('/consultations/create', 'pages::portal-consultations-create')->name('portal.consultations.create'); - Route::livewire('/consultations/{consultation}', 'pages::portal-consultations-show')->name('portal.consultations.show'); Route::livewire('/profile', 'pages::portal-profile')->name('portal.profile'); }); }); diff --git a/tests/Feature/FilamentAdminLocaleTest.php b/tests/Feature/FilamentAdminLocaleTest.php index 456084f..151fe91 100644 --- a/tests/Feature/FilamentAdminLocaleTest.php +++ b/tests/Feature/FilamentAdminLocaleTest.php @@ -22,7 +22,7 @@ ->assertSee(__('admin.resources.organizations.navigation', locale: 'ro')) ->assertSee(__('admin.resources.partner_organizations.navigation', locale: 'ro')) ->assertSee(__('admin.resources.resources.navigation', locale: 'ro')) - ->assertSee(__('admin.resources.consultations.navigation', locale: 'ro')); + ->assertDontSee(__('admin.resources.consultations.navigation', locale: 'ro')); Livewire::test(ListOrganizations::class) ->assertSee(OrganizationType::Ngo->label()); diff --git a/tests/Feature/FilamentDashboardStatsTest.php b/tests/Feature/FilamentDashboardStatsTest.php index d232dc2..c3ffc50 100644 --- a/tests/Feature/FilamentDashboardStatsTest.php +++ b/tests/Feature/FilamentDashboardStatsTest.php @@ -1,10 +1,8 @@ create(['status' => ResourceStatus::Published, 'published_at' => now()]); Organization::factory()->create(['is_published' => true]); ResourceSubmission::factory()->create(['status' => SubmissionStatus::Pending]); - Consultation::factory()->create(['status' => ConsultationStatus::Open]); User::factory()->unverifiedProfessional()->create(); $this->actingAs($admin); @@ -26,7 +23,7 @@ ->assertSee(__('admin.stats.published_resources')) ->assertSee(__('admin.stats.organizations')) ->assertSee(__('admin.stats.pending_submissions')) - ->assertSee(__('admin.stats.open_consultations')) + ->assertDontSee(__('admin.stats.open_consultations')) ->assertSee(__('admin.stats.professionals_to_verify')); }); diff --git a/tests/Feature/PortalTest.php b/tests/Feature/PortalTest.php index 534d53b..e6db056 100644 --- a/tests/Feature/PortalTest.php +++ b/tests/Feature/PortalTest.php @@ -1,6 +1,5 @@ verifiedProfessional()->create(); - $consultation = Consultation::factory()->for($user)->create(); $this->actingAs($user); foreach ([ '/ro/portal', '/ro/portal/resources', - '/ro/portal/consultations', - '/ro/portal/consultations/create', - '/ro/portal/consultations/' . $consultation->id, '/ro/portal/profile', ] as $path) { $this->get($path)->assertSuccessful(); } + + $this->get('/ro/portal') + ->assertDontSee(__('portal.consultations', [], 'ro'), false); + + $this->get('/ro/portal/consultations')->assertNotFound(); }); it('redirects an unverified professional to the pending page', function () {