diff --git a/src/Bundle/ChillDocStoreBundle/Controller/DocumentPersonController.php b/src/Bundle/ChillDocStoreBundle/Controller/DocumentPersonController.php index fcb3a4958..eb9698aee 100644 --- a/src/Bundle/ChillDocStoreBundle/Controller/DocumentPersonController.php +++ b/src/Bundle/ChillDocStoreBundle/Controller/DocumentPersonController.php @@ -98,7 +98,6 @@ class DocumentPersonController extends AbstractController PersonDocumentType::class, $document, [ - 'center' => $document->getCenter(), 'role' => 'CHILL_PERSON_DOCUMENT_UPDATE', ] ); @@ -199,7 +198,6 @@ class DocumentPersonController extends AbstractController $document->setDate(new DateTime('Now')); $form = $this->createForm(PersonDocumentType::class, $document, [ - 'center' => $document->getCenter(), 'role' => 'CHILL_PERSON_DOCUMENT_CREATE', ]); $form->handleRequest($request); diff --git a/src/Bundle/ChillDocStoreBundle/Form/PersonDocumentType.php b/src/Bundle/ChillDocStoreBundle/Form/PersonDocumentType.php index bcbd4d707..41dc73154 100644 --- a/src/Bundle/ChillDocStoreBundle/Form/PersonDocumentType.php +++ b/src/Bundle/ChillDocStoreBundle/Form/PersonDocumentType.php @@ -13,15 +13,13 @@ namespace Chill\DocStoreBundle\Form; use Chill\DocStoreBundle\Entity\Document; use Chill\DocStoreBundle\Entity\PersonDocument; -use Chill\MainBundle\Entity\User; use Chill\MainBundle\Form\Type\ChillDateType; use Chill\MainBundle\Form\Type\ChillTextareaType; use Chill\MainBundle\Form\Type\ScopePickerType; -use Chill\MainBundle\Security\Authorization\AuthorizationHelper; +use Chill\MainBundle\Security\Resolver\CenterResolverDispatcher; use Chill\MainBundle\Security\Resolver\ScopeResolverDispatcher; -use Chill\MainBundle\Templating\TranslatableStringHelper; +use Chill\MainBundle\Templating\TranslatableStringHelperInterface; use Doctrine\ORM\EntityRepository; -use Doctrine\Persistence\ObjectManager; use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; use Symfony\Component\Form\AbstractType; @@ -31,34 +29,16 @@ use Symfony\Component\OptionsResolver\OptionsResolver; class PersonDocumentType extends AbstractType { - /** - * @var AuthorizationHelper - */ - protected $authorizationHelper; - - /** - * @var ObjectManager - */ - protected $om; - - /** - * @var TranslatableStringHelper - */ - protected $translatableStringHelper; - - /** - * the user running this form. - * - * @var User - */ - protected $user; + private CenterResolverDispatcher $centerResolverDispatcher; private ParameterBagInterface $parameterBag; private ScopeResolverDispatcher $scopeResolverDispatcher; + private TranslatableStringHelperInterface $translatableStringHelper; + public function __construct( - TranslatableStringHelper $translatableStringHelper, + TranslatableStringHelperInterface $translatableStringHelper, ScopeResolverDispatcher $scopeResolverDispatcher, ParameterBagInterface $parameterBag ) { @@ -96,7 +76,7 @@ class PersonDocumentType extends AbstractType if ($isScopeConcerned && $this->parameterBag->get('chill_main')['acl']['form_show_scopes']) { $builder->add('scope', ScopePickerType::class, [ - 'center' => $options['center'], + 'center' => $this->centerResolverDispatcher->resolveCenter($document), 'role' => $options['role'], ]); } @@ -108,8 +88,7 @@ class PersonDocumentType extends AbstractType 'data_class' => Document::class, ]); - $resolver->setRequired(['role', 'center']) - ->setAllowedTypes('role', ['string']) - ->setAllowedTypes('center', [\Chill\MainBundle\Entity\Center::class]); + $resolver->setRequired(['role']) + ->setAllowedTypes('role', ['string']); } }