code: public function resetPasswordAction(Request $request, $id)
      {
          $em = $this->getDoctrine()->getManager();
          $user = $em->getRepository('Orkestra\Bundle\ApplicationBundle\Entity\User')->find($id);
  
          if (!$user) {
              throw $this->createNotFoundException('Unable to locate User');
          }
  
          $form = $this->createForm(ChangePasswordType::class, null, array('require_current' => false));
  
          if ($request->isMethod('POST')) {
              $form->bind($request);
  
              if ($form->isValid()) {
                  $data = $form->getData();
  
                  $factory = $this->get('security.encoder_factory');
                  $encoder = $factory->getEncoder($user);
                  $user->setPassword($encoder->encodePassword($data['password'], $user->getSalt()));
  
                  $em->persist($user);
                  $em->flush();
  
                  $this->get('session')->getFlashBag()->set('success', 'The password has been changed.');
  
                  return $this->redirect($this->generateUrl('orkestra_user_show', array('id' => $id)));
              }
          }
  
          return array(
              'user' => $user,
              'form' => $form->createView(),
          );
      }
docs: Reset Password Action
  
  @Route("/{id}/reset-password", name="orkestra_user_password_reset")
  @Template()
  @Secure(roles="ROLE_USER_WRITE")