/** * @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())]]); }
/** * @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', []); }
/** * @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)); }