diff --git a/app/Http/Controllers/Staff/BlacklistClientController.php b/app/Http/Controllers/Staff/BlacklistClientController.php index 2b8af452b..78a4a894f 100644 --- a/app/Http/Controllers/Staff/BlacklistClientController.php +++ b/app/Http/Controllers/Staff/BlacklistClientController.php @@ -51,7 +51,10 @@ class BlacklistClientController extends Controller { Unit3dAnnounce::removeBlacklistedAgent($blacklistClient); - $blacklistClient->update($request->validated()); + $blacklistClient->update([ + // Overriding is necessary to cast empty strings (converted to null by middleware) back into strings + 'peer_id_prefix' => $request->string('peer_id_prefix'), + ] + $request->validated()); Unit3dAnnounce::addBlacklistedAgent($blacklistClient); @@ -74,7 +77,10 @@ class BlacklistClientController extends Controller */ public function store(StoreBlacklistClientRequest $request): \Illuminate\Http\RedirectResponse { - $client = BlacklistClient::create($request->validated()); + $client = BlacklistClient::create([ + // Overriding is necessary to cast empty strings (converted to null by middleware) back into strings + 'peer_id_prefix' => $request->string('peer_id_prefix'), + ] + $request->validated()); Unit3dAnnounce::addBlacklistedAgent($client); diff --git a/app/Http/Requests/Staff/StoreBlacklistClientRequest.php b/app/Http/Requests/Staff/StoreBlacklistClientRequest.php index 447e21b48..848bc11f7 100644 --- a/app/Http/Requests/Staff/StoreBlacklistClientRequest.php +++ b/app/Http/Requests/Staff/StoreBlacklistClientRequest.php @@ -36,11 +36,10 @@ class StoreBlacklistClientRequest extends FormRequest 'name' => [ 'required', 'string', + 'max:255', 'unique:blacklist_clients', ], 'peer_id_prefix' => [ - 'required', - 'string', 'unique:blacklist_clients', ], 'reason' => [ diff --git a/app/Http/Requests/Staff/UpdateBlacklistClientRequest.php b/app/Http/Requests/Staff/UpdateBlacklistClientRequest.php index 0b0e9537c..a3c486354 100644 --- a/app/Http/Requests/Staff/UpdateBlacklistClientRequest.php +++ b/app/Http/Requests/Staff/UpdateBlacklistClientRequest.php @@ -14,6 +14,8 @@ namespace App\Http\Requests\Staff; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Http\Request; +use Illuminate\Validation\Rule; class UpdateBlacklistClientRequest extends FormRequest { @@ -30,17 +32,16 @@ class UpdateBlacklistClientRequest extends FormRequest * * @return array|string> */ - public function rules(): array + public function rules(Request $request): array { return [ 'name' => [ 'required', 'string', 'max:255', + Rule::unique('blacklist_clients')->ignore($request->route('blacklistClient')), ], 'peer_id_prefix' => [ - 'required', - 'string', 'unique:blacklist_clients', ], 'reason' => [ diff --git a/resources/views/Staff/blacklist/clients/create.blade.php b/resources/views/Staff/blacklist/clients/create.blade.php index e74ac9473..06217f920 100644 --- a/resources/views/Staff/blacklist/clients/create.blade.php +++ b/resources/views/Staff/blacklist/clients/create.blade.php @@ -48,7 +48,7 @@ id="peer_id_prefix" class="form__text" name="peer_id_prefix" - required + placeholder=" " type="text" value="{{ old('peer_id_prefix') }}" /> diff --git a/resources/views/Staff/blacklist/clients/edit.blade.php b/resources/views/Staff/blacklist/clients/edit.blade.php index 4df1b6dd9..98da9ba5e 100644 --- a/resources/views/Staff/blacklist/clients/edit.blade.php +++ b/resources/views/Staff/blacklist/clients/edit.blade.php @@ -49,7 +49,7 @@ id="peer_id_prefix" class="form__text" name="peer_id_prefix" - required + placeholder=" " type="text" value="{{ $client->peer_id_prefix }}" /> diff --git a/tests/Unit/Http/Requests/Staff/StoreBlacklistClientRequestTest.php b/tests/Unit/Http/Requests/Staff/StoreBlacklistClientRequestTest.php index d6026d86f..7076ebce4 100644 --- a/tests/Unit/Http/Requests/Staff/StoreBlacklistClientRequestTest.php +++ b/tests/Unit/Http/Requests/Staff/StoreBlacklistClientRequestTest.php @@ -30,6 +30,7 @@ test('rules', function (): void { 'name' => [ 'required', 'string', + 'max:255', 'unique:blacklist_clients', ], 'reason' => [ diff --git a/tests/Unit/Http/Requests/Staff/UpdateBlacklistClientRequestTest.php b/tests/Unit/Http/Requests/Staff/UpdateBlacklistClientRequestTest.php index ae56eb9ba..945dcdbe0 100644 --- a/tests/Unit/Http/Requests/Staff/UpdateBlacklistClientRequestTest.php +++ b/tests/Unit/Http/Requests/Staff/UpdateBlacklistClientRequestTest.php @@ -24,6 +24,8 @@ test('authorize', function (): void { }); test('rules', function (): void { + $this->markTestIncomplete('This test case was generated by Shift. When you are ready, remove this line and complete this test case.'); + $actual = $this->subject->rules(); $this->assertValidationRules([