/** * Update user's password. * * @author Casper Rasmussen <*****@*****.**> * * @param \Nodes\Backend\Models\User\Validation\UserValidator $userValidator * @return \Illuminate\Http\RedirectResponse */ public function updatePassword(UserValidator $userValidator) { // Retrieve posted data $data = Request::all(); // Retrieve user to update $user = $this->userRepository->getById($data['id']); if (empty($user) || $user->id != backend_user()->id) { return redirect()->route('nodes.backend.users')->with('error', 'User was not found'); } // Validate user if (!$userValidator->with($data)->group('update-password')->validate()) { return redirect()->back()->withInput()->with(['error' => $userValidator->errorsBag()]); } try { // Update user's password $this->userRepository->updateUser($user, array_merge($data, ['change_password' => false])); return redirect()->route('nodes.backend.dashboard')->with('success', 'Password is updated'); } catch (Exception $e) { return redirect()->back()->withInput()->with('error', 'Could not update password'); } }