/**
  * TODO: Good candidate for traits method in PHP 5.4 with PostRedirectGet plugin
  *
  * @param  string  $redirect
  * @param  bool    $redirectToUrl
  * @return Response
  * @throws \Zend\Mvc\Exception\RuntimeException
  */
 protected function redirect($redirect, $redirectToUrl)
 {
     $controller = $this->getController();
     $params = [];
     $options = [];
     $reuseMatchedParams = false;
     if (null === $redirect) {
         $routeMatch = $controller->getEvent()->getRouteMatch();
         $redirect = $routeMatch->getMatchedRouteName();
         //null indicates to redirect for self.
         $reuseMatchedParams = true;
     }
     if (method_exists($controller, 'getPluginManager')) {
         // get the redirect plugin from the plugin manager
         $redirector = $controller->getPluginManager()->get('Redirect');
     } else {
         /*
          * If the user wants to redirect to a route, the redirector has to come
          * from the plugin manager -- otherwise no router will be injected
          */
         if ($redirectToUrl === false) {
             throw new RuntimeException('Could not redirect to a route without a router');
         }
         $redirector = new Redirect();
     }
     if ($redirectToUrl === false) {
         $response = $redirector->toRoute($redirect, $params, $options, $reuseMatchedParams);
         $response->setStatusCode(303);
         return $response;
     }
     $response = $redirector->toUrl($redirect);
     $response->setStatusCode(303);
     return $response;
 }
 /**
  * Método para verificar la conexión de la bd
  */
 public function test()
 {
     if (!Input::isAjax()) {
         Flash::error('Acceso incorrecto para la verificación del sistema.');
         return Redirect::toRoute('module: dashboard', 'controller: index');
     }
     if (!Input::hasPost('development') or !Input::hasPost('production')) {
         Flash::error('Oops!. No hemos recibido algún parámetro de configuración.');
     } else {
         if (Input::hasPost('development')) {
             Sistema::testConnection(Input::post('development'), 'development', true);
         }
         if (Input::hasPost('production')) {
             Sistema::testConnection(Input::post('production'), 'production', true);
         }
     }
     View::ajax();
 }