public function crear()
 {
     HelperFunctions::comprobarSesion();
     if (!$_POST) {
         $clientes = ClienteModel::getAll();
         $promos = PromocionModel::getAllPromociones();
         $estados = EstadoModel::getAll();
         $datos = array('destino' => 'proyecto/crear', 'submit' => 'Crear', 'promolist' => $promos, 'estadolist' => $estados, 'clientelist' => $clientes);
         View::render("proyecto/formulario", $datos);
     } else {
         $_POST = HelperFunctions::sanear($_POST);
         $errores = [];
         if (($err = Validaciones::validarFecha($_POST['fecha_de_inicio'])) !== true) {
             $errores['fecha_de_inicio'] = $err;
         }
         if (($err = Validaciones::validarFecha($_POST['fecha_prevista'])) !== true) {
             $errores['fecha_prevista'] = $err;
         }
         if ($errores) {
             $clientes = ClienteModel::getAll();
             $clienteselected = $_POST['cliente'];
             $promos = PromocionModel::getAllPromociones();
             $promoselected = $_POST['promocion'];
             $estados = EstadoModel::getAll();
             $estadoselected = $_POST['estado'];
             $datos = array('destino' => 'proyecto/crear', 'submit' => 'Crear', 'promolist' => $promos, 'promo_selected' => $promoselected, 'estadolist' => $estados, 'estado_selected' => $estadoselected, 'clientelist' => $clientes, 'cliente_selected' => $clienteselected, 'errores' => $errores);
             View::render("proyecto/formulario", $datos);
         } else {
             ProyectoModel::insert($_POST);
             header("Location: " . URL . "proyecto");
         }
     }
 }
 public static function update($data, $id)
 {
     $conn = Database::getInstance()->getDatabase();
     $cliente = ClienteModel::getByName($data['cliente'])['id'];
     $promocion = $data['promocion'];
     $fecha_inicio = $data['fecha_de_inicio'];
     $fecha_fin = $data['fecha_de_fin'];
     $fecha_prevista = $data['fecha_prevista'];
     $estado = EstadoModel::getByDescripcion($data['estado'])['id'];
     $ssql = "UPDATE proyecto SET cliente = :cliente, fecha_inicio = :fecha_inicio,\n\t\tfecha_prevista = :fecha_prevista, estado = :estado";
     if ($promocion != 'ninguna') {
         $ssql .= ", promocion = :promocion";
     }
     if (!empty($fecha_fin)) {
         $ssql .= ", fecha_fin = :fecha_fin";
     } else {
         $ssql .= ", fecha_fin = null";
     }
     $ssql .= ' WHERE id = :id';
     $query = $conn->prepare($ssql);
     $query->bindParam(':cliente', $cliente);
     $query->bindParam(':fecha_inicio', $fecha_inicio);
     $query->bindParam(':fecha_prevista', $fecha_prevista);
     $query->bindParam(':estado', $estado);
     $query->bindParam(':id', $id);
     if ($promocion != 'ninguna') {
         $promocion = PromocionModel::getByCode($promocion)['id'];
         $query->bindParam(':promocion', $promocion);
     }
     if (!empty($fecha_fin)) {
         $query->bindParam(':fecha_fin', $fecha_fin);
     }
     $query->execute();
     return $query->rowCount();
 }
 public function crear()
 {
     HelperFunctions::comprobarSesion();
     if (!$_POST) {
         $datos = array('destino' => 'estado/crear/', 'submit' => 'Crear');
         View::render("estado/formulario", $datos);
     } else {
         $_POST = HelperFunctions::sanear($_POST);
         $errores = [];
         if (!isset($_POST['descripcion']) || empty($_POST['descripcion'])) {
             $errores['descripcion'] = ['descripcion' => 'El campo es requerido'];
         }
         if ($errores) {
             $datos = array('destino' => 'estado/crear', 'submit' => 'Crear', 'errores' => $errores);
             View::render("estado/formulario", $datos);
         } else {
             EstadoModel::insert($_POST);
             header("Location: " . URL . "estado");
         }
     }
 }