diff --git a/core/Controller/LostController.php b/core/Controller/LostController.php index f45de3653e..d0ed432f03 100644 --- a/core/Controller/LostController.php +++ b/core/Controller/LostController.php @@ -206,10 +206,11 @@ class LostController extends Controller { } /** + * @param array $data * @return array */ - private function success() { - return array('status'=>'success'); + private function success($data = []) { + return array_merge($data, ['status'=>'success']); } /** @@ -282,7 +283,7 @@ class LostController extends Controller { return $this->error($e->getMessage()); } - return $this->success(); + return $this->success(['user' => $userId]); } /** diff --git a/core/js/lostpassword.js b/core/js/lostpassword.js index 5f81a96cd4..a51b58a657 100644 --- a/core/js/lostpassword.js +++ b/core/js/lostpassword.js @@ -162,7 +162,7 @@ OC.Lostpassword = { resetDone : function(result){ var resetErrorMsg; if (result && result.status === 'success'){ - OC.Lostpassword.redirect(); + OC.Lostpassword.redirect('/login?user=' + result.user); } else { if (result && result.msg){ resetErrorMsg = result.msg; @@ -175,12 +175,8 @@ OC.Lostpassword = { } }, - redirect : function(msg){ - if(OC.webroot !== '') { - window.location = OC.webroot; - } else { - window.location = '/'; - } + redirect : function(url){ + window.location = OC.generateUrl(url); }, resetError : function(msg){ diff --git a/tests/Core/Controller/LostControllerTest.php b/tests/Core/Controller/LostControllerTest.php index f35d3b37b8..8ccabfbf79 100644 --- a/tests/Core/Controller/LostControllerTest.php +++ b/tests/Core/Controller/LostControllerTest.php @@ -571,7 +571,7 @@ class LostControllerTest extends \Test\TestCase { )->willReturn('12345:TheOnlyAndOnlyOneTokenToResetThePassword'); $response = $this->lostController->setPassword('TheOnlyAndOnlyOneTokenToResetThePassword', 'ValidTokenUser', 'NewPassword', true); - $expectedResponse = array('status' => 'success'); + $expectedResponse = array('user' => 'ValidTokenUser', 'status' => 'success'); $this->assertSame($expectedResponse, $response); }