示例#1
0
 /**
  * @param FormBuilderInterface|FormInterface $builder
  * @param                                    $dataClass
  * @param string                             $permission
  * @param array                              $data
  * @param int                                $entityId
  */
 protected function addUserOwnerField($builder, $dataClass, $permission = "CREATE", $data = null, $entityId = 0)
 {
     /**
      * Showing user owner box for entities with owner type USER if assign permission is
      * granted.
      */
     if ($this->isAssignGranted || $permission == 'ASSIGN') {
         $formBuilder = $builder instanceof FormInterface ? $builder->getConfig() : $builder;
         $isRequired = $formBuilder->getOption('required');
         $options = ['label' => ConfigHelper::getTranslationKey('entity', 'label', $dataClass, $this->fieldName), 'required' => true, 'constraints' => $isRequired ? [new NotBlank()] : [], 'autocomplete_alias' => 'acl_users', 'configs' => ['placeholder' => 'oro.user.form.choose_user', 'result_template_twig' => 'OroUserBundle:User:Autocomplete/result.html.twig', 'selection_template_twig' => 'OroUserBundle:User:Autocomplete/selection.html.twig', 'component' => 'acl-user-autocomplete', 'permission' => $permission, 'entity_name' => str_replace('\\', '_', $dataClass), 'entity_id' => $entityId]];
         if (null !== $data) {
             $options['data'] = $data;
         }
         $builder->add($this->fieldName, 'oro_user_acl_select', $options);
     }
 }