You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SellableOfferingResource.php 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Filament\Company\Resources\Sales;
  3. use App\Filament\Company\Resources\Common\OfferingResource;
  4. use App\Filament\Company\Resources\Sales\SellableOfferingResource\Pages;
  5. use App\Models\Common\Offering;
  6. use Filament\Forms\Form;
  7. use Filament\Resources\Resource;
  8. use Filament\Tables\Table;
  9. use Illuminate\Database\Eloquent\Builder;
  10. class SellableOfferingResource extends Resource
  11. {
  12. protected static ?string $model = Offering::class;
  13. protected static ?string $pluralModelLabel = 'Products & Services';
  14. public static function getEloquentQuery(): Builder
  15. {
  16. return parent::getEloquentQuery()
  17. ->whereNotNull('income_account_id');
  18. }
  19. public static function form(Form $form): Form
  20. {
  21. return OfferingResource::form($form);
  22. }
  23. public static function table(Table $table): Table
  24. {
  25. return OfferingResource::table($table);
  26. }
  27. public static function getRelations(): array
  28. {
  29. return [
  30. //
  31. ];
  32. }
  33. public static function getPages(): array
  34. {
  35. return [
  36. 'index' => Pages\ListSellableOfferings::route('/'),
  37. 'create' => Pages\CreateSellableOffering::route('/create'),
  38. 'edit' => Pages\EditSellableOffering::route('/{record}/edit'),
  39. ];
  40. }
  41. }