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.

InvoiceResource.php 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace App\Filament\Resources;
  3. use App\Filament\Resources\InvoiceResource\Pages;
  4. use App\Filament\Resources\InvoiceResource\RelationManagers;
  5. use App\Models\Document\Document;
  6. use Filament\Forms;
  7. use Filament\Resources\Form;
  8. use Filament\Resources\Resource;
  9. use Filament\Resources\Table;
  10. use Filament\Tables;
  11. use Illuminate\Database\Eloquent\Builder;
  12. use Illuminate\Database\Eloquent\SoftDeletingScope;
  13. use Illuminate\Support\Facades\Auth;
  14. class InvoiceResource extends Resource
  15. {
  16. protected static ?string $model = Document::class;
  17. protected static ?string $navigationIcon = 'heroicon-o-collection';
  18. protected static ?string $navigationGroup = 'Sales';
  19. protected static ?string $navigationLabel = 'Invoices';
  20. protected static ?string $modelLabel = 'invoice';
  21. public static function getEloquentQuery(): Builder
  22. {
  23. return parent::getEloquentQuery()
  24. ->where('type', 'invoice')
  25. ->where('company_id', Auth::user()->currentCompany->id);
  26. }
  27. public static function form(Form $form): Form
  28. {
  29. return $form
  30. ->schema([
  31. //
  32. ]);
  33. }
  34. public static function table(Table $table): Table
  35. {
  36. return $table
  37. ->columns([
  38. //
  39. ])
  40. ->filters([
  41. //
  42. ])
  43. ->actions([
  44. Tables\Actions\EditAction::make(),
  45. ])
  46. ->bulkActions([
  47. Tables\Actions\DeleteBulkAction::make(),
  48. ]);
  49. }
  50. public static function getRelations(): array
  51. {
  52. return [
  53. //
  54. ];
  55. }
  56. public static function getPages(): array
  57. {
  58. return [
  59. 'index' => Pages\ListInvoices::route('/'),
  60. 'create' => Pages\CreateInvoice::route('/create'),
  61. 'edit' => Pages\EditInvoice::route('/{record}/edit'),
  62. ];
  63. }
  64. }