Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

EditDiscount.php 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Filament\Company\Resources\Setting\DiscountResource\Pages;
  3. use App\Filament\Company\Resources\Setting\DiscountResource;
  4. use App\Traits\HandlesResourceRecordUpdate;
  5. use Filament\Actions;
  6. use Filament\Resources\Pages\EditRecord;
  7. use Filament\Support\Exceptions\Halt;
  8. use Illuminate\Database\Eloquent\Model;
  9. class EditDiscount extends EditRecord
  10. {
  11. use HandlesResourceRecordUpdate;
  12. protected static string $resource = DiscountResource::class;
  13. protected function getHeaderActions(): array
  14. {
  15. return [
  16. Actions\DeleteAction::make(),
  17. ];
  18. }
  19. protected function getRedirectUrl(): string
  20. {
  21. return $this->previousUrl;
  22. }
  23. protected function mutateFormDataBeforeSave(array $data): array
  24. {
  25. $data['enabled'] = (bool) $data['enabled'];
  26. return $data;
  27. }
  28. /**
  29. * @throws Halt
  30. */
  31. protected function handleRecordUpdate(Model $record, array $data): Model
  32. {
  33. $user = auth()->user();
  34. if (! $user) {
  35. throw new Halt('No authenticated user found');
  36. }
  37. return $this->handleRecordUpdateWithUniqueField($record, $data, $user, 'type');
  38. }
  39. }