mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
add grouping and fix localization of trans. string in ActivityReason
the label of activity type is now handled by translatableStringHelper. Reasons are also grouped by categories. This is thanks to PR https://github.com/symfony/symfony/pull/14050
This commit is contained in:
parent
7e688d8573
commit
7675f0e250
@ -25,6 +25,7 @@ namespace Chill\ActivityBundle\Form\Type;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\HttpFoundation\RequestStack;
|
||||
use Chill\MainBundle\Templating\TranslatableStringHelper;
|
||||
|
||||
/**
|
||||
* Description of TranslatableActivityReason
|
||||
@ -33,14 +34,12 @@ use Symfony\Component\HttpFoundation\RequestStack;
|
||||
*/
|
||||
class TranslatableActivityReason extends AbstractType
|
||||
{
|
||||
/**
|
||||
* @var RequestStack
|
||||
*/
|
||||
private $requestStack;
|
||||
|
||||
public function __construct(RequestStack $requestStack)
|
||||
private $translatableStringHelper;
|
||||
|
||||
public function __construct(TranslatableStringHelper $translatableStringHelper)
|
||||
{
|
||||
$this->requestStack = $requestStack;
|
||||
$this->translatableStringHelper = $translatableStringHelper;
|
||||
}
|
||||
|
||||
public function getName()
|
||||
@ -55,11 +54,16 @@ class TranslatableActivityReason extends AbstractType
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$locale = $this->requestStack->getCurrentRequest()->getLocale();
|
||||
$helper = $this->translatableStringHelper;
|
||||
$resolver->setDefaults(
|
||||
array(
|
||||
'class' => 'ChillActivityBundle:ActivityReason',
|
||||
'property' => 'name['.$locale.']'
|
||||
'choice_label' => function($choice, $key) use ($helper) {
|
||||
return $helper->localize($choice->getName());
|
||||
},
|
||||
'group_by' => function($choice, $key) use ($helper) {
|
||||
return $helper->localize($choice->getCategory()->getName());
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ services:
|
||||
chill.activity.form.type.translatableactivityreason:
|
||||
class: Chill\ActivityBundle\Form\Type\TranslatableActivityReason
|
||||
arguments:
|
||||
- "@request_stack"
|
||||
- "@chill.main.helper.translatable_string"
|
||||
tags:
|
||||
- { name: form.type, alias: translatable_activity_reason }
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user