Example #1
0
 /**
  * Método que llama a la vista del formulario de alta de Empresas
  * y que realiza la lógica de la inserción de empresas
  */
 public function crear()
 {
     if (!$_POST) {
         $datos = ['titulo' => 'Creación de empresa'];
         echo $this->view->render("empresa/formularioEmpresa", $datos);
     } else {
         // creamos un bloque TRY - CATCH para preveer errores SQL
         try {
             // Comprobamos $_POST
             if (EmpresaModel::alta($_POST)) {
                 // Generamos el mensaje de que se ha creado apropiadamente
                 Session::add('feedback_positive', 'La empresa se a creado satisfactoriamente');
                 // comprobamos si tiene un origen, de ser asi lo enviamos al origen
                 // en caso contrario lo redreccionamos a /
                 if ($origen = Session::get('origen')) {
                     Session::set('origen', null);
                     header('Location:' . $origen);
                     exit;
                 } else {
                     //Existe un fedback_positive desde el modelo
                     //para mostrar en home
                     header('Location: /Empresa#' . $_POST['last_id']);
                     exit;
                 }
             } else {
                 // existen errores, llamamos a la vista para mostrar los errores
                 // Saneamos $_POST
                 $array = Validaciones::sanearEntrada($_POST);
                 $datos = ['datos' => $array];
                 // mostramos la vista con los datos saneados,
                 // para evitar la inyeción de código
                 echo $this->view->render('empresa/formularioEmpresa', $datos);
             }
         } catch (PDOException $e) {
             // llamamos a la vista de error 500
             $array = ['msg' => 'Error del servidor, disculpe las molestias.'];
             echo $this->view->render('error/error500', $array);
             // modo debbug ON
             /*echo '<pre>';
             		echo $e->getMessage();*/
         }
     }
 }