示例#1
0
 /**
  * @param Request $request
  * @param array   $parameters
  *
  * @return JsonResponse
  */
 public function updateAction(Request $request, $parameters)
 {
     /** @var UserRepository $repository */
     $repository = $this->app['app.repository.user'];
     $user = new User($parameters['name'], $request->get('post', 'roles', []));
     $repository->updateUser($user, $request->get('post', 'password'));
     return $this->app['api.response.negociator']->negociate($request, ['name' => $user->getName(), 'roles' => $user->getRoles(), 'links' => ['rel' => 'self', 'href' => sprintf('/api/users/%s', $user->getName())]]);
 }
示例#2
0
 /**
  * @param Request $request
  *
  * @return Response
  */
 public function indexAction(Request $request)
 {
     /* @var Session */
     $session = $this->app['app.session'];
     $user = $session->getUser();
     if ($user) {
         return new RedirectResponse('/');
     }
     if ($request->getMethod() == 'POST') {
         /* @var UserRepository */
         $repository = $this->app['app.repository.user'];
         $user = $repository->findByNameAndPassword($request->get('post', 'name', false), $request->get('post', 'password', false));
         if (!$user) {
             return $this->render('Login\\index.html.twig', ['error' => 'Name or password invalid']);
         }
         $session->setUser($user);
         if ($session->has('app.redirect_on_login')) {
             return new RedirectResponse($session->get('app.redirect_on_login'));
         }
         return new RedirectResponse('/');
     }
     return $this->render('Login\\index.html.twig', []);
 }
示例#3
0
 /**
  * @dataProvider dataProviderForTestParameters
  *
  * @param array  $parameters
  * @param string $key
  * @param string $value
  */
 public function testCookieParameters($parameters, $key, $value)
 {
     $request = new Request('', [], [], [], $parameters);
     $this->assertEquals($value, $request->get('cookie', $key));
 }