コード例 #1
0
 /**
  * @Patch("/{user}/roles", requirements={"user"="\d+"})
  * @ApiDoc(
  *  section="Users",
  *  description="Update user roles.",
  *  input="user_roles_form"
  * )
  *
  * @ParamConverter("user", class="AuthBundle:User")
  *
  * @param User $user
  * @param Request $request
  *
  * @return array
  *
  * @throws InvalidFormException
  */
 public function patchUserRolesAction(User $user, Request $request)
 {
     $form = $this->get('form.factory')->create('user_roles_form');
     $form->submit($request->request->all());
     if (!$form->isValid()) {
         throw new InvalidFormException($form);
     }
     $data = $form->getData();
     $user->setRoles($data['roles']);
     $this->get('doctrine.orm.default_entity_manager')->flush();
     return ['resource_id' => $user->getId(), '_link' => $this->route($user)];
 }
コード例 #2
0
 /**
  * Load data fixtures with the passed EntityManager.
  *
  * @param ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $clientManager = $this->container->get('fos_oauth_server.client_manager');
     /** @var Client $client */
     $client = $clientManager->createClient();
     $client->setRedirectUris([]);
     $client->setAllowedGrantTypes(['password', 'refresh_token']);
     $client->setRandomId('random_id');
     $client->setSecret('secret');
     $manager->persist($client);
     $user = new User();
     $user->setRoles(['ROLE_ADMIN']);
     $user->setUsername('test');
     $encoderFactory = $this->container->get('security.encoder_factory');
     $user->setPassword($encoderFactory->getEncoder($user)->encodePassword('test', $user->getSalt()));
     $manager->persist($user);
     $manager->flush();
 }