Fixed HTTP Status code when ajaxLogin is set

This commit is contained in:
David Steinsland 2014-02-05 16:05:02 +01:00
parent e36c954da7
commit f2b9aa5ca4
2 changed files with 4 additions and 1 deletions

View file

@ -363,6 +363,7 @@ class AuthComponent extends Component {
return false;
}
if (!empty($this->ajaxLogin)) {
$controller->response->statusCode(403);
$controller->viewPath = 'Elements';
echo $controller->render($this->ajaxLogin, $this->RequestHandler->ajaxLayout);
$this->_stop();

View file

@ -1106,11 +1106,13 @@ class AuthComponentTest extends CakeTestCase {
App::uses('Dispatcher', 'Routing');
$Response = new CakeResponse();
ob_start();
$Dispatcher = new Dispatcher();
$Dispatcher->dispatch(new CakeRequest('/ajax_auth/add'), new CakeResponse(), array('return' => 1));
$Dispatcher->dispatch(new CakeRequest('/ajax_auth/add'), $Response, array('return' => 1));
$result = ob_get_clean();
$this->assertEquals(403, $Response->statusCode());
$this->assertEquals("Ajax!\nthis is the test element", str_replace("\r\n", "\n", $result));
unset($_SERVER['HTTP_X_REQUESTED_WITH']);
}