DX: fix typing in SearchProvider

This commit is contained in:
Julien Fastré 2023-04-15 00:33:31 +02:00
parent 459b91001f
commit a9db133a7b
Signed by: julienfastre
GPG Key ID: BDE2190974723FCB
5 changed files with 7 additions and 55 deletions

View File

@ -90,9 +90,7 @@ class CountPerson implements ExportInterface
public function initiateQuery(array $requiredModifiers, array $acl, array $data = [])
{
// we gather all center the user choose.
$centers = array_map(static function ($el) {
return $el['center'];
}, $acl);
$centers = array_map(static fn($el) => $el['center'], $acl);
$qb = $this->entityManager->createQueryBuilder();

View File

@ -1,44 +0,0 @@
<?php
declare(strict_types=1);
/*
* Chill is a software for social workers
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace Chill\MainBundle\Form;
use Chill\MainBundle\Search\SearchProvider;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class AdvancedSearchType extends AbstractType
{
/**
* @var SearchProvider
*/
protected $searchProvider;
public function __construct(SearchProvider $searchProvider)
{
$this->searchProvider = $searchProvider;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$this->searchProvider
->getHasAdvancedFormByName($options['search_service'])
->createSearchForm($builder);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver
->setRequired('search_service')
->setAllowedTypes('search_service', ['string']);
}
}

View File

@ -20,4 +20,6 @@ interface HasAdvancedSearchFormInterface extends SearchInterface
public function convertFormDataToQuery(array $data);
public function convertTermsToFormData(array $terms);
public function getAdvancedSearchTitle(): string;
}

View File

@ -33,7 +33,7 @@ use function count;
class SearchProvider
{
/**
* @var HasAdvancedSearchForm[]
* @var HasAdvancedSearchFormInterface[]
*/
private $hasAdvancedFormSearchServices = [];
@ -101,13 +101,9 @@ class SearchProvider
* return searchservice with an advanced form, defined in service
* definition.
*
* @param string $name
*
* @throws UnknowSearchNameException
*
* @return HasAdvancedSearchForm
*/
public function getHasAdvancedFormByName($name)
public function getHasAdvancedFormByName(string $name): HasAdvancedSearchFormInterface
{
if (array_key_exists($name, $this->hasAdvancedFormSearchServices)) {
return $this->hasAdvancedFormSearchServices[$name];
@ -119,7 +115,7 @@ class SearchProvider
public function getHasAdvancedFormSearchServices()
{
//sort the array
uasort($this->hasAdvancedFormSearchServices, static function (SearchInterface $a, SearchInterface $b) {
uasort($this->hasAdvancedFormSearchServices, static function (HasAdvancedSearchFormInterface $a, HasAdvancedSearchFormInterface $b): int {
return $a->getOrder() <=> $b->getOrder();
});

View File

@ -173,7 +173,7 @@ class PersonSearch extends AbstractSearch implements HasAdvancedSearchFormInterf
return $data;
}
public function getAdvancedSearchTitle()
public function getAdvancedSearchTitle(): string
{
return 'Search within persons';
}