diff --git a/app/Filament/Resources/Torrent/TagResource/Pages/CreateTag.php b/app/Filament/Resources/Torrent/TagResource/Pages/CreateTag.php index e607498e..1de3e9c8 100644 --- a/app/Filament/Resources/Torrent/TagResource/Pages/CreateTag.php +++ b/app/Filament/Resources/Torrent/TagResource/Pages/CreateTag.php @@ -14,4 +14,12 @@ class CreateTag extends CreateRecord { return $this->getResource()::getUrl('index'); } + + protected function mutateFormDataBeforeCreate(array $data): array + { + if ($data['mode'] === null) { + $data['mode'] = 0; + } + return $data; + } } diff --git a/app/Filament/Resources/Torrent/TagResource/Pages/EditTag.php b/app/Filament/Resources/Torrent/TagResource/Pages/EditTag.php index ea01f313..9a0b48f0 100644 --- a/app/Filament/Resources/Torrent/TagResource/Pages/EditTag.php +++ b/app/Filament/Resources/Torrent/TagResource/Pages/EditTag.php @@ -22,4 +22,12 @@ class EditTag extends EditRecord return $this->getResource()::getUrl('index'); } + protected function mutateFormDataBeforeSave(array $data): array + { + if ($data['mode'] === null) { + $data['mode'] = 0; + } + return $data; + } + } diff --git a/app/Repositories/UserRepository.php b/app/Repositories/UserRepository.php index 7be17e2c..989c6ec2 100644 --- a/app/Repositories/UserRepository.php +++ b/app/Repositories/UserRepository.php @@ -471,6 +471,9 @@ class UserRepository extends BaseRepository user_can('user-change-class', true); $operator = $this->getUser($operator); $targetUser = $this->getUser($targetUser); + if ($operator && $operator->class <= $targetUser->class) { + throw new InsufficientPermissionException(); + } if ($targetUser->class == $newClass) { return true; }