Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

Invoice.php 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\Filament\Pages;
  3. use Filament\Pages\Page;
  4. use Illuminate\Support\Facades\Auth;
  5. use Illuminate\Support\Facades\Gate;
  6. use Wallo\FilamentCompanies\FilamentCompanies;
  7. class Invoice extends Page
  8. {
  9. public mixed $company;
  10. protected static ?string $navigationIcon = 'heroicon-o-document-text';
  11. protected static ?string $navigationLabel = 'Invoice';
  12. protected static ?string $navigationGroup = 'Settings';
  13. protected static ?string $title = 'Invoice';
  14. protected static string $view = 'filament.pages.invoice';
  15. public function mount($company): void
  16. {
  17. $this->company = FilamentCompanies::newCompanyModel()->findOrFail($company);
  18. $this->authorizeAccess();
  19. }
  20. protected function authorizeAccess(): void
  21. {
  22. Gate::authorize('view', $this->company);
  23. }
  24. public static function getSlug(): string
  25. {
  26. return '{company}/settings/invoice';
  27. }
  28. public static function getUrl(array $parameters = [], bool $isAbsolute = true): string
  29. {
  30. return route(static::getRouteName(), ['company' => Auth::user()->currentCompany], $isAbsolute);
  31. }
  32. protected function getBreadcrumbs(): array
  33. {
  34. return [
  35. 'invoice' => 'Invoice',
  36. ];
  37. }
  38. }