protected function handlePost(CreateNewPasswordForm $form, $instanceConfig, $userId) { $form->setInputFilter(new CreateNewPasswordInputFilter()); $form->setData($this->getRequest()->getPost()); if ($form->isValid()) { $formData = $form->getData(); $newPasswordOne = $formData['password']; $newPasswordTwo = $formData['passwordTwo']; if ($newPasswordOne != $newPasswordTwo) { return $instanceConfig['translate']['passwordsDoNotMatch']; } $user = $this->rcmUserService->buildNewUser(); $user->setUsername($userId); try { $result = $this->rcmUserService->readUser($user); } catch (DistributorNotFoundException $e) { return $instanceConfig['translate']['systemError']; } if (!$result->isSuccess()) { return $instanceConfig['translate']['invalidLink']; } $user = $result->getUser(); $user->setPassword($newPasswordTwo); $result = $this->rcmUserService->updateUser($user); if (!$result->isSuccess()) { throw new \Exception($result->getMessagesString()); } } return null; }