From 8445e81d44da1d12ae82a24e14ce4136cadd8a41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Wed, 24 Jun 2015 22:32:28 +0200 Subject: [PATCH] refactor: move scope field to trait [ci skip] as we know tests are failing --- Form/ReportType.php | 57 ++++++++++++++++++++++++--- Resources/config/services.yml | 1 + Resources/views/Report/view.html.twig | 4 +- 3 files changed, 54 insertions(+), 8 deletions(-) diff --git a/Form/ReportType.php b/Form/ReportType.php index 5c138094f..aa56daa80 100644 --- a/Form/ReportType.php +++ b/Form/ReportType.php @@ -21,12 +21,54 @@ namespace Chill\ReportBundle\Form; -use Chill\MainBundle\Form\Type\AbstractHasScopeType; +use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; +use Chill\MainBundle\Form\Type\AppendScopeChoiceTypeTrait; +use Chill\MainBundle\Security\Authorization\AuthorizationHelper; +use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; +use Chill\MainBundle\Templating\TranslatableStringHelper; +use Doctrine\Common\Persistence\ObjectManager; -class ReportType extends AbstractHasScopeType +class ReportType extends AbstractType { + use AppendScopeChoiceTypeTrait; + + /** + * + * @var AuthorizationHelper + */ + protected $authorizationHelper; + + /** + * + * @var TranslatableStringHelper + */ + protected $translatableStringHelper; + + /** + * + * @var \Doctrine\Common\Persistence\ObjectManager + */ + protected $om; + + /** + * + * @var \Chill\MainBundle\Entity\User + */ + protected $user; + + public function __construct(AuthorizationHelper $helper, + TokenStorageInterface $tokenStorage, + TranslatableStringHelper $translatableStringHelper, + ObjectManager $om) + { + $this->authorizationHelper = $helper; + $this->user = $tokenStorage->getToken()->getUser(); + $this->translatableStringHelper = $translatableStringHelper; + $this->om = $om; + } + /** * @param FormBuilderInterface $builder * @param array $options @@ -42,16 +84,17 @@ class ReportType extends AbstractHasScopeType 'group' => $options['cFGroup'])) ; - $this->appendScopeChoices($builder, $options); + $this->appendScopeChoices($builder, $options['role'], $options['center'], + $this->user, $this->authorizationHelper, + $this->translatableStringHelper, + $this->om); } /** * @param OptionsResolverInterface $resolver */ public function configureOptions(OptionsResolver $resolver) - { - parent::configureOptions($resolver); - + { $resolver->setDefaults(array( 'data_class' => 'Chill\ReportBundle\Entity\Report' )); @@ -63,6 +106,8 @@ class ReportType extends AbstractHasScopeType $resolver->setAllowedTypes(array( 'cFGroup' => 'Chill\CustomFieldsBundle\Entity\CustomFieldsGroup', )); + + $this->appendScopeChoicesOptions($resolver); } /** diff --git a/Resources/config/services.yml b/Resources/config/services.yml index c81adc2e6..35fbf3b27 100644 --- a/Resources/config/services.yml +++ b/Resources/config/services.yml @@ -33,6 +33,7 @@ services: - "@chill.main.security.authorization.helper" - "@security.token_storage" - "@chill.main.helper.translatable_string" + - "@doctrine.orm.entity_manager" tags: - { name: form.type, alias: chill_reportbundle_report } \ No newline at end of file diff --git a/Resources/views/Report/view.html.twig b/Resources/views/Report/view.html.twig index bbce26cc0..0d964007a 100644 --- a/Resources/views/Report/view.html.twig +++ b/Resources/views/Report/view.html.twig @@ -30,8 +30,8 @@
{{ 'Person'|trans }}
{{ entity.person }}
- +
{{ 'Scope'|trans }}
+
{{ entity.scope.name|localize_translatable_string }}
{{ 'Date'|trans }}
{{ entity.date|localizeddate('long', 'none') }}
{{ 'User'|trans }}