user()->hasRole(RoleEnum::PERUSAHAAN->value), function (Builder $query): void { $query->whereHas('partnerMedia.company', function (Builder $subQuery): void { $subQuery->where('user_id', auth()->id()); }); }) ->count(); } public static function form(Schema $schema): Schema { return CooperationForm::configure($schema); } public static function table(Table $table): Table { return CooperationsTable::configure($table); } public static function infolist(Schema $schema): Schema { return CooperationInfolist::configure($schema); } public static function getRelations(): array { return [ CooperationMediaRelationManager::class, CooperationProposalRelationManager::class, TaskAssignmentRelationManager::class, ReportRelationManager::class, CooperationPaymentRelationManager::class, ]; } public static function getEloquentQuery(): Builder { return parent::getEloquentQuery() ->when(auth()->user()->hasRole(RoleEnum::PERUSAHAAN->value), function (Builder $query): void { $query->whereHas('cooperationMedia.partnerMedia.company', function (Builder $subQuery): void { $subQuery->where('user_id', auth()->id()); }); }); } public static function getPages(): array { return [ 'index' => ListCooperations::route('/'), 'create' => CreateCooperation::route('/create'), 'view' => ViewCooperation::route('/{record}'), 'edit' => EditCooperation::route('/{record}/edit'), ]; } }