Beispiel #1
0
 /**
  * Método que llama a la vista del formulario
  */
 public function crear()
 {
     // bloque try - catch en caso de posibles excepciones de PDO
     try {
         if (!$_POST) {
             $empresa = OfertaModel::getNombreEmpresa();
             $datos = ['titulo' => 'Creación de oferta', 'empresas' => $empresa];
             echo $this->view->render('ofertas/formularioOferta', $datos);
         } else {
             // Comprobamos $_POST
             if (OfertaModel::alta($_POST)) {
                 // Generamos el mensaje de que se ha creado apropiadamente
                 Session::add('feedback_positive', 'La oferta 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 o en el controlador
                     $last_id = $_POST['last_id'];
                     header('Location: /Oferta#' . $last_id);
                     exit;
                 }
             } else {
                 // existen errores, llamamos a la vista para mostrar los errores
                 // Saneamos $_POST
                 $array = Validaciones::sanearEntrada($_POST);
                 $empresa = OfertaModel::getNombreEmpresa();
                 $datos = ['datos' => $array, 'empresas' => $empresa];
                 // mostramos la vista con los datos saneados, para evitar la inyeción de código
                 echo $this->view->render('ofertas/formularioOferta', $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();*/
     }
 }