mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-14 06:14:23 +00:00
adapt filters to new interface + add message for nationality filter
This commit is contained in:
parent
b73259b49f
commit
e412fbf34c
@ -84,4 +84,9 @@ class GenderFilter implements FilterInterface
|
|||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function describeAction($data, $format = 'string')
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,9 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
use Doctrine\ORM\QueryBuilder;
|
use Doctrine\ORM\QueryBuilder;
|
||||||
use Chill\MainBundle\Export\FilterInterface;
|
use Chill\MainBundle\Export\FilterInterface;
|
||||||
use Doctrine\ORM\Query\Expr;
|
use Doctrine\ORM\Query\Expr;
|
||||||
use Symfony\Component\Security\Core\Role\Role;
|
use Chill\MainBundle\Templating\TranslatableStringHelper;
|
||||||
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
use Chill\MainBundle\Entity\Country;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -32,6 +34,17 @@ use Symfony\Component\Security\Core\Role\Role;
|
|||||||
*/
|
*/
|
||||||
class NationalityFilter implements FilterInterface
|
class NationalityFilter implements FilterInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @var TranslatableStringHelper
|
||||||
|
*/
|
||||||
|
private $translatableStringHelper;
|
||||||
|
|
||||||
|
public function __construct(TranslatableStringHelper $helper)
|
||||||
|
{
|
||||||
|
$this->translatableStringHelper = $helper;
|
||||||
|
}
|
||||||
|
|
||||||
public function applyOn()
|
public function applyOn()
|
||||||
{
|
{
|
||||||
return 'person';
|
return 'person';
|
||||||
@ -69,4 +82,18 @@ class NationalityFilter implements FilterInterface
|
|||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function describeAction($data, $format = 'string')
|
||||||
|
{
|
||||||
|
$countries = $data['nationalities'];
|
||||||
|
|
||||||
|
$names = array_map(function(Country $c) {
|
||||||
|
return $this->translatableStringHelper->localize($c->getName());
|
||||||
|
}, array($countries));
|
||||||
|
|
||||||
|
return array(
|
||||||
|
"Filtered by nationality : %nationalities%",
|
||||||
|
array('%nationalities%' => implode(", ", $names))
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -86,6 +86,8 @@ services:
|
|||||||
|
|
||||||
chill.person.export.filter_nationality:
|
chill.person.export.filter_nationality:
|
||||||
class: Chill\PersonBundle\Export\Filter\NationalityFilter
|
class: Chill\PersonBundle\Export\Filter\NationalityFilter
|
||||||
|
arguments:
|
||||||
|
- "@chill.main.helper.translatable_string"
|
||||||
tags:
|
tags:
|
||||||
- { name: chill.export_filter, alias: person_nationality_filter }
|
- { name: chill.export_filter, alias: person_nationality_filter }
|
||||||
|
|
||||||
|
@ -136,6 +136,7 @@ Accepted genders: Genres acceptés
|
|||||||
Filter by person's nationality: Filtrer par nationalité
|
Filter by person's nationality: Filtrer par nationalité
|
||||||
Nationalities: Nationalités
|
Nationalities: Nationalités
|
||||||
Choose countries: Choisir les nationalités
|
Choose countries: Choisir les nationalités
|
||||||
|
'Filtered by nationality : %nationalities%': 'Filtré par nationalité : seulement %nationalities%'
|
||||||
|
|
||||||
## aggregators
|
## aggregators
|
||||||
Group people by nationality: Aggréger les personnes par nationalités
|
Group people by nationality: Aggréger les personnes par nationalités
|
||||||
|
Loading…
x
Reference in New Issue
Block a user