Merge branch 'cart'

This commit is contained in:
Manuel Raynaud
2013-08-08 14:49:03 +02:00
3675 changed files with 3538591 additions and 1503027 deletions

View File

@@ -178,7 +178,16 @@ class Cart extends BaseAction implements EventSubscriberInterface
{
$request = $event->getRequest();
if (null !== $cartItem = $request->get('cartItem')) {
if (null !== $cartItemId = $request->get('cartItem')) {
$cart = $this->getCart($request);
try {
$cartItem = CartItemQuery::create()
->filterByCartId($cart->getId())
->filterById($cartItemId)
->delete();
} catch (PropelException $e) {
\Thelia\Log\Tlog::getInstance()->error(sprintf("error during deleting cartItem with message : %s", $e->getMessage()));
}
}
}
@@ -195,18 +204,23 @@ class Cart extends BaseAction implements EventSubscriberInterface
{
$request = $event->getRequest();
$message = "";
if(null !== $cartItemId = $request->get("cartItem") && null !== $quantity = $request->get("quantity")) {
$cart = $this->getCart($request);
$cartItem = CartItemQuery::create()
->filterByCartId($cart->getId())
->filterById($cartItemId)
->findOne();
if($cartItem) {
$this->updateQuantity($cartItem, $quantity);
try {
$cart = $this->getCart($request);
$cartItem = CartItemQuery::create()
->filterByCartId($cart->getId())
->filterById($cartItemId)
->findOne();
if($cartItem) {
$this->updateQuantity($cartItem, $quantity);
}
} catch (PropelException $e) {
\Thelia\Log\Tlog::getInstance()->error(sprintf("error during updating cartItem with message : %s", $e->getMessage()));
}
}
}

View File

@@ -0,0 +1,71 @@
<?php
/**
* Created by JetBrains PhpStorm.
* User: manu
* Date: 08/08/13
* Time: 12:44
* To change this template use File | Settings | File Templates.
*/
namespace Thelia\Core\Template\Loop;
use Thelia\Core\Template\Element\BaseLoop;
class Cart extends BaseLoop {
/**
*
* this function have to be implement in your own loop class.
*
* All your parameters are defined in defineArgs() and can be accessible like a class property.
*
* example :
*
* public function defineArgs()
* {
* return array (
* "ref",
* "id" => "optional",
* "stock" => array(
* "optional",
* "default" => 10
* )
* );
* }
*
* you can retrieve ref value using $this->ref
*
* @param $pagination
*
* @return mixed
*/
public function exec(&$pagination)
{
// TODO: Implement exec() method.
}
/**
*
* define all args used in your loop
*
* array key is your arg name.
*
* example :
*
* return array (
* "ref",
* "id" => "optional",
* "stock" => array(
* "optional",
* "default" => 10
* )
* );
*
* @return \Thelia\Core\Template\Loop\Argument\ArgumentCollection
*/
protected function getArgDefinitions()
{
// TODO: Implement getArgDefinitions() method.
}
}