Networking\InitCmsBundle\Controller\FrontendPageController::changeAdminLanguageAction PHP Method

changeAdminLanguageAction() public method

Change the language in the admin area (currently not implemented in the template)
public changeAdminLanguageAction ( Request $request, $locale ) : RedirectResponse
$request Symfony\Component\HttpFoundation\Request
$locale
return Symfony\Component\HttpFoundation\RedirectResponse
    public function changeAdminLanguageAction(Request $request, $locale)
    {
        $request->getSession()->set('admin/_locale', $locale);
        return new RedirectResponse($request->headers->get('referer'));
    }

Usage Example

 /**
  *
  */
 public function testChangeAdminLanguageAction()
 {
     // session
     $session = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\Session\\Session')->disableOriginalConstructor()->getMock();
     $session->expects($this->once())->method('set')->with($this->equalTo('admin/_locale'), $this->equalTo('xy'));
     // request
     $request = $this->getMockBuilder('\\Symfony\\Component\\HttpFoundation\\Request')->disableOriginalConstructor()->getMock();
     $request->expects($this->once())->method('getSession')->will($this->returnValue($session));
     // request headers
     $headers = $this->getMock('\\Symfony\\Component\\HttpFoundation\\HeaderBag');
     $headers->expects($this->once())->method('get')->will($this->returnValue('/test/'))->with($this->equalTo('referer'));
     $request->headers = $headers;
     // controller test
     $controller = new FrontendPageController();
     $response = $controller->changeAdminLanguageAction($request, 'xy');
     $this->assertInstanceOf('\\Symfony\\Component\\HttpFoundation\\RedirectResponse', $response, 'Redirect returned');
 }