Esempio n. 1
0
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     parent::buildForm($builder, $options);
     $isAdmin = $this->isAdmin;
     $builder->add('platformRoles', 'entity', array('label' => 'roles', 'class' => 'Claroline\\CoreBundle\\Entity\\Role', 'choice_translation_domain' => true, 'data' => $this->roles, 'mapped' => false, 'expanded' => true, 'multiple' => true, 'property' => 'translationKey', 'disabled' => false, 'query_builder' => function (\Doctrine\ORM\EntityRepository $er) use($isAdmin) {
         $query = $er->createQueryBuilder('r')->where("r.type = " . Role::PLATFORM_ROLE)->andWhere("r.name != 'ROLE_ANONYMOUS'")->andWhere("r.name != 'ROLE_USER'");
         if (!$isAdmin) {
             $query->andWhere("r.name != 'ROLE_ADMIN'");
         }
         return $query;
     }));
 }
Esempio n. 2
0
 /**
  * @View(serializerGroups={"api"})
  * @ApiDoc(
  *     description="Update a group",
  *     views = {"group"},
  *     input="Claroline\CoreBundle\Form\GroupType"
  * )
  */
 public function putGroupAction(Group $group)
 {
     $groupType = new GroupType();
     $groupType->enableApi();
     $form = $this->formFactory->create($groupType, $group);
     $form->submit($this->request);
     //$form->handleRequest($this->request);
     if ($form->isValid()) {
         $group = $form->getData();
         $userRole = $this->roleManager->getRoleByName('ROLE_USER');
         $this->groupManager->insertGroup($group);
         return $group;
     }
     return $form;
 }