예제 #1
0
        break;
    case 'remove':
        $ok = ErpCarrito::removeProduct($datos['Id']);
        if (!$ok) {
            $errores = ErpCarrito::getErrores();
        } else {
            $alertas = ErpCarrito::getAlertas();
        }
        break;
    case 'update':
        $idLinea = ErpCarrito::updateProduct($datos['Id'], $datos['Unidades']);
        if (!$idLinea) {
            $errores = ErpCarrito::getErrores();
        } else {
            $alertas = ErpCarrito::getAlertas();
        }
        break;
}
$status = 'ok';
if (count($errores)) {
    $status = "error";
}
if (count($alertas)) {
    $status = "alerta";
}
$linea = isset($idLinea) ? ErpCarrito::getLinea($idLinea)->iterator() : array();
$twig->addGlobal('appPath', $app['path']);
$htmlMiniCarrito = $twig->render('Carrito/miniCarrito.html.twig', array('carrito' => ErpCarrito::getCarrito()));
$resultado = array('status' => $status, 'accion' => $accion, 'linea' => $linea, 'totales' => ErpCarrito::getTotales(), 'errores' => $errores, 'alertas' => $alertas, 'htmlMinicarrito' => $htmlMiniCarrito);
$tag = json_encode($resultado);
echo $tag;
예제 #2
0
 /**
  * Actualiza la línea $idLinea del carrito en curso con las
  * unidades $unidades de producto, actualizando también el importe de la línea
  * 
  * @param integer $idLinea El id de la línea a actualizar
  * @param decimal $unidades El número de unidades de producto a actulizar
  * @return integer El id de la línea actualizada
  */
 static function updateProduct($idLinea, $unidades)
 {
     $carrito = new Carrito($idLinea);
     $idLinea = $carrito->getId();
     if ($idLinea) {
         $carrito->setUnidades($unidades);
         $carrito->setImporte($carrito->getPrecio() * $unidades);
         // * (1 - $carrito->getDescuento() / 100));
         $carrito->save();
         self::$errores = $carrito->getErrores();
         self::$alertas = $carrito->getAlertas();
     }
     return $idLinea;
 }