Fix FLEXIAPI-397 Fix Carddav Spaces creation and CommaList validation

This commit is contained in:
Timothée Jaussoin 2025-10-06 11:43:52 +02:00
parent 10cdbb4b6a
commit 0e3b0d36d8
3 changed files with 8 additions and 7 deletions

View file

@ -19,6 +19,7 @@ v2.1
- Fix FLEXIAPI-392 Fix the recover_by_code view and use the account space object - Fix FLEXIAPI-392 Fix the recover_by_code view and use the account space object
- Fix FLEXIAPI-395 Remove config()->set('app.sip_domain') and directly use the correct domain - Fix FLEXIAPI-395 Remove config()->set('app.sip_domain') and directly use the correct domain
- Fix FLEXIAPI-393 Autofill the digits when pasting a code - Fix FLEXIAPI-393 Autofill the digits when pasting a code
- Fix FLEXIAPI-397 Fix Carddav Spaces creation and CommaList validation
v2.0 v2.0
---- ----

View file

@ -19,16 +19,16 @@ class CardDavServerController extends Controller
]); ]);
} }
public function store(CardDavServer $request) public function store(CardDavServer $request, Space $space)
{ {
$carddavServer = new SpaceCardDavServer; $carddavServer = new SpaceCardDavServer;
$carddavServer->space_id = $request->space->id; $carddavServer->space_id = $space->id;
$carddavServer->fill($request->validated()); $carddavServer->fill($request->validated());
$carddavServer->enabled = getRequestBoolean($request, 'enabled'); $carddavServer->enabled = getRequestBoolean($request, 'enabled');
$carddavServer->use_exact_match_policy = getRequestBoolean($request, 'use_exact_match_policy'); $carddavServer->use_exact_match_policy = getRequestBoolean($request, 'use_exact_match_policy');
$carddavServer->save(); $carddavServer->save();
return redirect()->route('admin.spaces.integration', $request->space); return redirect()->route('admin.spaces.integration', $space);
} }
public function edit(Space $space, int $carddavServerId) public function edit(Space $space, int $carddavServerId)
@ -47,7 +47,7 @@ class CardDavServerController extends Controller
$carddavServer->use_exact_match_policy = getRequestBoolean($request, 'use_exact_match_policy'); $carddavServer->use_exact_match_policy = getRequestBoolean($request, 'use_exact_match_policy');
$carddavServer->save(); $carddavServer->save();
return redirect()->route('admin.spaces.integration', $request->space); return redirect()->route('admin.spaces.integration', $space);
} }
public function delete(Space $space, int $carddavServerId) public function delete(Space $space, int $carddavServerId)

View file

@ -9,13 +9,13 @@ class CommaList implements Rule
{ {
public function passes($attribute, $value) public function passes($attribute, $value)
{ {
preg_match('/^(\w+),(\w)*/', $value, $matches); preg_match_all('/[^, ]+/', $value, $matches);
return $value == null || (!empty($matches) && $matches[0] == $value); return $value == null || (!empty($matches) && (implode(',', $matches[0]) == $value));
} }
public function message() public function message()
{ {
return 'The :attribute should be null or contain a list of words separated by commas'; return 'The :attribute should be null or contain a list of words separated by commas without spaces';
} }
} }