adapt filters to new interface + add message for nationality filter

This commit is contained in:
2016-12-01 22:36:04 +01:00
parent b73259b49f
commit e412fbf34c
4 changed files with 36 additions and 1 deletions

View File

@@ -84,4 +84,9 @@ class GenderFilter implements FilterInterface
{
return NULL;
}
public function describeAction($data, $format = 'string')
{
}
}

View File

@@ -23,7 +23,9 @@ use Symfony\Component\Form\FormBuilderInterface;
use Doctrine\ORM\QueryBuilder;
use Chill\MainBundle\Export\FilterInterface;
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
{
/**
*
* @var TranslatableStringHelper
*/
private $translatableStringHelper;
public function __construct(TranslatableStringHelper $helper)
{
$this->translatableStringHelper = $helper;
}
public function applyOn()
{
return 'person';
@@ -69,4 +82,18 @@ class NationalityFilter implements FilterInterface
{
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))
);
}
}