diff --git a/core/lib/Thelia/Core/Template/BaseParam/Secure.php b/core/lib/Thelia/Action/BaseAction.php
old mode 100755
new mode 100644
similarity index 84%
rename from core/lib/Thelia/Core/Template/BaseParam/Secure.php
rename to core/lib/Thelia/Action/BaseAction.php
index ecc36299e..dab3cd4f5
--- a/core/lib/Thelia/Core/Template/BaseParam/Secure.php
+++ b/core/lib/Thelia/Action/BaseAction.php
@@ -20,20 +20,19 @@
/* along with this program. If not, see . */
/* */
/*************************************************************************************/
+namespace Thelia\Action;
-namespace Thelia\Core\Template\BaseParam;
+use Symfony\Component\HttpFoundation\RedirectResponse;
-use Thelia\Tpex\BaseParam\BaseParam;
-use Thelia\Tools\Redirect;
-
-class Secure extends BaseParam
+abstract class BaseAction
{
- public function exec()
- {
- $request = $this->getRequest();
- if (!$request->getSession()->get('connected') && $this->baseParamValue) {
- Redirect::unauthorize();
- }
+ public function redirect($url, $status = 302)
+ {
+ $response = new RedirectResponse($url, $status);
+
+ $response->send();
+ exit;
}
-}
+
+}
\ No newline at end of file
diff --git a/core/lib/Thelia/Action/Cart.php b/core/lib/Thelia/Action/Cart.php
index 8634feabb..ca2768b03 100755
--- a/core/lib/Thelia/Action/Cart.php
+++ b/core/lib/Thelia/Action/Cart.php
@@ -23,19 +23,47 @@
namespace Thelia\Action;
+use Propel\Runtime\Exception\PropelException;
use Symfony\Component\Config\Definition\Exception\Exception;
+use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Thelia\Core\Event\ActionEvent;
+use Thelia\Core\Event\CartEvent;
+use Thelia\Core\Event\TheliaEvents;
use Thelia\Core\HttpFoundation\Session\Session;
use Thelia\Form\CartAdd;
+use Thelia\Model\ProductPrice;
+use Thelia\Model\ProductPriceQuery;
+use Thelia\Model\CartItem;
+use Thelia\Model\CartItemQuery;
use Thelia\Model\CartQuery;
use Thelia\Model\Cart as CartModel;
+use Thelia\Model\ConfigQuery;
use Thelia\Model\Customer;
-
-class Cart implements EventSubscriberInterface
+/**
+ *
+ * Class Cart where all actions are manage like adding, modifying or delete items.
+ *
+ * Class Cart
+ * @package Thelia\Action
+ */
+class Cart extends BaseAction implements EventSubscriberInterface
{
+ /**
+ * @var \Symfony\Component\EventDispatcher\EventDispatcherInterface
+ */
+ protected $dispatcher;
+
+ /**
+ * @param \Symfony\Component\EventDispatcher\EventDispatcherInterface $dispatcher
+ */
+ public function __construct(EventDispatcherInterface $dispatcher)
+ {
+ $this->dispatcher = $dispatcher;
+ }
+
/**
*
* add an article to cart
@@ -46,6 +74,88 @@ class Cart implements EventSubscriberInterface
{
$request = $event->getRequest();
+ $cartAdd = $this->getAddCartForm($request);
+ $form = $cartAdd->getForm();
+
+ $form->bind($request);
+
+ if($form->isValid()) {
+ try {
+ $cart = $this->getCart($request);
+ $newness = $form->get("newness")->getData();
+ $append = $form->get("append")->getData();
+ $quantity = $form->get("quantity")->getData();
+
+ $productSaleElementsId = $form->get("product_sale_elements_id")->getData();
+ $productId = $form->get("product")->getData();
+
+ $cartItem = $this->findItem($cart->getId(), $productId, $productSaleElementsId);
+
+ if($cartItem === null || $newness)
+ {
+ $productPrice = ProductPriceQuery::create()
+ ->filterByProductSaleElementsId($productSaleElementsId)
+ ->findOne()
+ ;
+
+ $this->addItem($cart, $productId, $productSaleElementsId, $quantity, $productPrice);
+ }
+
+ if($append && $cartItem !== null) {
+ $this->updateQuantity($cartItem, $quantity);
+ }
+
+
+ $this->redirect($cartAdd->getSuccessUrl($request->getUriAddingParameters(array("addCart" => 1))));
+ } catch (PropelException $e) {
+ \Thelia\Log\Tlog::getInstance()->error(sptinf("error on adding item to cart with message : %s", $e->getMessage()));
+ $message = "Impossible to add this article to your cart, please try again";
+ }
+
+ } else {
+
+ $message = "Missing or invalid data";
+ }
+
+ $cartAdd->setError(true);
+ $cartAdd->setErrorMessage($message);
+
+ $event->setErrorForm($cartAdd);
+ }
+
+ protected function updateQuantity(CartItem $cartItem, $quantity)
+ {
+ $cartItem->setDisptacher($this->dispatcher);
+ $cartItem->addQuantity($quantity)
+ ->save();
+ }
+
+ protected function addItem(\Thelia\Model\Cart $cart, $productId, $productSaleElementsId, $quantity, ProductPrice $productPrice)
+ {
+ $cartItem = new CartItem();
+ $cartItem->setDisptacher($this->dispatcher);
+ $cartItem
+ ->setCart($cart)
+ ->setProductId($productId)
+ ->setProductSaleElementsId($productSaleElementsId)
+ ->setQuantity($quantity)
+ ->setPrice($productPrice->getPrice())
+ ->setPromoPrice($productPrice->getPromoPrice())
+ ->setPriceEndOfLife(time() + ConfigQuery::read("cart.priceEOF", 60*60*24*30))
+ ->save();
+ }
+
+ protected function findItem($cartId, $productId, $productSaleElementsId)
+ {
+ return CartItemQuery::create()
+ ->filterByCartId($cartId)
+ ->filterByProductId($productId)
+ ->filterByProductSaleElementsId($productSaleElementsId)
+ ->findOne();
+ }
+
+ private function getAddCartForm(Request $request)
+ {
if ($request->isMethod("post")) {
$cartAdd = new CartAdd($request);
} else {
@@ -59,15 +169,7 @@ class Cart implements EventSubscriberInterface
);
}
- $form = $cartAdd->getForm();
-
- $form->bind($request);
-
- if($form->isValid()) {
-
- } else {
- var_dump($form->createView());
- }
+ return $cartAdd;
}
@@ -79,18 +181,38 @@ class Cart implements EventSubscriberInterface
*/
public function deleteArticle(ActionEvent $event)
{
+ $request = $event->getRequest();
+ if (null !== $cartItem = $request->get('cartItem')) {
+
+ }
}
/**
*
* Modify article's quantity
*
+ * don't use Form here just test the Request.
+ *
* @param \Thelia\Core\Event\ActionEvent $event
*/
public function modifyArticle(ActionEvent $event)
{
+ $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);
+ }
+ }
}
/**
@@ -122,6 +244,13 @@ class Cart implements EventSubscriberInterface
);
}
+ /**
+ *
+ * search if cart already exists in session. If not try to create a new one or duplicate an old one.
+ *
+ * @param \Symfony\Component\HttpFoundation\Request $request
+ * @return \Thelia\Model\Cart
+ */
public function getCart(Request $request)
{
@@ -163,8 +292,8 @@ class Cart implements EventSubscriberInterface
}
/**
- * @param Session $session
- * @return CartModel
+ * @param \Thelia\Core\HttpFoundation\Session\Session $session
+ * @return \Thelia\Model\Cart
*/
protected function createCart(Session $session)
{
@@ -184,24 +313,34 @@ class Cart implements EventSubscriberInterface
/**
- * @param CartModel $cart
- * @param Session $session
- * @param Customer $customer
- * @return CartModel
+ * try to duplicate existing Cart. Customer is here to determine if this cart belong to him.
+ *
+ * @param \Thelia\Model\Cart $cart
+ * @param \Thelia\Core\HttpFoundation\Session\Session $session
+ * @param \Thelia\Model\Customer $customer
+ * @return \Thelia\Model\Cart
*/
protected function duplicateCart(CartModel $cart, Session $session, Customer $customer = null)
{
$newCart = $cart->duplicate($this->generateCookie(), $customer);
$session->setCart($newCart->getId());
- return $newCart;
+ $cartEvent = new CartEvent($newCart);
+ $this->dispatcher->dispatch(TheliaEvents::CART_DUPLICATE, $cartEvent);
+
+ return $cartEvent->cart;
}
protected function generateCookie()
{
- $id = uniqid('', true);
- setcookie("thelia_cart", $id, time()+(60*60*24*365));
+ $id = null;
+ if (ConfigQuery::read("cart.session_only", 0) == 0) {
+ $id = uniqid('', true);
+ setcookie("thelia_cart", $id, time()+ConfigQuery::read("cart.cookie_lifetime", 60*60*24*365));
+
+ }
return $id;
+
}
}
diff --git a/core/lib/Thelia/Action/Customer.php b/core/lib/Thelia/Action/Customer.php
index 6ed4b480d..21f599c37 100755
--- a/core/lib/Thelia/Action/Customer.php
+++ b/core/lib/Thelia/Action/Customer.php
@@ -37,14 +37,13 @@ use Thelia\Form\CustomerLogin;
use Thelia\Core\Security\Authentication\CustomerUsernamePasswordFormAuthenticator;
use Thelia\Core\Security\SecurityContext;
use Thelia\Model\ConfigQuery;
-use Thelia\Tools\Redirect;
use Symfony\Component\Validator\Exception\ValidatorException;
use Thelia\Core\Security\Exception\AuthenticationException;
use Thelia\Core\Security\Exception\UsernameNotFoundException;
use Propel\Runtime\Exception\PropelException;
-class Customer implements EventSubscriberInterface
+class Customer extends BaseAction implements EventSubscriberInterface
{
/**
* @var Thelia\Core\Security\SecurityContext
@@ -291,7 +290,7 @@ class Customer implements EventSubscriberInterface
if ($sendLoginEvent) $event->getDispatcher()->dispatch(TheliaEvents::CUSTOMER_LOGIN, $event);
// Redirect to the success URL
- Redirect::exec($form->getSuccessUrl());
+ $this->redirect($form->getSuccessUrl());
}
/**
diff --git a/core/lib/Thelia/Config/Resources/action.xml b/core/lib/Thelia/Config/Resources/action.xml
index 975baab47..76cc78d32 100755
--- a/core/lib/Thelia/Config/Resources/action.xml
+++ b/core/lib/Thelia/Config/Resources/action.xml
@@ -14,6 +14,8 @@
+
+
diff --git a/core/lib/Thelia/Config/Resources/config.xml b/core/lib/Thelia/Config/Resources/config.xml
index 19c263cda..549195207 100755
--- a/core/lib/Thelia/Config/Resources/config.xml
+++ b/core/lib/Thelia/Config/Resources/config.xml
@@ -33,10 +33,14 @@
+<<<<<<< HEAD
+=======
+
+>>>>>>> cart
diff --git a/core/lib/Thelia/Core/Event/CartEvent.php b/core/lib/Thelia/Core/Event/CartEvent.php
index 92092f154..f4d79c78c 100644
--- a/core/lib/Thelia/Core/Event/CartEvent.php
+++ b/core/lib/Thelia/Core/Event/CartEvent.php
@@ -29,30 +29,13 @@ use Thelia\Model\Cart;
class CartEvent extends InternalEvent {
- protected $cart;
- protected $modified;
+ public $cart;
public function __construct(Cart $cart)
{
$this->cart = $cart;
- $this->modified = false;
}
- public function setCart(Cart $cart)
- {
- $this->cart = $cart;
- $this->modified = true;
- }
-
- public function getCart()
- {
- return $this->cart;
- }
-
- public function isModified()
- {
- return $this->modified;
- }
}
\ No newline at end of file
diff --git a/core/lib/Thelia/Core/Event/CartItemEvent.php b/core/lib/Thelia/Core/Event/CartItemEvent.php
new file mode 100644
index 000000000..710e44473
--- /dev/null
+++ b/core/lib/Thelia/Core/Event/CartItemEvent.php
@@ -0,0 +1,42 @@
+. */
+/* */
+/*************************************************************************************/
+
+namespace Thelia\Core\Event;
+
+
+use Thelia\Model\CartItem;
+
+class CartItemEvent extends InternalEvent {
+
+ protected $cartItem;
+
+ public function __construct(CartItem $cartItem)
+ {
+ $this->cartItem = $cartItem;
+ }
+
+ public function getCartItem()
+ {
+ return $this->cartItem;
+ }
+}
\ No newline at end of file
diff --git a/core/lib/Thelia/Core/Event/TheliaEvents.php b/core/lib/Thelia/Core/Event/TheliaEvents.php
index 138f7cb97..92bd0dbce 100755
--- a/core/lib/Thelia/Core/Event/TheliaEvents.php
+++ b/core/lib/Thelia/Core/Event/TheliaEvents.php
@@ -109,4 +109,19 @@ final class TheliaEvents
*/
const AFTER_DELETECATEGORY = "action.after_deletecategory";
+ /**
+ * sent when a new existing cat id duplicated. This append when current customer is different from current cart
+ */
+ const CART_DUPLICATE = "cart.duplicate";
+
+ /**
+ * sent when a new item is added to current cart
+ */
+ const CART_ADDITEM = "cart.addItem";
+
+ /**
+ * sent when a cart item is modify
+ */
+ const CART_MODIFYITEM = "cart.modifyItem";
+
}
\ No newline at end of file
diff --git a/core/lib/Thelia/Core/HttpFoundation/Request.php b/core/lib/Thelia/Core/HttpFoundation/Request.php
index e2ed963d0..573cfe228 100755
--- a/core/lib/Thelia/Core/HttpFoundation/Request.php
+++ b/core/lib/Thelia/Core/HttpFoundation/Request.php
@@ -1,12 +1,25 @@
. */
+/* */
+/*************************************************************************************/
namespace Thelia\Core\HttpFoundation;
use Symfony\Component\HttpFoundation\Request as BaseRequest;
@@ -19,4 +32,20 @@ class Request extends BaseRequest{
return $this->get("product_id");
}
+ public function getUriAddingParameters(array $parameters = null)
+ {
+ $uri = $this->getUri();
+
+ $additionalQs = '';
+
+ foreach ($parameters as $key => $value) {
+ $additionalQs .= sprintf("&%s=%s", $key, $value);
+ }
+
+ if ('' == $this->getQueryString()) {
+ $additionalQs = '?'. ltrim($additionalQs, '&');
+ }
+ return $uri . $additionalQs;
+ }
+
}
\ No newline at end of file
diff --git a/core/lib/Thelia/Core/Template/Loop/Category.php b/core/lib/Thelia/Core/Template/Loop/Category.php
index ac74b2824..a3769150d 100755
--- a/core/lib/Thelia/Core/Template/Loop/Category.php
+++ b/core/lib/Thelia/Core/Template/Loop/Category.php
@@ -169,7 +169,8 @@ class Category extends BaseLoop
foreach ($categories as $category) {
- if ($notEmpty && $category->countAllProducts() == 0) continue;
+ if ($this->getNotEmpty() && $category->countAllProducts() == 0) continue;
+
$loopResultRow = new LoopResultRow();
diff --git a/core/lib/Thelia/Form/CartAdd.php b/core/lib/Thelia/Form/CartAdd.php
index 36f10f2ec..46db7868d 100644
--- a/core/lib/Thelia/Form/CartAdd.php
+++ b/core/lib/Thelia/Form/CartAdd.php
@@ -57,28 +57,28 @@ class CartAdd extends BaseForm
protected function buildForm()
{
$this->formBuilder
- ->add("product", "hidden", array(
+ ->add("product", "text", array(
"constraints" => array(
new Constraints\NotBlank(),
- new Constraints\Callback(array(
- "methods" => array($this, "checkProduct")
- ))
+ new Constraints\Callback(array("methods" => array(
+ array($this, "checkProduct")
+ )))
)
))
- ->add("product_sale_elements_id", "hidden", array(
+ ->add("product_sale_elements_id", "text", array(
"constraints" => array(
- new Constraints\Callback(array(
- "methods" => array($this, "checkStockAvailability")
- ))
+ new Constraints\Callback(array("methods" => array(
+ array($this, "checkStockAvailability")
+ )))
)
))
->add("quantity", "text", array(
"constraints" => array(
new Constraints\NotBlank(),
- new Constraints\Callback(array(
- "methods" => array($this, "checkStock")
- )),
+ new Constraints\Callback(array("methods" => array(
+ array($this, "checkStock")
+ ))),
new Constraints\GreaterThanOrEqual(array(
"value" => 0
))
@@ -89,7 +89,7 @@ class CartAdd extends BaseForm
;
}
- protected function checkProduct($value, ExecutionContextInterface $context)
+ public function checkProduct($value, ExecutionContextInterface $context)
{
$product = ProductQuery::create()->findPk($value);
@@ -98,7 +98,7 @@ class CartAdd extends BaseForm
}
}
- protected function checkStockAvailability($value, ExecutionContextInterface $context)
+ public function checkStockAvailability($value, ExecutionContextInterface $context)
{
if ($value) {
$data = $context->getRoot()->getData();
@@ -114,7 +114,7 @@ class CartAdd extends BaseForm
}
}
- protected function checkStock($value, ExecutionContextInterface $context)
+ public function checkStock($value, ExecutionContextInterface $context)
{
$data = $context->getRoot()->getData();
diff --git a/core/lib/Thelia/Model/Base/CartItem.php b/core/lib/Thelia/Model/Base/CartItem.php
index fa187435a..3c5711022 100644
--- a/core/lib/Thelia/Model/Base/CartItem.php
+++ b/core/lib/Thelia/Model/Base/CartItem.php
@@ -91,6 +91,24 @@ abstract class CartItem implements ActiveRecordInterface
*/
protected $product_sale_elements_id;
+ /**
+ * The value for the price field.
+ * @var double
+ */
+ protected $price;
+
+ /**
+ * The value for the promo_price field.
+ * @var double
+ */
+ protected $promo_price;
+
+ /**
+ * The value for the price_end_of_life field.
+ * @var string
+ */
+ protected $price_end_of_life;
+
/**
* The value for the created_at field.
* @var string
@@ -448,6 +466,48 @@ abstract class CartItem implements ActiveRecordInterface
return $this->product_sale_elements_id;
}
+ /**
+ * Get the [price] column value.
+ *
+ * @return double
+ */
+ public function getPrice()
+ {
+
+ return $this->price;
+ }
+
+ /**
+ * Get the [promo_price] column value.
+ *
+ * @return double
+ */
+ public function getPromoPrice()
+ {
+
+ return $this->promo_price;
+ }
+
+ /**
+ * Get the [optionally formatted] temporal [price_end_of_life] column value.
+ *
+ *
+ * @param string $format The date/time format string (either date()-style or strftime()-style).
+ * If format is NULL, then the raw \DateTime object will be returned.
+ *
+ * @return mixed Formatted date/time value as string or \DateTime object (if format is NULL), NULL if column is NULL, and 0 if column value is 0000-00-00 00:00:00
+ *
+ * @throws PropelException - if unable to parse/validate the date/time value.
+ */
+ public function getPriceEndOfLife($format = NULL)
+ {
+ if ($format === null) {
+ return $this->price_end_of_life;
+ } else {
+ return $this->price_end_of_life !== null ? $this->price_end_of_life->format($format) : null;
+ }
+ }
+
/**
* Get the [optionally formatted] temporal [created_at] column value.
*
@@ -605,6 +665,69 @@ abstract class CartItem implements ActiveRecordInterface
return $this;
} // setProductSaleElementsId()
+ /**
+ * Set the value of [price] column.
+ *
+ * @param double $v new value
+ * @return \Thelia\Model\CartItem The current object (for fluent API support)
+ */
+ public function setPrice($v)
+ {
+ if ($v !== null) {
+ $v = (double) $v;
+ }
+
+ if ($this->price !== $v) {
+ $this->price = $v;
+ $this->modifiedColumns[] = CartItemTableMap::PRICE;
+ }
+
+
+ return $this;
+ } // setPrice()
+
+ /**
+ * Set the value of [promo_price] column.
+ *
+ * @param double $v new value
+ * @return \Thelia\Model\CartItem The current object (for fluent API support)
+ */
+ public function setPromoPrice($v)
+ {
+ if ($v !== null) {
+ $v = (double) $v;
+ }
+
+ if ($this->promo_price !== $v) {
+ $this->promo_price = $v;
+ $this->modifiedColumns[] = CartItemTableMap::PROMO_PRICE;
+ }
+
+
+ return $this;
+ } // setPromoPrice()
+
+ /**
+ * Sets the value of [price_end_of_life] column to a normalized version of the date/time value specified.
+ *
+ * @param mixed $v string, integer (timestamp), or \DateTime value.
+ * Empty strings are treated as NULL.
+ * @return \Thelia\Model\CartItem The current object (for fluent API support)
+ */
+ public function setPriceEndOfLife($v)
+ {
+ $dt = PropelDateTime::newInstance($v, null, '\DateTime');
+ if ($this->price_end_of_life !== null || $dt !== null) {
+ if ($dt !== $this->price_end_of_life) {
+ $this->price_end_of_life = $dt;
+ $this->modifiedColumns[] = CartItemTableMap::PRICE_END_OF_LIFE;
+ }
+ } // if either are not null
+
+
+ return $this;
+ } // setPriceEndOfLife()
+
/**
* Sets the value of [created_at] column to a normalized version of the date/time value specified.
*
@@ -703,13 +826,25 @@ abstract class CartItem implements ActiveRecordInterface
$col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : CartItemTableMap::translateFieldName('ProductSaleElementsId', TableMap::TYPE_PHPNAME, $indexType)];
$this->product_sale_elements_id = (null !== $col) ? (int) $col : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : CartItemTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : CartItemTableMap::translateFieldName('Price', TableMap::TYPE_PHPNAME, $indexType)];
+ $this->price = (null !== $col) ? (double) $col : null;
+
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : CartItemTableMap::translateFieldName('PromoPrice', TableMap::TYPE_PHPNAME, $indexType)];
+ $this->promo_price = (null !== $col) ? (double) $col : null;
+
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : CartItemTableMap::translateFieldName('PriceEndOfLife', TableMap::TYPE_PHPNAME, $indexType)];
+ if ($col === '0000-00-00 00:00:00') {
+ $col = null;
+ }
+ $this->price_end_of_life = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null;
+
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : CartItemTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
if ($col === '0000-00-00 00:00:00') {
$col = null;
}
$this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : CartItemTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : CartItemTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)];
if ($col === '0000-00-00 00:00:00') {
$col = null;
}
@@ -722,7 +857,7 @@ abstract class CartItem implements ActiveRecordInterface
$this->ensureConsistency();
}
- return $startcol + 7; // 7 = CartItemTableMap::NUM_HYDRATE_COLUMNS.
+ return $startcol + 10; // 10 = CartItemTableMap::NUM_HYDRATE_COLUMNS.
} catch (Exception $e) {
throw new PropelException("Error populating \Thelia\Model\CartItem object", 0, $e);
@@ -995,6 +1130,15 @@ abstract class CartItem implements ActiveRecordInterface
if ($this->isColumnModified(CartItemTableMap::PRODUCT_SALE_ELEMENTS_ID)) {
$modifiedColumns[':p' . $index++] = 'PRODUCT_SALE_ELEMENTS_ID';
}
+ if ($this->isColumnModified(CartItemTableMap::PRICE)) {
+ $modifiedColumns[':p' . $index++] = 'PRICE';
+ }
+ if ($this->isColumnModified(CartItemTableMap::PROMO_PRICE)) {
+ $modifiedColumns[':p' . $index++] = 'PROMO_PRICE';
+ }
+ if ($this->isColumnModified(CartItemTableMap::PRICE_END_OF_LIFE)) {
+ $modifiedColumns[':p' . $index++] = 'PRICE_END_OF_LIFE';
+ }
if ($this->isColumnModified(CartItemTableMap::CREATED_AT)) {
$modifiedColumns[':p' . $index++] = 'CREATED_AT';
}
@@ -1027,6 +1171,15 @@ abstract class CartItem implements ActiveRecordInterface
case 'PRODUCT_SALE_ELEMENTS_ID':
$stmt->bindValue($identifier, $this->product_sale_elements_id, PDO::PARAM_INT);
break;
+ case 'PRICE':
+ $stmt->bindValue($identifier, $this->price, PDO::PARAM_STR);
+ break;
+ case 'PROMO_PRICE':
+ $stmt->bindValue($identifier, $this->promo_price, PDO::PARAM_STR);
+ break;
+ case 'PRICE_END_OF_LIFE':
+ $stmt->bindValue($identifier, $this->price_end_of_life ? $this->price_end_of_life->format("Y-m-d H:i:s") : null, PDO::PARAM_STR);
+ break;
case 'CREATED_AT':
$stmt->bindValue($identifier, $this->created_at ? $this->created_at->format("Y-m-d H:i:s") : null, PDO::PARAM_STR);
break;
@@ -1111,9 +1264,18 @@ abstract class CartItem implements ActiveRecordInterface
return $this->getProductSaleElementsId();
break;
case 5:
- return $this->getCreatedAt();
+ return $this->getPrice();
break;
case 6:
+ return $this->getPromoPrice();
+ break;
+ case 7:
+ return $this->getPriceEndOfLife();
+ break;
+ case 8:
+ return $this->getCreatedAt();
+ break;
+ case 9:
return $this->getUpdatedAt();
break;
default:
@@ -1150,8 +1312,11 @@ abstract class CartItem implements ActiveRecordInterface
$keys[2] => $this->getProductId(),
$keys[3] => $this->getQuantity(),
$keys[4] => $this->getProductSaleElementsId(),
- $keys[5] => $this->getCreatedAt(),
- $keys[6] => $this->getUpdatedAt(),
+ $keys[5] => $this->getPrice(),
+ $keys[6] => $this->getPromoPrice(),
+ $keys[7] => $this->getPriceEndOfLife(),
+ $keys[8] => $this->getCreatedAt(),
+ $keys[9] => $this->getUpdatedAt(),
);
$virtualColumns = $this->virtualColumns;
foreach($virtualColumns as $key => $virtualColumn)
@@ -1219,9 +1384,18 @@ abstract class CartItem implements ActiveRecordInterface
$this->setProductSaleElementsId($value);
break;
case 5:
- $this->setCreatedAt($value);
+ $this->setPrice($value);
break;
case 6:
+ $this->setPromoPrice($value);
+ break;
+ case 7:
+ $this->setPriceEndOfLife($value);
+ break;
+ case 8:
+ $this->setCreatedAt($value);
+ break;
+ case 9:
$this->setUpdatedAt($value);
break;
} // switch()
@@ -1253,8 +1427,11 @@ abstract class CartItem implements ActiveRecordInterface
if (array_key_exists($keys[2], $arr)) $this->setProductId($arr[$keys[2]]);
if (array_key_exists($keys[3], $arr)) $this->setQuantity($arr[$keys[3]]);
if (array_key_exists($keys[4], $arr)) $this->setProductSaleElementsId($arr[$keys[4]]);
- if (array_key_exists($keys[5], $arr)) $this->setCreatedAt($arr[$keys[5]]);
- if (array_key_exists($keys[6], $arr)) $this->setUpdatedAt($arr[$keys[6]]);
+ if (array_key_exists($keys[5], $arr)) $this->setPrice($arr[$keys[5]]);
+ if (array_key_exists($keys[6], $arr)) $this->setPromoPrice($arr[$keys[6]]);
+ if (array_key_exists($keys[7], $arr)) $this->setPriceEndOfLife($arr[$keys[7]]);
+ if (array_key_exists($keys[8], $arr)) $this->setCreatedAt($arr[$keys[8]]);
+ if (array_key_exists($keys[9], $arr)) $this->setUpdatedAt($arr[$keys[9]]);
}
/**
@@ -1271,6 +1448,9 @@ abstract class CartItem implements ActiveRecordInterface
if ($this->isColumnModified(CartItemTableMap::PRODUCT_ID)) $criteria->add(CartItemTableMap::PRODUCT_ID, $this->product_id);
if ($this->isColumnModified(CartItemTableMap::QUANTITY)) $criteria->add(CartItemTableMap::QUANTITY, $this->quantity);
if ($this->isColumnModified(CartItemTableMap::PRODUCT_SALE_ELEMENTS_ID)) $criteria->add(CartItemTableMap::PRODUCT_SALE_ELEMENTS_ID, $this->product_sale_elements_id);
+ if ($this->isColumnModified(CartItemTableMap::PRICE)) $criteria->add(CartItemTableMap::PRICE, $this->price);
+ if ($this->isColumnModified(CartItemTableMap::PROMO_PRICE)) $criteria->add(CartItemTableMap::PROMO_PRICE, $this->promo_price);
+ if ($this->isColumnModified(CartItemTableMap::PRICE_END_OF_LIFE)) $criteria->add(CartItemTableMap::PRICE_END_OF_LIFE, $this->price_end_of_life);
if ($this->isColumnModified(CartItemTableMap::CREATED_AT)) $criteria->add(CartItemTableMap::CREATED_AT, $this->created_at);
if ($this->isColumnModified(CartItemTableMap::UPDATED_AT)) $criteria->add(CartItemTableMap::UPDATED_AT, $this->updated_at);
@@ -1340,6 +1520,9 @@ abstract class CartItem implements ActiveRecordInterface
$copyObj->setProductId($this->getProductId());
$copyObj->setQuantity($this->getQuantity());
$copyObj->setProductSaleElementsId($this->getProductSaleElementsId());
+ $copyObj->setPrice($this->getPrice());
+ $copyObj->setPromoPrice($this->getPromoPrice());
+ $copyObj->setPriceEndOfLife($this->getPriceEndOfLife());
$copyObj->setCreatedAt($this->getCreatedAt());
$copyObj->setUpdatedAt($this->getUpdatedAt());
if ($makeNew) {
@@ -1533,6 +1716,9 @@ abstract class CartItem implements ActiveRecordInterface
$this->product_id = null;
$this->quantity = null;
$this->product_sale_elements_id = null;
+ $this->price = null;
+ $this->promo_price = null;
+ $this->price_end_of_life = null;
$this->created_at = null;
$this->updated_at = null;
$this->alreadyInSave = false;
diff --git a/core/lib/Thelia/Model/Base/CartItemQuery.php b/core/lib/Thelia/Model/Base/CartItemQuery.php
index a7258d60d..d26ceb965 100644
--- a/core/lib/Thelia/Model/Base/CartItemQuery.php
+++ b/core/lib/Thelia/Model/Base/CartItemQuery.php
@@ -26,6 +26,9 @@ use Thelia\Model\Map\CartItemTableMap;
* @method ChildCartItemQuery orderByProductId($order = Criteria::ASC) Order by the product_id column
* @method ChildCartItemQuery orderByQuantity($order = Criteria::ASC) Order by the quantity column
* @method ChildCartItemQuery orderByProductSaleElementsId($order = Criteria::ASC) Order by the product_sale_elements_id column
+ * @method ChildCartItemQuery orderByPrice($order = Criteria::ASC) Order by the price column
+ * @method ChildCartItemQuery orderByPromoPrice($order = Criteria::ASC) Order by the promo_price column
+ * @method ChildCartItemQuery orderByPriceEndOfLife($order = Criteria::ASC) Order by the price_end_of_life column
* @method ChildCartItemQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column
* @method ChildCartItemQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column
*
@@ -34,6 +37,9 @@ use Thelia\Model\Map\CartItemTableMap;
* @method ChildCartItemQuery groupByProductId() Group by the product_id column
* @method ChildCartItemQuery groupByQuantity() Group by the quantity column
* @method ChildCartItemQuery groupByProductSaleElementsId() Group by the product_sale_elements_id column
+ * @method ChildCartItemQuery groupByPrice() Group by the price column
+ * @method ChildCartItemQuery groupByPromoPrice() Group by the promo_price column
+ * @method ChildCartItemQuery groupByPriceEndOfLife() Group by the price_end_of_life column
* @method ChildCartItemQuery groupByCreatedAt() Group by the created_at column
* @method ChildCartItemQuery groupByUpdatedAt() Group by the updated_at column
*
@@ -61,6 +67,9 @@ use Thelia\Model\Map\CartItemTableMap;
* @method ChildCartItem findOneByProductId(int $product_id) Return the first ChildCartItem filtered by the product_id column
* @method ChildCartItem findOneByQuantity(double $quantity) Return the first ChildCartItem filtered by the quantity column
* @method ChildCartItem findOneByProductSaleElementsId(int $product_sale_elements_id) Return the first ChildCartItem filtered by the product_sale_elements_id column
+ * @method ChildCartItem findOneByPrice(double $price) Return the first ChildCartItem filtered by the price column
+ * @method ChildCartItem findOneByPromoPrice(double $promo_price) Return the first ChildCartItem filtered by the promo_price column
+ * @method ChildCartItem findOneByPriceEndOfLife(string $price_end_of_life) Return the first ChildCartItem filtered by the price_end_of_life column
* @method ChildCartItem findOneByCreatedAt(string $created_at) Return the first ChildCartItem filtered by the created_at column
* @method ChildCartItem findOneByUpdatedAt(string $updated_at) Return the first ChildCartItem filtered by the updated_at column
*
@@ -69,6 +78,9 @@ use Thelia\Model\Map\CartItemTableMap;
* @method array findByProductId(int $product_id) Return ChildCartItem objects filtered by the product_id column
* @method array findByQuantity(double $quantity) Return ChildCartItem objects filtered by the quantity column
* @method array findByProductSaleElementsId(int $product_sale_elements_id) Return ChildCartItem objects filtered by the product_sale_elements_id column
+ * @method array findByPrice(double $price) Return ChildCartItem objects filtered by the price column
+ * @method array findByPromoPrice(double $promo_price) Return ChildCartItem objects filtered by the promo_price column
+ * @method array findByPriceEndOfLife(string $price_end_of_life) Return ChildCartItem objects filtered by the price_end_of_life column
* @method array findByCreatedAt(string $created_at) Return ChildCartItem objects filtered by the created_at column
* @method array findByUpdatedAt(string $updated_at) Return ChildCartItem objects filtered by the updated_at column
*
@@ -159,7 +171,7 @@ abstract class CartItemQuery extends ModelCriteria
*/
protected function findPkSimple($key, $con)
{
- $sql = 'SELECT ID, CART_ID, PRODUCT_ID, QUANTITY, PRODUCT_SALE_ELEMENTS_ID, CREATED_AT, UPDATED_AT FROM cart_item WHERE ID = :p0';
+ $sql = 'SELECT ID, CART_ID, PRODUCT_ID, QUANTITY, PRODUCT_SALE_ELEMENTS_ID, PRICE, PROMO_PRICE, PRICE_END_OF_LIFE, CREATED_AT, UPDATED_AT FROM cart_item WHERE ID = :p0';
try {
$stmt = $con->prepare($sql);
$stmt->bindValue(':p0', $key, PDO::PARAM_INT);
@@ -459,6 +471,131 @@ abstract class CartItemQuery extends ModelCriteria
return $this->addUsingAlias(CartItemTableMap::PRODUCT_SALE_ELEMENTS_ID, $productSaleElementsId, $comparison);
}
+ /**
+ * Filter the query on the price column
+ *
+ * Example usage:
+ *
+ * $query->filterByPrice(1234); // WHERE price = 1234
+ * $query->filterByPrice(array(12, 34)); // WHERE price IN (12, 34)
+ * $query->filterByPrice(array('min' => 12)); // WHERE price > 12
+ *
+ *
+ * @param mixed $price The value to use as filter.
+ * Use scalar values for equality.
+ * Use array values for in_array() equivalent.
+ * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals.
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return ChildCartItemQuery The current query, for fluid interface
+ */
+ public function filterByPrice($price = null, $comparison = null)
+ {
+ if (is_array($price)) {
+ $useMinMax = false;
+ if (isset($price['min'])) {
+ $this->addUsingAlias(CartItemTableMap::PRICE, $price['min'], Criteria::GREATER_EQUAL);
+ $useMinMax = true;
+ }
+ if (isset($price['max'])) {
+ $this->addUsingAlias(CartItemTableMap::PRICE, $price['max'], Criteria::LESS_EQUAL);
+ $useMinMax = true;
+ }
+ if ($useMinMax) {
+ return $this;
+ }
+ if (null === $comparison) {
+ $comparison = Criteria::IN;
+ }
+ }
+
+ return $this->addUsingAlias(CartItemTableMap::PRICE, $price, $comparison);
+ }
+
+ /**
+ * Filter the query on the promo_price column
+ *
+ * Example usage:
+ *
+ * $query->filterByPromoPrice(1234); // WHERE promo_price = 1234
+ * $query->filterByPromoPrice(array(12, 34)); // WHERE promo_price IN (12, 34)
+ * $query->filterByPromoPrice(array('min' => 12)); // WHERE promo_price > 12
+ *
+ *
+ * @param mixed $promoPrice The value to use as filter.
+ * Use scalar values for equality.
+ * Use array values for in_array() equivalent.
+ * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals.
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return ChildCartItemQuery The current query, for fluid interface
+ */
+ public function filterByPromoPrice($promoPrice = null, $comparison = null)
+ {
+ if (is_array($promoPrice)) {
+ $useMinMax = false;
+ if (isset($promoPrice['min'])) {
+ $this->addUsingAlias(CartItemTableMap::PROMO_PRICE, $promoPrice['min'], Criteria::GREATER_EQUAL);
+ $useMinMax = true;
+ }
+ if (isset($promoPrice['max'])) {
+ $this->addUsingAlias(CartItemTableMap::PROMO_PRICE, $promoPrice['max'], Criteria::LESS_EQUAL);
+ $useMinMax = true;
+ }
+ if ($useMinMax) {
+ return $this;
+ }
+ if (null === $comparison) {
+ $comparison = Criteria::IN;
+ }
+ }
+
+ return $this->addUsingAlias(CartItemTableMap::PROMO_PRICE, $promoPrice, $comparison);
+ }
+
+ /**
+ * Filter the query on the price_end_of_life column
+ *
+ * Example usage:
+ *
+ * $query->filterByPriceEndOfLife('2011-03-14'); // WHERE price_end_of_life = '2011-03-14'
+ * $query->filterByPriceEndOfLife('now'); // WHERE price_end_of_life = '2011-03-14'
+ * $query->filterByPriceEndOfLife(array('max' => 'yesterday')); // WHERE price_end_of_life > '2011-03-13'
+ *
+ *
+ * @param mixed $priceEndOfLife The value to use as filter.
+ * Values can be integers (unix timestamps), DateTime objects, or strings.
+ * Empty strings are treated as NULL.
+ * Use scalar values for equality.
+ * Use array values for in_array() equivalent.
+ * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals.
+ * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
+ *
+ * @return ChildCartItemQuery The current query, for fluid interface
+ */
+ public function filterByPriceEndOfLife($priceEndOfLife = null, $comparison = null)
+ {
+ if (is_array($priceEndOfLife)) {
+ $useMinMax = false;
+ if (isset($priceEndOfLife['min'])) {
+ $this->addUsingAlias(CartItemTableMap::PRICE_END_OF_LIFE, $priceEndOfLife['min'], Criteria::GREATER_EQUAL);
+ $useMinMax = true;
+ }
+ if (isset($priceEndOfLife['max'])) {
+ $this->addUsingAlias(CartItemTableMap::PRICE_END_OF_LIFE, $priceEndOfLife['max'], Criteria::LESS_EQUAL);
+ $useMinMax = true;
+ }
+ if ($useMinMax) {
+ return $this;
+ }
+ if (null === $comparison) {
+ $comparison = Criteria::IN;
+ }
+ }
+
+ return $this->addUsingAlias(CartItemTableMap::PRICE_END_OF_LIFE, $priceEndOfLife, $comparison);
+ }
+
/**
* Filter the query on the created_at column
*
diff --git a/core/lib/Thelia/Model/Base/Folder.php b/core/lib/Thelia/Model/Base/Folder.php
index 094ab27ba..b246b9e34 100644
--- a/core/lib/Thelia/Model/Base/Folder.php
+++ b/core/lib/Thelia/Model/Base/Folder.php
@@ -82,12 +82,6 @@ abstract class Folder implements ActiveRecordInterface
*/
protected $parent;
- /**
- * The value for the link field.
- * @var string
- */
- protected $link;
-
/**
* The value for the visible field.
* @var int
@@ -533,17 +527,6 @@ abstract class Folder implements ActiveRecordInterface
return $this->parent;
}
- /**
- * Get the [link] column value.
- *
- * @return string
- */
- public function getLink()
- {
-
- return $this->link;
- }
-
/**
* Get the [visible] column value.
*
@@ -690,27 +673,6 @@ abstract class Folder implements ActiveRecordInterface
return $this;
} // setParent()
- /**
- * Set the value of [link] column.
- *
- * @param string $v new value
- * @return \Thelia\Model\Folder The current object (for fluent API support)
- */
- public function setLink($v)
- {
- if ($v !== null) {
- $v = (string) $v;
- }
-
- if ($this->link !== $v) {
- $this->link = $v;
- $this->modifiedColumns[] = FolderTableMap::LINK;
- }
-
-
- return $this;
- } // setLink()
-
/**
* Set the value of [visible] column.
*
@@ -905,37 +867,34 @@ abstract class Folder implements ActiveRecordInterface
$col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : FolderTableMap::translateFieldName('Parent', TableMap::TYPE_PHPNAME, $indexType)];
$this->parent = (null !== $col) ? (int) $col : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : FolderTableMap::translateFieldName('Link', TableMap::TYPE_PHPNAME, $indexType)];
- $this->link = (null !== $col) ? (string) $col : null;
-
- $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : FolderTableMap::translateFieldName('Visible', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : FolderTableMap::translateFieldName('Visible', TableMap::TYPE_PHPNAME, $indexType)];
$this->visible = (null !== $col) ? (int) $col : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : FolderTableMap::translateFieldName('Position', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : FolderTableMap::translateFieldName('Position', TableMap::TYPE_PHPNAME, $indexType)];
$this->position = (null !== $col) ? (int) $col : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : FolderTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : FolderTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
if ($col === '0000-00-00 00:00:00') {
$col = null;
}
$this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : FolderTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : FolderTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)];
if ($col === '0000-00-00 00:00:00') {
$col = null;
}
$this->updated_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : FolderTableMap::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : FolderTableMap::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)];
$this->version = (null !== $col) ? (int) $col : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : FolderTableMap::translateFieldName('VersionCreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : FolderTableMap::translateFieldName('VersionCreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
if ($col === '0000-00-00 00:00:00') {
$col = null;
}
$this->version_created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : FolderTableMap::translateFieldName('VersionCreatedBy', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : FolderTableMap::translateFieldName('VersionCreatedBy', TableMap::TYPE_PHPNAME, $indexType)];
$this->version_created_by = (null !== $col) ? (string) $col : null;
$this->resetModified();
@@ -945,7 +904,7 @@ abstract class Folder implements ActiveRecordInterface
$this->ensureConsistency();
}
- return $startcol + 10; // 10 = FolderTableMap::NUM_HYDRATE_COLUMNS.
+ return $startcol + 9; // 9 = FolderTableMap::NUM_HYDRATE_COLUMNS.
} catch (Exception $e) {
throw new PropelException("Error populating \Thelia\Model\Folder object", 0, $e);
@@ -1325,9 +1284,6 @@ abstract class Folder implements ActiveRecordInterface
if ($this->isColumnModified(FolderTableMap::PARENT)) {
$modifiedColumns[':p' . $index++] = 'PARENT';
}
- if ($this->isColumnModified(FolderTableMap::LINK)) {
- $modifiedColumns[':p' . $index++] = 'LINK';
- }
if ($this->isColumnModified(FolderTableMap::VISIBLE)) {
$modifiedColumns[':p' . $index++] = 'VISIBLE';
}
@@ -1366,9 +1322,6 @@ abstract class Folder implements ActiveRecordInterface
case 'PARENT':
$stmt->bindValue($identifier, $this->parent, PDO::PARAM_INT);
break;
- case 'LINK':
- $stmt->bindValue($identifier, $this->link, PDO::PARAM_STR);
- break;
case 'VISIBLE':
$stmt->bindValue($identifier, $this->visible, PDO::PARAM_INT);
break;
@@ -1459,27 +1412,24 @@ abstract class Folder implements ActiveRecordInterface
return $this->getParent();
break;
case 2:
- return $this->getLink();
- break;
- case 3:
return $this->getVisible();
break;
- case 4:
+ case 3:
return $this->getPosition();
break;
- case 5:
+ case 4:
return $this->getCreatedAt();
break;
- case 6:
+ case 5:
return $this->getUpdatedAt();
break;
- case 7:
+ case 6:
return $this->getVersion();
break;
- case 8:
+ case 7:
return $this->getVersionCreatedAt();
break;
- case 9:
+ case 8:
return $this->getVersionCreatedBy();
break;
default:
@@ -1513,14 +1463,13 @@ abstract class Folder implements ActiveRecordInterface
$result = array(
$keys[0] => $this->getId(),
$keys[1] => $this->getParent(),
- $keys[2] => $this->getLink(),
- $keys[3] => $this->getVisible(),
- $keys[4] => $this->getPosition(),
- $keys[5] => $this->getCreatedAt(),
- $keys[6] => $this->getUpdatedAt(),
- $keys[7] => $this->getVersion(),
- $keys[8] => $this->getVersionCreatedAt(),
- $keys[9] => $this->getVersionCreatedBy(),
+ $keys[2] => $this->getVisible(),
+ $keys[3] => $this->getPosition(),
+ $keys[4] => $this->getCreatedAt(),
+ $keys[5] => $this->getUpdatedAt(),
+ $keys[6] => $this->getVersion(),
+ $keys[7] => $this->getVersionCreatedAt(),
+ $keys[8] => $this->getVersionCreatedBy(),
);
$virtualColumns = $this->virtualColumns;
foreach($virtualColumns as $key => $virtualColumn)
@@ -1588,27 +1537,24 @@ abstract class Folder implements ActiveRecordInterface
$this->setParent($value);
break;
case 2:
- $this->setLink($value);
- break;
- case 3:
$this->setVisible($value);
break;
- case 4:
+ case 3:
$this->setPosition($value);
break;
- case 5:
+ case 4:
$this->setCreatedAt($value);
break;
- case 6:
+ case 5:
$this->setUpdatedAt($value);
break;
- case 7:
+ case 6:
$this->setVersion($value);
break;
- case 8:
+ case 7:
$this->setVersionCreatedAt($value);
break;
- case 9:
+ case 8:
$this->setVersionCreatedBy($value);
break;
} // switch()
@@ -1637,14 +1583,13 @@ abstract class Folder implements ActiveRecordInterface
if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]);
if (array_key_exists($keys[1], $arr)) $this->setParent($arr[$keys[1]]);
- if (array_key_exists($keys[2], $arr)) $this->setLink($arr[$keys[2]]);
- if (array_key_exists($keys[3], $arr)) $this->setVisible($arr[$keys[3]]);
- if (array_key_exists($keys[4], $arr)) $this->setPosition($arr[$keys[4]]);
- if (array_key_exists($keys[5], $arr)) $this->setCreatedAt($arr[$keys[5]]);
- if (array_key_exists($keys[6], $arr)) $this->setUpdatedAt($arr[$keys[6]]);
- if (array_key_exists($keys[7], $arr)) $this->setVersion($arr[$keys[7]]);
- if (array_key_exists($keys[8], $arr)) $this->setVersionCreatedAt($arr[$keys[8]]);
- if (array_key_exists($keys[9], $arr)) $this->setVersionCreatedBy($arr[$keys[9]]);
+ if (array_key_exists($keys[2], $arr)) $this->setVisible($arr[$keys[2]]);
+ if (array_key_exists($keys[3], $arr)) $this->setPosition($arr[$keys[3]]);
+ if (array_key_exists($keys[4], $arr)) $this->setCreatedAt($arr[$keys[4]]);
+ if (array_key_exists($keys[5], $arr)) $this->setUpdatedAt($arr[$keys[5]]);
+ if (array_key_exists($keys[6], $arr)) $this->setVersion($arr[$keys[6]]);
+ if (array_key_exists($keys[7], $arr)) $this->setVersionCreatedAt($arr[$keys[7]]);
+ if (array_key_exists($keys[8], $arr)) $this->setVersionCreatedBy($arr[$keys[8]]);
}
/**
@@ -1658,7 +1603,6 @@ abstract class Folder implements ActiveRecordInterface
if ($this->isColumnModified(FolderTableMap::ID)) $criteria->add(FolderTableMap::ID, $this->id);
if ($this->isColumnModified(FolderTableMap::PARENT)) $criteria->add(FolderTableMap::PARENT, $this->parent);
- if ($this->isColumnModified(FolderTableMap::LINK)) $criteria->add(FolderTableMap::LINK, $this->link);
if ($this->isColumnModified(FolderTableMap::VISIBLE)) $criteria->add(FolderTableMap::VISIBLE, $this->visible);
if ($this->isColumnModified(FolderTableMap::POSITION)) $criteria->add(FolderTableMap::POSITION, $this->position);
if ($this->isColumnModified(FolderTableMap::CREATED_AT)) $criteria->add(FolderTableMap::CREATED_AT, $this->created_at);
@@ -1730,7 +1674,6 @@ abstract class Folder implements ActiveRecordInterface
public function copyInto($copyObj, $deepCopy = false, $makeNew = true)
{
$copyObj->setParent($this->getParent());
- $copyObj->setLink($this->getLink());
$copyObj->setVisible($this->getVisible());
$copyObj->setPosition($this->getPosition());
$copyObj->setCreatedAt($this->getCreatedAt());
@@ -3602,7 +3545,6 @@ abstract class Folder implements ActiveRecordInterface
{
$this->id = null;
$this->parent = null;
- $this->link = null;
$this->visible = null;
$this->position = null;
$this->created_at = null;
@@ -3970,7 +3912,6 @@ abstract class Folder implements ActiveRecordInterface
$version = new ChildFolderVersion();
$version->setId($this->getId());
$version->setParent($this->getParent());
- $version->setLink($this->getLink());
$version->setVisible($this->getVisible());
$version->setPosition($this->getPosition());
$version->setCreatedAt($this->getCreatedAt());
@@ -4017,7 +3958,6 @@ abstract class Folder implements ActiveRecordInterface
$loadedObjects['ChildFolder'][$version->getId()][$version->getVersion()] = $this;
$this->setId($version->getId());
$this->setParent($version->getParent());
- $this->setLink($version->getLink());
$this->setVisible($version->getVisible());
$this->setPosition($version->getPosition());
$this->setCreatedAt($version->getCreatedAt());
diff --git a/core/lib/Thelia/Model/Base/FolderQuery.php b/core/lib/Thelia/Model/Base/FolderQuery.php
index 101ab3974..6c7d91701 100644
--- a/core/lib/Thelia/Model/Base/FolderQuery.php
+++ b/core/lib/Thelia/Model/Base/FolderQuery.php
@@ -24,7 +24,6 @@ use Thelia\Model\Map\FolderTableMap;
*
* @method ChildFolderQuery orderById($order = Criteria::ASC) Order by the id column
* @method ChildFolderQuery orderByParent($order = Criteria::ASC) Order by the parent column
- * @method ChildFolderQuery orderByLink($order = Criteria::ASC) Order by the link column
* @method ChildFolderQuery orderByVisible($order = Criteria::ASC) Order by the visible column
* @method ChildFolderQuery orderByPosition($order = Criteria::ASC) Order by the position column
* @method ChildFolderQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column
@@ -35,7 +34,6 @@ use Thelia\Model\Map\FolderTableMap;
*
* @method ChildFolderQuery groupById() Group by the id column
* @method ChildFolderQuery groupByParent() Group by the parent column
- * @method ChildFolderQuery groupByLink() Group by the link column
* @method ChildFolderQuery groupByVisible() Group by the visible column
* @method ChildFolderQuery groupByPosition() Group by the position column
* @method ChildFolderQuery groupByCreatedAt() Group by the created_at column
@@ -77,7 +75,6 @@ use Thelia\Model\Map\FolderTableMap;
*
* @method ChildFolder findOneById(int $id) Return the first ChildFolder filtered by the id column
* @method ChildFolder findOneByParent(int $parent) Return the first ChildFolder filtered by the parent column
- * @method ChildFolder findOneByLink(string $link) Return the first ChildFolder filtered by the link column
* @method ChildFolder findOneByVisible(int $visible) Return the first ChildFolder filtered by the visible column
* @method ChildFolder findOneByPosition(int $position) Return the first ChildFolder filtered by the position column
* @method ChildFolder findOneByCreatedAt(string $created_at) Return the first ChildFolder filtered by the created_at column
@@ -88,7 +85,6 @@ use Thelia\Model\Map\FolderTableMap;
*
* @method array findById(int $id) Return ChildFolder objects filtered by the id column
* @method array findByParent(int $parent) Return ChildFolder objects filtered by the parent column
- * @method array findByLink(string $link) Return ChildFolder objects filtered by the link column
* @method array findByVisible(int $visible) Return ChildFolder objects filtered by the visible column
* @method array findByPosition(int $position) Return ChildFolder objects filtered by the position column
* @method array findByCreatedAt(string $created_at) Return ChildFolder objects filtered by the created_at column
@@ -191,7 +187,7 @@ abstract class FolderQuery extends ModelCriteria
*/
protected function findPkSimple($key, $con)
{
- $sql = 'SELECT ID, PARENT, LINK, VISIBLE, POSITION, CREATED_AT, UPDATED_AT, VERSION, VERSION_CREATED_AT, VERSION_CREATED_BY FROM folder WHERE ID = :p0';
+ $sql = 'SELECT ID, PARENT, VISIBLE, POSITION, CREATED_AT, UPDATED_AT, VERSION, VERSION_CREATED_AT, VERSION_CREATED_BY FROM folder WHERE ID = :p0';
try {
$stmt = $con->prepare($sql);
$stmt->bindValue(':p0', $key, PDO::PARAM_INT);
@@ -362,35 +358,6 @@ abstract class FolderQuery extends ModelCriteria
return $this->addUsingAlias(FolderTableMap::PARENT, $parent, $comparison);
}
- /**
- * Filter the query on the link column
- *
- * Example usage:
- *
- * $query->filterByLink('fooValue'); // WHERE link = 'fooValue'
- * $query->filterByLink('%fooValue%'); // WHERE link LIKE '%fooValue%'
- *
- *
- * @param string $link The value to use as filter.
- * Accepts wildcards (* and % trigger a LIKE)
- * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
- *
- * @return ChildFolderQuery The current query, for fluid interface
- */
- public function filterByLink($link = null, $comparison = null)
- {
- if (null === $comparison) {
- if (is_array($link)) {
- $comparison = Criteria::IN;
- } elseif (preg_match('/[\%\*]/', $link)) {
- $link = str_replace('*', '%', $link);
- $comparison = Criteria::LIKE;
- }
- }
-
- return $this->addUsingAlias(FolderTableMap::LINK, $link, $comparison);
- }
-
/**
* Filter the query on the visible column
*
diff --git a/core/lib/Thelia/Model/Base/FolderVersion.php b/core/lib/Thelia/Model/Base/FolderVersion.php
index 609d41d9d..4f6305b7e 100644
--- a/core/lib/Thelia/Model/Base/FolderVersion.php
+++ b/core/lib/Thelia/Model/Base/FolderVersion.php
@@ -67,12 +67,6 @@ abstract class FolderVersion implements ActiveRecordInterface
*/
protected $parent;
- /**
- * The value for the link field.
- * @var string
- */
- protected $link;
-
/**
* The value for the visible field.
* @var int
@@ -418,17 +412,6 @@ abstract class FolderVersion implements ActiveRecordInterface
return $this->parent;
}
- /**
- * Get the [link] column value.
- *
- * @return string
- */
- public function getLink()
- {
-
- return $this->link;
- }
-
/**
* Get the [visible] column value.
*
@@ -579,27 +562,6 @@ abstract class FolderVersion implements ActiveRecordInterface
return $this;
} // setParent()
- /**
- * Set the value of [link] column.
- *
- * @param string $v new value
- * @return \Thelia\Model\FolderVersion The current object (for fluent API support)
- */
- public function setLink($v)
- {
- if ($v !== null) {
- $v = (string) $v;
- }
-
- if ($this->link !== $v) {
- $this->link = $v;
- $this->modifiedColumns[] = FolderVersionTableMap::LINK;
- }
-
-
- return $this;
- } // setLink()
-
/**
* Set the value of [visible] column.
*
@@ -794,37 +756,34 @@ abstract class FolderVersion implements ActiveRecordInterface
$col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : FolderVersionTableMap::translateFieldName('Parent', TableMap::TYPE_PHPNAME, $indexType)];
$this->parent = (null !== $col) ? (int) $col : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : FolderVersionTableMap::translateFieldName('Link', TableMap::TYPE_PHPNAME, $indexType)];
- $this->link = (null !== $col) ? (string) $col : null;
-
- $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : FolderVersionTableMap::translateFieldName('Visible', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : FolderVersionTableMap::translateFieldName('Visible', TableMap::TYPE_PHPNAME, $indexType)];
$this->visible = (null !== $col) ? (int) $col : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : FolderVersionTableMap::translateFieldName('Position', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : FolderVersionTableMap::translateFieldName('Position', TableMap::TYPE_PHPNAME, $indexType)];
$this->position = (null !== $col) ? (int) $col : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : FolderVersionTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : FolderVersionTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
if ($col === '0000-00-00 00:00:00') {
$col = null;
}
$this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : FolderVersionTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : FolderVersionTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)];
if ($col === '0000-00-00 00:00:00') {
$col = null;
}
$this->updated_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : FolderVersionTableMap::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : FolderVersionTableMap::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)];
$this->version = (null !== $col) ? (int) $col : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : FolderVersionTableMap::translateFieldName('VersionCreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : FolderVersionTableMap::translateFieldName('VersionCreatedAt', TableMap::TYPE_PHPNAME, $indexType)];
if ($col === '0000-00-00 00:00:00') {
$col = null;
}
$this->version_created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null;
- $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : FolderVersionTableMap::translateFieldName('VersionCreatedBy', TableMap::TYPE_PHPNAME, $indexType)];
+ $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : FolderVersionTableMap::translateFieldName('VersionCreatedBy', TableMap::TYPE_PHPNAME, $indexType)];
$this->version_created_by = (null !== $col) ? (string) $col : null;
$this->resetModified();
@@ -834,7 +793,7 @@ abstract class FolderVersion implements ActiveRecordInterface
$this->ensureConsistency();
}
- return $startcol + 10; // 10 = FolderVersionTableMap::NUM_HYDRATE_COLUMNS.
+ return $startcol + 9; // 9 = FolderVersionTableMap::NUM_HYDRATE_COLUMNS.
} catch (Exception $e) {
throw new PropelException("Error populating \Thelia\Model\FolderVersion object", 0, $e);
@@ -1061,9 +1020,6 @@ abstract class FolderVersion implements ActiveRecordInterface
if ($this->isColumnModified(FolderVersionTableMap::PARENT)) {
$modifiedColumns[':p' . $index++] = 'PARENT';
}
- if ($this->isColumnModified(FolderVersionTableMap::LINK)) {
- $modifiedColumns[':p' . $index++] = 'LINK';
- }
if ($this->isColumnModified(FolderVersionTableMap::VISIBLE)) {
$modifiedColumns[':p' . $index++] = 'VISIBLE';
}
@@ -1102,9 +1058,6 @@ abstract class FolderVersion implements ActiveRecordInterface
case 'PARENT':
$stmt->bindValue($identifier, $this->parent, PDO::PARAM_INT);
break;
- case 'LINK':
- $stmt->bindValue($identifier, $this->link, PDO::PARAM_STR);
- break;
case 'VISIBLE':
$stmt->bindValue($identifier, $this->visible, PDO::PARAM_INT);
break;
@@ -1188,27 +1141,24 @@ abstract class FolderVersion implements ActiveRecordInterface
return $this->getParent();
break;
case 2:
- return $this->getLink();
- break;
- case 3:
return $this->getVisible();
break;
- case 4:
+ case 3:
return $this->getPosition();
break;
- case 5:
+ case 4:
return $this->getCreatedAt();
break;
- case 6:
+ case 5:
return $this->getUpdatedAt();
break;
- case 7:
+ case 6:
return $this->getVersion();
break;
- case 8:
+ case 7:
return $this->getVersionCreatedAt();
break;
- case 9:
+ case 8:
return $this->getVersionCreatedBy();
break;
default:
@@ -1242,14 +1192,13 @@ abstract class FolderVersion implements ActiveRecordInterface
$result = array(
$keys[0] => $this->getId(),
$keys[1] => $this->getParent(),
- $keys[2] => $this->getLink(),
- $keys[3] => $this->getVisible(),
- $keys[4] => $this->getPosition(),
- $keys[5] => $this->getCreatedAt(),
- $keys[6] => $this->getUpdatedAt(),
- $keys[7] => $this->getVersion(),
- $keys[8] => $this->getVersionCreatedAt(),
- $keys[9] => $this->getVersionCreatedBy(),
+ $keys[2] => $this->getVisible(),
+ $keys[3] => $this->getPosition(),
+ $keys[4] => $this->getCreatedAt(),
+ $keys[5] => $this->getUpdatedAt(),
+ $keys[6] => $this->getVersion(),
+ $keys[7] => $this->getVersionCreatedAt(),
+ $keys[8] => $this->getVersionCreatedBy(),
);
$virtualColumns = $this->virtualColumns;
foreach($virtualColumns as $key => $virtualColumn)
@@ -1302,27 +1251,24 @@ abstract class FolderVersion implements ActiveRecordInterface
$this->setParent($value);
break;
case 2:
- $this->setLink($value);
- break;
- case 3:
$this->setVisible($value);
break;
- case 4:
+ case 3:
$this->setPosition($value);
break;
- case 5:
+ case 4:
$this->setCreatedAt($value);
break;
- case 6:
+ case 5:
$this->setUpdatedAt($value);
break;
- case 7:
+ case 6:
$this->setVersion($value);
break;
- case 8:
+ case 7:
$this->setVersionCreatedAt($value);
break;
- case 9:
+ case 8:
$this->setVersionCreatedBy($value);
break;
} // switch()
@@ -1351,14 +1297,13 @@ abstract class FolderVersion implements ActiveRecordInterface
if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]);
if (array_key_exists($keys[1], $arr)) $this->setParent($arr[$keys[1]]);
- if (array_key_exists($keys[2], $arr)) $this->setLink($arr[$keys[2]]);
- if (array_key_exists($keys[3], $arr)) $this->setVisible($arr[$keys[3]]);
- if (array_key_exists($keys[4], $arr)) $this->setPosition($arr[$keys[4]]);
- if (array_key_exists($keys[5], $arr)) $this->setCreatedAt($arr[$keys[5]]);
- if (array_key_exists($keys[6], $arr)) $this->setUpdatedAt($arr[$keys[6]]);
- if (array_key_exists($keys[7], $arr)) $this->setVersion($arr[$keys[7]]);
- if (array_key_exists($keys[8], $arr)) $this->setVersionCreatedAt($arr[$keys[8]]);
- if (array_key_exists($keys[9], $arr)) $this->setVersionCreatedBy($arr[$keys[9]]);
+ if (array_key_exists($keys[2], $arr)) $this->setVisible($arr[$keys[2]]);
+ if (array_key_exists($keys[3], $arr)) $this->setPosition($arr[$keys[3]]);
+ if (array_key_exists($keys[4], $arr)) $this->setCreatedAt($arr[$keys[4]]);
+ if (array_key_exists($keys[5], $arr)) $this->setUpdatedAt($arr[$keys[5]]);
+ if (array_key_exists($keys[6], $arr)) $this->setVersion($arr[$keys[6]]);
+ if (array_key_exists($keys[7], $arr)) $this->setVersionCreatedAt($arr[$keys[7]]);
+ if (array_key_exists($keys[8], $arr)) $this->setVersionCreatedBy($arr[$keys[8]]);
}
/**
@@ -1372,7 +1317,6 @@ abstract class FolderVersion implements ActiveRecordInterface
if ($this->isColumnModified(FolderVersionTableMap::ID)) $criteria->add(FolderVersionTableMap::ID, $this->id);
if ($this->isColumnModified(FolderVersionTableMap::PARENT)) $criteria->add(FolderVersionTableMap::PARENT, $this->parent);
- if ($this->isColumnModified(FolderVersionTableMap::LINK)) $criteria->add(FolderVersionTableMap::LINK, $this->link);
if ($this->isColumnModified(FolderVersionTableMap::VISIBLE)) $criteria->add(FolderVersionTableMap::VISIBLE, $this->visible);
if ($this->isColumnModified(FolderVersionTableMap::POSITION)) $criteria->add(FolderVersionTableMap::POSITION, $this->position);
if ($this->isColumnModified(FolderVersionTableMap::CREATED_AT)) $criteria->add(FolderVersionTableMap::CREATED_AT, $this->created_at);
@@ -1452,7 +1396,6 @@ abstract class FolderVersion implements ActiveRecordInterface
{
$copyObj->setId($this->getId());
$copyObj->setParent($this->getParent());
- $copyObj->setLink($this->getLink());
$copyObj->setVisible($this->getVisible());
$copyObj->setPosition($this->getPosition());
$copyObj->setCreatedAt($this->getCreatedAt());
@@ -1545,7 +1488,6 @@ abstract class FolderVersion implements ActiveRecordInterface
{
$this->id = null;
$this->parent = null;
- $this->link = null;
$this->visible = null;
$this->position = null;
$this->created_at = null;
diff --git a/core/lib/Thelia/Model/Base/FolderVersionQuery.php b/core/lib/Thelia/Model/Base/FolderVersionQuery.php
index 8cf9ac440..22090d7be 100644
--- a/core/lib/Thelia/Model/Base/FolderVersionQuery.php
+++ b/core/lib/Thelia/Model/Base/FolderVersionQuery.php
@@ -23,7 +23,6 @@ use Thelia\Model\Map\FolderVersionTableMap;
*
* @method ChildFolderVersionQuery orderById($order = Criteria::ASC) Order by the id column
* @method ChildFolderVersionQuery orderByParent($order = Criteria::ASC) Order by the parent column
- * @method ChildFolderVersionQuery orderByLink($order = Criteria::ASC) Order by the link column
* @method ChildFolderVersionQuery orderByVisible($order = Criteria::ASC) Order by the visible column
* @method ChildFolderVersionQuery orderByPosition($order = Criteria::ASC) Order by the position column
* @method ChildFolderVersionQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column
@@ -34,7 +33,6 @@ use Thelia\Model\Map\FolderVersionTableMap;
*
* @method ChildFolderVersionQuery groupById() Group by the id column
* @method ChildFolderVersionQuery groupByParent() Group by the parent column
- * @method ChildFolderVersionQuery groupByLink() Group by the link column
* @method ChildFolderVersionQuery groupByVisible() Group by the visible column
* @method ChildFolderVersionQuery groupByPosition() Group by the position column
* @method ChildFolderVersionQuery groupByCreatedAt() Group by the created_at column
@@ -56,7 +54,6 @@ use Thelia\Model\Map\FolderVersionTableMap;
*
* @method ChildFolderVersion findOneById(int $id) Return the first ChildFolderVersion filtered by the id column
* @method ChildFolderVersion findOneByParent(int $parent) Return the first ChildFolderVersion filtered by the parent column
- * @method ChildFolderVersion findOneByLink(string $link) Return the first ChildFolderVersion filtered by the link column
* @method ChildFolderVersion findOneByVisible(int $visible) Return the first ChildFolderVersion filtered by the visible column
* @method ChildFolderVersion findOneByPosition(int $position) Return the first ChildFolderVersion filtered by the position column
* @method ChildFolderVersion findOneByCreatedAt(string $created_at) Return the first ChildFolderVersion filtered by the created_at column
@@ -67,7 +64,6 @@ use Thelia\Model\Map\FolderVersionTableMap;
*
* @method array findById(int $id) Return ChildFolderVersion objects filtered by the id column
* @method array findByParent(int $parent) Return ChildFolderVersion objects filtered by the parent column
- * @method array findByLink(string $link) Return ChildFolderVersion objects filtered by the link column
* @method array findByVisible(int $visible) Return ChildFolderVersion objects filtered by the visible column
* @method array findByPosition(int $position) Return ChildFolderVersion objects filtered by the position column
* @method array findByCreatedAt(string $created_at) Return ChildFolderVersion objects filtered by the created_at column
@@ -163,7 +159,7 @@ abstract class FolderVersionQuery extends ModelCriteria
*/
protected function findPkSimple($key, $con)
{
- $sql = 'SELECT ID, PARENT, LINK, VISIBLE, POSITION, CREATED_AT, UPDATED_AT, VERSION, VERSION_CREATED_AT, VERSION_CREATED_BY FROM folder_version WHERE ID = :p0 AND VERSION = :p1';
+ $sql = 'SELECT ID, PARENT, VISIBLE, POSITION, CREATED_AT, UPDATED_AT, VERSION, VERSION_CREATED_AT, VERSION_CREATED_BY FROM folder_version WHERE ID = :p0 AND VERSION = :p1';
try {
$stmt = $con->prepare($sql);
$stmt->bindValue(':p0', $key[0], PDO::PARAM_INT);
@@ -348,35 +344,6 @@ abstract class FolderVersionQuery extends ModelCriteria
return $this->addUsingAlias(FolderVersionTableMap::PARENT, $parent, $comparison);
}
- /**
- * Filter the query on the link column
- *
- * Example usage:
- *
- * $query->filterByLink('fooValue'); // WHERE link = 'fooValue'
- * $query->filterByLink('%fooValue%'); // WHERE link LIKE '%fooValue%'
- *
- *
- * @param string $link The value to use as filter.
- * Accepts wildcards (* and % trigger a LIKE)
- * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
- *
- * @return ChildFolderVersionQuery The current query, for fluid interface
- */
- public function filterByLink($link = null, $comparison = null)
- {
- if (null === $comparison) {
- if (is_array($link)) {
- $comparison = Criteria::IN;
- } elseif (preg_match('/[\%\*]/', $link)) {
- $link = str_replace('*', '%', $link);
- $comparison = Criteria::LIKE;
- }
- }
-
- return $this->addUsingAlias(FolderVersionTableMap::LINK, $link, $comparison);
- }
-
/**
* Filter the query on the visible column
*
diff --git a/core/lib/Thelia/Model/Cart.php b/core/lib/Thelia/Model/Cart.php
index 8d74c6f20..7493546ae 100644
--- a/core/lib/Thelia/Model/Cart.php
+++ b/core/lib/Thelia/Model/Cart.php
@@ -2,20 +2,15 @@
namespace Thelia\Model;
+use Propel\Runtime\ActiveQuery\Criteria;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Thelia\Model\Base\Cart as BaseCart;
-use Thelia\Model\Base\ProductSaleElementsQuery;
+use Thelia\Model\ProductSaleElementsQuery;
+use Thelia\Model\ProductPriceQuery;
+use Thelia\Model\CartItemQuery;
class Cart extends BaseCart
{
-
- protected $dispatcher;
-
- public function setDispatcher(EventDispatcherInterface $dispatcher)
- {
- $this->dispatcher = $dispatcher;
- }
-
public function duplicate($token, Customer $customer = null)
{
$cartItems = $this->getCartItems();
@@ -32,17 +27,34 @@ class Cart extends BaseCart
}
$cart->save();
-
+ $currentDateTime = new \DateTime();
foreach ($cartItems as $cartItem){
$product = $cartItem->getProduct();
$productSaleElements = $cartItem->getProductSaleElements();
- if ($product && $productSaleElements && $product->getVisible() == 1 && $productSaleElements->getQuantity() > $cartItem->getQuantity()) {
+ if ($product &&
+ $productSaleElements &&
+ $product->getVisible() == 1 &&
+ ($productSaleElements->getQuantity() > $cartItem->getQuantity() || ! ConfigQuery::read("verifyStock", 1)))
+ {
$item = new CartItem();
$item->setCart($cart);
$item->setProductId($cartItem->getProductId());
$item->setQuantity($cartItem->getQuantity());
+ $item->setProductSaleElements($productSaleElements);
+ if ($currentDateTime <= $cartItem->getPriceEndOfLife()) {
+ $item->setPrice($cartItem->getPrice());
+ $item->setPromoPrice($cartItem->getPromoPrice());
+ // TODO : new price EOF or duplicate current priceEOF from $cartItem ?
+ $item->setPriceEndOfLife($cartItem->getPriceEndOfLife());
+ } else {
+ $productPrices = ProductPriceQuery::create()->filterByProductSaleElements($productSaleElements)->findOne();
+
+ $item->setPrice($productPrices->getPrice());
+ $item->setPromoPrice($productPrices->getPromoPrice());
+ $item->setPriceEndOfLife(time() + ConfigQuery::read("cart.priceEOF", 60*60*24*30));
+ }
$item->save();
}
@@ -51,8 +63,12 @@ class Cart extends BaseCart
return $cart;
}
- protected function dispatchEvent($name)
+ public function getLastCartItemAdded()
{
-
+ $items = CartItemQuery::create()
+ ->filterByCartId($this->getId())
+ ->orderByCreatedAt(Criteria::DESC)
+ ->findOne()
+ ;
}
}
diff --git a/core/lib/Thelia/Model/CartItem.php b/core/lib/Thelia/Model/CartItem.php
index 4b7e2971c..01381f267 100644
--- a/core/lib/Thelia/Model/CartItem.php
+++ b/core/lib/Thelia/Model/CartItem.php
@@ -2,9 +2,68 @@
namespace Thelia\Model;
+use Propel\Runtime\Connection\ConnectionInterface;
+use Symfony\Component\EventDispatcher\EventDispatcherInterface;
+use Thelia\Core\Event\CartEvent;
+use Thelia\Core\Event\TheliaEvents;
use Thelia\Model\Base\CartItem as BaseCartItem;
+use Thelia\Model\ConfigQuery;
class CartItem extends BaseCartItem
{
+ protected $dispatcher;
+
+ public function setDisptacher(EventDispatcherInterface $dispatcher)
+ {
+ $this->dispatcher = $dispatcher;
+ }
+
+ public function postInsert(ConnectionInterface $con = null)
+ {
+ if ($this->dispatcher) {
+ $cartEvent = new CartEvent($this->getCart());
+
+ $this->dispatcher->dispatch(TheliaEvents::CART_ADDITEM, $cartEvent);
+ }
+ }
+
+ public function postUpdate(ConnectionInterface $con = null)
+ {
+ if ($this->dispatcher) {
+ $cartEvent = new CartEvent($this->getCart());
+
+ $this->dispatcher->dispatch(TheliaEvents::CART_MODIFYITEM, $cartEvent);
+ }
+ }
+
+
+ /**
+ * @param $value
+ * @return $this
+ */
+ public function addQuantity($value)
+ {
+ $currentQuantity = $this->getQuantity();
+
+ $newQuantity = $currentQuantity + $value;
+
+ if($newQuantity <= 0)
+ {
+ $newQuantity = $currentQuantity;
+ }
+
+ if(ConfigQuery::read("verifyStock", 1) == 1)
+ {
+ $productSaleElements = $this->getProductSaleElements();
+
+ if($productSaleElements->getQuantity() < $newQuantity) {
+ $newQuantity = $currentQuantity;
+ }
+ }
+
+ $this->setQuantity($newQuantity);
+
+ return $this;
+ }
}
diff --git a/core/lib/Thelia/Model/Customer.php b/core/lib/Thelia/Model/Customer.php
index b6379380b..5d36b639a 100755
--- a/core/lib/Thelia/Model/Customer.php
+++ b/core/lib/Thelia/Model/Customer.php
@@ -45,6 +45,7 @@ class Customer extends BaseCustomer implements UserInterface
* @param string $phone customer phone number
* @param string $cellphone customer cellphone number
* @param string $zipcode customer zipcode
+ * @param string $city
* @param int $countryId customer country id (from Country table)
* @param string $email customer email, must be unique
* @param string $plainPassword customer plain password, hash is made calling setPassword method. Not mandatory parameter but an exception is thrown if customer is new without password
@@ -53,7 +54,7 @@ class Customer extends BaseCustomer implements UserInterface
* @param null $sponsor
* @param int $discount
*/
- public function createOrUpdate($titleId, $firstname, $lastname, $address1, $address2, $address3, $phone, $cellphone, $zipcode, $countryId, $email, $plainPassword = null, $lang = null, $reseller = 0, $sponsor = null, $discount = 0)
+ public function createOrUpdate($titleId, $firstname, $lastname, $address1, $address2, $address3, $phone, $cellphone, $zipcode, $city, $countryId, $email, $plainPassword = null, $lang = null, $reseller = 0, $sponsor = null, $discount = 0)
{
$this
->setTitleId($titleId)
@@ -79,7 +80,7 @@ class Customer extends BaseCustomer implements UserInterface
$address = new Address();
$address
- ->setCustomerTitleId($titleId)
+ ->setTitleId($titleId)
->setFirstname($firstname)
->setLastname($lastname)
->setAddress1($address1)
@@ -119,9 +120,15 @@ class Customer extends BaseCustomer implements UserInterface
return uniqid(substr($this->getLastname(), 0, (strlen($this->getLastname()) >= 3) ? 3 : strlen($this->getLastname())), true);
}
+ /**
+ * create hash for plain password and set it in Customer object
+ *
+ * @param string $password plain password before hashing
+ * @return $this|Customer
+ * @throws \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException
+ */
public function setPassword($password)
{
- \Thelia\Log\Tlog::getInstance()->debug($password);
if ($this->isNew() && ($password === null || trim($password) == "")) {
throw new InvalidArgumentException("customer password is mandatory on creation");
}
diff --git a/core/lib/Thelia/Model/Map/CartItemTableMap.php b/core/lib/Thelia/Model/Map/CartItemTableMap.php
index 49335f9ec..687b1cd68 100644
--- a/core/lib/Thelia/Model/Map/CartItemTableMap.php
+++ b/core/lib/Thelia/Model/Map/CartItemTableMap.php
@@ -57,7 +57,7 @@ class CartItemTableMap extends TableMap
/**
* The total number of columns
*/
- const NUM_COLUMNS = 7;
+ const NUM_COLUMNS = 10;
/**
* The number of lazy-loaded columns
@@ -67,7 +67,7 @@ class CartItemTableMap extends TableMap
/**
* The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS)
*/
- const NUM_HYDRATE_COLUMNS = 7;
+ const NUM_HYDRATE_COLUMNS = 10;
/**
* the column name for the ID field
@@ -94,6 +94,21 @@ class CartItemTableMap extends TableMap
*/
const PRODUCT_SALE_ELEMENTS_ID = 'cart_item.PRODUCT_SALE_ELEMENTS_ID';
+ /**
+ * the column name for the PRICE field
+ */
+ const PRICE = 'cart_item.PRICE';
+
+ /**
+ * the column name for the PROMO_PRICE field
+ */
+ const PROMO_PRICE = 'cart_item.PROMO_PRICE';
+
+ /**
+ * the column name for the PRICE_END_OF_LIFE field
+ */
+ const PRICE_END_OF_LIFE = 'cart_item.PRICE_END_OF_LIFE';
+
/**
* the column name for the CREATED_AT field
*/
@@ -116,12 +131,12 @@ class CartItemTableMap extends TableMap
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
protected static $fieldNames = array (
- self::TYPE_PHPNAME => array('Id', 'CartId', 'ProductId', 'Quantity', 'ProductSaleElementsId', 'CreatedAt', 'UpdatedAt', ),
- self::TYPE_STUDLYPHPNAME => array('id', 'cartId', 'productId', 'quantity', 'productSaleElementsId', 'createdAt', 'updatedAt', ),
- self::TYPE_COLNAME => array(CartItemTableMap::ID, CartItemTableMap::CART_ID, CartItemTableMap::PRODUCT_ID, CartItemTableMap::QUANTITY, CartItemTableMap::PRODUCT_SALE_ELEMENTS_ID, CartItemTableMap::CREATED_AT, CartItemTableMap::UPDATED_AT, ),
- self::TYPE_RAW_COLNAME => array('ID', 'CART_ID', 'PRODUCT_ID', 'QUANTITY', 'PRODUCT_SALE_ELEMENTS_ID', 'CREATED_AT', 'UPDATED_AT', ),
- self::TYPE_FIELDNAME => array('id', 'cart_id', 'product_id', 'quantity', 'product_sale_elements_id', 'created_at', 'updated_at', ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, )
+ self::TYPE_PHPNAME => array('Id', 'CartId', 'ProductId', 'Quantity', 'ProductSaleElementsId', 'Price', 'PromoPrice', 'PriceEndOfLife', 'CreatedAt', 'UpdatedAt', ),
+ self::TYPE_STUDLYPHPNAME => array('id', 'cartId', 'productId', 'quantity', 'productSaleElementsId', 'price', 'promoPrice', 'priceEndOfLife', 'createdAt', 'updatedAt', ),
+ self::TYPE_COLNAME => array(CartItemTableMap::ID, CartItemTableMap::CART_ID, CartItemTableMap::PRODUCT_ID, CartItemTableMap::QUANTITY, CartItemTableMap::PRODUCT_SALE_ELEMENTS_ID, CartItemTableMap::PRICE, CartItemTableMap::PROMO_PRICE, CartItemTableMap::PRICE_END_OF_LIFE, CartItemTableMap::CREATED_AT, CartItemTableMap::UPDATED_AT, ),
+ self::TYPE_RAW_COLNAME => array('ID', 'CART_ID', 'PRODUCT_ID', 'QUANTITY', 'PRODUCT_SALE_ELEMENTS_ID', 'PRICE', 'PROMO_PRICE', 'PRICE_END_OF_LIFE', 'CREATED_AT', 'UPDATED_AT', ),
+ self::TYPE_FIELDNAME => array('id', 'cart_id', 'product_id', 'quantity', 'product_sale_elements_id', 'price', 'promo_price', 'price_end_of_life', 'created_at', 'updated_at', ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, )
);
/**
@@ -131,12 +146,12 @@ class CartItemTableMap extends TableMap
* e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0
*/
protected static $fieldKeys = array (
- self::TYPE_PHPNAME => array('Id' => 0, 'CartId' => 1, 'ProductId' => 2, 'Quantity' => 3, 'ProductSaleElementsId' => 4, 'CreatedAt' => 5, 'UpdatedAt' => 6, ),
- self::TYPE_STUDLYPHPNAME => array('id' => 0, 'cartId' => 1, 'productId' => 2, 'quantity' => 3, 'productSaleElementsId' => 4, 'createdAt' => 5, 'updatedAt' => 6, ),
- self::TYPE_COLNAME => array(CartItemTableMap::ID => 0, CartItemTableMap::CART_ID => 1, CartItemTableMap::PRODUCT_ID => 2, CartItemTableMap::QUANTITY => 3, CartItemTableMap::PRODUCT_SALE_ELEMENTS_ID => 4, CartItemTableMap::CREATED_AT => 5, CartItemTableMap::UPDATED_AT => 6, ),
- self::TYPE_RAW_COLNAME => array('ID' => 0, 'CART_ID' => 1, 'PRODUCT_ID' => 2, 'QUANTITY' => 3, 'PRODUCT_SALE_ELEMENTS_ID' => 4, 'CREATED_AT' => 5, 'UPDATED_AT' => 6, ),
- self::TYPE_FIELDNAME => array('id' => 0, 'cart_id' => 1, 'product_id' => 2, 'quantity' => 3, 'product_sale_elements_id' => 4, 'created_at' => 5, 'updated_at' => 6, ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, )
+ self::TYPE_PHPNAME => array('Id' => 0, 'CartId' => 1, 'ProductId' => 2, 'Quantity' => 3, 'ProductSaleElementsId' => 4, 'Price' => 5, 'PromoPrice' => 6, 'PriceEndOfLife' => 7, 'CreatedAt' => 8, 'UpdatedAt' => 9, ),
+ self::TYPE_STUDLYPHPNAME => array('id' => 0, 'cartId' => 1, 'productId' => 2, 'quantity' => 3, 'productSaleElementsId' => 4, 'price' => 5, 'promoPrice' => 6, 'priceEndOfLife' => 7, 'createdAt' => 8, 'updatedAt' => 9, ),
+ self::TYPE_COLNAME => array(CartItemTableMap::ID => 0, CartItemTableMap::CART_ID => 1, CartItemTableMap::PRODUCT_ID => 2, CartItemTableMap::QUANTITY => 3, CartItemTableMap::PRODUCT_SALE_ELEMENTS_ID => 4, CartItemTableMap::PRICE => 5, CartItemTableMap::PROMO_PRICE => 6, CartItemTableMap::PRICE_END_OF_LIFE => 7, CartItemTableMap::CREATED_AT => 8, CartItemTableMap::UPDATED_AT => 9, ),
+ self::TYPE_RAW_COLNAME => array('ID' => 0, 'CART_ID' => 1, 'PRODUCT_ID' => 2, 'QUANTITY' => 3, 'PRODUCT_SALE_ELEMENTS_ID' => 4, 'PRICE' => 5, 'PROMO_PRICE' => 6, 'PRICE_END_OF_LIFE' => 7, 'CREATED_AT' => 8, 'UPDATED_AT' => 9, ),
+ self::TYPE_FIELDNAME => array('id' => 0, 'cart_id' => 1, 'product_id' => 2, 'quantity' => 3, 'product_sale_elements_id' => 4, 'price' => 5, 'promo_price' => 6, 'price_end_of_life' => 7, 'created_at' => 8, 'updated_at' => 9, ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, )
);
/**
@@ -160,6 +175,9 @@ class CartItemTableMap extends TableMap
$this->addForeignKey('PRODUCT_ID', 'ProductId', 'INTEGER', 'product', 'ID', true, null, null);
$this->addColumn('QUANTITY', 'Quantity', 'FLOAT', false, null, 1);
$this->addForeignKey('PRODUCT_SALE_ELEMENTS_ID', 'ProductSaleElementsId', 'INTEGER', 'product_sale_elements', 'ID', true, null, null);
+ $this->addColumn('PRICE', 'Price', 'FLOAT', false, null, null);
+ $this->addColumn('PROMO_PRICE', 'PromoPrice', 'FLOAT', false, null, null);
+ $this->addColumn('PRICE_END_OF_LIFE', 'PriceEndOfLife', 'TIMESTAMP', false, null, null);
$this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null);
$this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null);
} // initialize()
@@ -330,6 +348,9 @@ class CartItemTableMap extends TableMap
$criteria->addSelectColumn(CartItemTableMap::PRODUCT_ID);
$criteria->addSelectColumn(CartItemTableMap::QUANTITY);
$criteria->addSelectColumn(CartItemTableMap::PRODUCT_SALE_ELEMENTS_ID);
+ $criteria->addSelectColumn(CartItemTableMap::PRICE);
+ $criteria->addSelectColumn(CartItemTableMap::PROMO_PRICE);
+ $criteria->addSelectColumn(CartItemTableMap::PRICE_END_OF_LIFE);
$criteria->addSelectColumn(CartItemTableMap::CREATED_AT);
$criteria->addSelectColumn(CartItemTableMap::UPDATED_AT);
} else {
@@ -338,6 +359,9 @@ class CartItemTableMap extends TableMap
$criteria->addSelectColumn($alias . '.PRODUCT_ID');
$criteria->addSelectColumn($alias . '.QUANTITY');
$criteria->addSelectColumn($alias . '.PRODUCT_SALE_ELEMENTS_ID');
+ $criteria->addSelectColumn($alias . '.PRICE');
+ $criteria->addSelectColumn($alias . '.PROMO_PRICE');
+ $criteria->addSelectColumn($alias . '.PRICE_END_OF_LIFE');
$criteria->addSelectColumn($alias . '.CREATED_AT');
$criteria->addSelectColumn($alias . '.UPDATED_AT');
}
diff --git a/core/lib/Thelia/Model/Map/FolderTableMap.php b/core/lib/Thelia/Model/Map/FolderTableMap.php
index c26e23dc8..cc791d467 100644
--- a/core/lib/Thelia/Model/Map/FolderTableMap.php
+++ b/core/lib/Thelia/Model/Map/FolderTableMap.php
@@ -57,7 +57,7 @@ class FolderTableMap extends TableMap
/**
* The total number of columns
*/
- const NUM_COLUMNS = 10;
+ const NUM_COLUMNS = 9;
/**
* The number of lazy-loaded columns
@@ -67,7 +67,7 @@ class FolderTableMap extends TableMap
/**
* The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS)
*/
- const NUM_HYDRATE_COLUMNS = 10;
+ const NUM_HYDRATE_COLUMNS = 9;
/**
* the column name for the ID field
@@ -79,11 +79,6 @@ class FolderTableMap extends TableMap
*/
const PARENT = 'folder.PARENT';
- /**
- * the column name for the LINK field
- */
- const LINK = 'folder.LINK';
-
/**
* the column name for the VISIBLE field
*/
@@ -140,12 +135,12 @@ class FolderTableMap extends TableMap
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
protected static $fieldNames = array (
- self::TYPE_PHPNAME => array('Id', 'Parent', 'Link', 'Visible', 'Position', 'CreatedAt', 'UpdatedAt', 'Version', 'VersionCreatedAt', 'VersionCreatedBy', ),
- self::TYPE_STUDLYPHPNAME => array('id', 'parent', 'link', 'visible', 'position', 'createdAt', 'updatedAt', 'version', 'versionCreatedAt', 'versionCreatedBy', ),
- self::TYPE_COLNAME => array(FolderTableMap::ID, FolderTableMap::PARENT, FolderTableMap::LINK, FolderTableMap::VISIBLE, FolderTableMap::POSITION, FolderTableMap::CREATED_AT, FolderTableMap::UPDATED_AT, FolderTableMap::VERSION, FolderTableMap::VERSION_CREATED_AT, FolderTableMap::VERSION_CREATED_BY, ),
- self::TYPE_RAW_COLNAME => array('ID', 'PARENT', 'LINK', 'VISIBLE', 'POSITION', 'CREATED_AT', 'UPDATED_AT', 'VERSION', 'VERSION_CREATED_AT', 'VERSION_CREATED_BY', ),
- self::TYPE_FIELDNAME => array('id', 'parent', 'link', 'visible', 'position', 'created_at', 'updated_at', 'version', 'version_created_at', 'version_created_by', ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, )
+ self::TYPE_PHPNAME => array('Id', 'Parent', 'Visible', 'Position', 'CreatedAt', 'UpdatedAt', 'Version', 'VersionCreatedAt', 'VersionCreatedBy', ),
+ self::TYPE_STUDLYPHPNAME => array('id', 'parent', 'visible', 'position', 'createdAt', 'updatedAt', 'version', 'versionCreatedAt', 'versionCreatedBy', ),
+ self::TYPE_COLNAME => array(FolderTableMap::ID, FolderTableMap::PARENT, FolderTableMap::VISIBLE, FolderTableMap::POSITION, FolderTableMap::CREATED_AT, FolderTableMap::UPDATED_AT, FolderTableMap::VERSION, FolderTableMap::VERSION_CREATED_AT, FolderTableMap::VERSION_CREATED_BY, ),
+ self::TYPE_RAW_COLNAME => array('ID', 'PARENT', 'VISIBLE', 'POSITION', 'CREATED_AT', 'UPDATED_AT', 'VERSION', 'VERSION_CREATED_AT', 'VERSION_CREATED_BY', ),
+ self::TYPE_FIELDNAME => array('id', 'parent', 'visible', 'position', 'created_at', 'updated_at', 'version', 'version_created_at', 'version_created_by', ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, )
);
/**
@@ -155,12 +150,12 @@ class FolderTableMap extends TableMap
* e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0
*/
protected static $fieldKeys = array (
- self::TYPE_PHPNAME => array('Id' => 0, 'Parent' => 1, 'Link' => 2, 'Visible' => 3, 'Position' => 4, 'CreatedAt' => 5, 'UpdatedAt' => 6, 'Version' => 7, 'VersionCreatedAt' => 8, 'VersionCreatedBy' => 9, ),
- self::TYPE_STUDLYPHPNAME => array('id' => 0, 'parent' => 1, 'link' => 2, 'visible' => 3, 'position' => 4, 'createdAt' => 5, 'updatedAt' => 6, 'version' => 7, 'versionCreatedAt' => 8, 'versionCreatedBy' => 9, ),
- self::TYPE_COLNAME => array(FolderTableMap::ID => 0, FolderTableMap::PARENT => 1, FolderTableMap::LINK => 2, FolderTableMap::VISIBLE => 3, FolderTableMap::POSITION => 4, FolderTableMap::CREATED_AT => 5, FolderTableMap::UPDATED_AT => 6, FolderTableMap::VERSION => 7, FolderTableMap::VERSION_CREATED_AT => 8, FolderTableMap::VERSION_CREATED_BY => 9, ),
- self::TYPE_RAW_COLNAME => array('ID' => 0, 'PARENT' => 1, 'LINK' => 2, 'VISIBLE' => 3, 'POSITION' => 4, 'CREATED_AT' => 5, 'UPDATED_AT' => 6, 'VERSION' => 7, 'VERSION_CREATED_AT' => 8, 'VERSION_CREATED_BY' => 9, ),
- self::TYPE_FIELDNAME => array('id' => 0, 'parent' => 1, 'link' => 2, 'visible' => 3, 'position' => 4, 'created_at' => 5, 'updated_at' => 6, 'version' => 7, 'version_created_at' => 8, 'version_created_by' => 9, ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, )
+ self::TYPE_PHPNAME => array('Id' => 0, 'Parent' => 1, 'Visible' => 2, 'Position' => 3, 'CreatedAt' => 4, 'UpdatedAt' => 5, 'Version' => 6, 'VersionCreatedAt' => 7, 'VersionCreatedBy' => 8, ),
+ self::TYPE_STUDLYPHPNAME => array('id' => 0, 'parent' => 1, 'visible' => 2, 'position' => 3, 'createdAt' => 4, 'updatedAt' => 5, 'version' => 6, 'versionCreatedAt' => 7, 'versionCreatedBy' => 8, ),
+ self::TYPE_COLNAME => array(FolderTableMap::ID => 0, FolderTableMap::PARENT => 1, FolderTableMap::VISIBLE => 2, FolderTableMap::POSITION => 3, FolderTableMap::CREATED_AT => 4, FolderTableMap::UPDATED_AT => 5, FolderTableMap::VERSION => 6, FolderTableMap::VERSION_CREATED_AT => 7, FolderTableMap::VERSION_CREATED_BY => 8, ),
+ self::TYPE_RAW_COLNAME => array('ID' => 0, 'PARENT' => 1, 'VISIBLE' => 2, 'POSITION' => 3, 'CREATED_AT' => 4, 'UPDATED_AT' => 5, 'VERSION' => 6, 'VERSION_CREATED_AT' => 7, 'VERSION_CREATED_BY' => 8, ),
+ self::TYPE_FIELDNAME => array('id' => 0, 'parent' => 1, 'visible' => 2, 'position' => 3, 'created_at' => 4, 'updated_at' => 5, 'version' => 6, 'version_created_at' => 7, 'version_created_by' => 8, ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, )
);
/**
@@ -181,7 +176,6 @@ class FolderTableMap extends TableMap
// columns
$this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null);
$this->addColumn('PARENT', 'Parent', 'INTEGER', true, null, null);
- $this->addColumn('LINK', 'Link', 'VARCHAR', false, 255, null);
$this->addColumn('VISIBLE', 'Visible', 'TINYINT', false, null, null);
$this->addColumn('POSITION', 'Position', 'INTEGER', false, null, null);
$this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null);
@@ -374,7 +368,6 @@ class FolderTableMap extends TableMap
if (null === $alias) {
$criteria->addSelectColumn(FolderTableMap::ID);
$criteria->addSelectColumn(FolderTableMap::PARENT);
- $criteria->addSelectColumn(FolderTableMap::LINK);
$criteria->addSelectColumn(FolderTableMap::VISIBLE);
$criteria->addSelectColumn(FolderTableMap::POSITION);
$criteria->addSelectColumn(FolderTableMap::CREATED_AT);
@@ -385,7 +378,6 @@ class FolderTableMap extends TableMap
} else {
$criteria->addSelectColumn($alias . '.ID');
$criteria->addSelectColumn($alias . '.PARENT');
- $criteria->addSelectColumn($alias . '.LINK');
$criteria->addSelectColumn($alias . '.VISIBLE');
$criteria->addSelectColumn($alias . '.POSITION');
$criteria->addSelectColumn($alias . '.CREATED_AT');
diff --git a/core/lib/Thelia/Model/Map/FolderVersionTableMap.php b/core/lib/Thelia/Model/Map/FolderVersionTableMap.php
index c686b7da1..440b6d1ae 100644
--- a/core/lib/Thelia/Model/Map/FolderVersionTableMap.php
+++ b/core/lib/Thelia/Model/Map/FolderVersionTableMap.php
@@ -57,7 +57,7 @@ class FolderVersionTableMap extends TableMap
/**
* The total number of columns
*/
- const NUM_COLUMNS = 10;
+ const NUM_COLUMNS = 9;
/**
* The number of lazy-loaded columns
@@ -67,7 +67,7 @@ class FolderVersionTableMap extends TableMap
/**
* The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS)
*/
- const NUM_HYDRATE_COLUMNS = 10;
+ const NUM_HYDRATE_COLUMNS = 9;
/**
* the column name for the ID field
@@ -79,11 +79,6 @@ class FolderVersionTableMap extends TableMap
*/
const PARENT = 'folder_version.PARENT';
- /**
- * the column name for the LINK field
- */
- const LINK = 'folder_version.LINK';
-
/**
* the column name for the VISIBLE field
*/
@@ -131,12 +126,12 @@ class FolderVersionTableMap extends TableMap
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
protected static $fieldNames = array (
- self::TYPE_PHPNAME => array('Id', 'Parent', 'Link', 'Visible', 'Position', 'CreatedAt', 'UpdatedAt', 'Version', 'VersionCreatedAt', 'VersionCreatedBy', ),
- self::TYPE_STUDLYPHPNAME => array('id', 'parent', 'link', 'visible', 'position', 'createdAt', 'updatedAt', 'version', 'versionCreatedAt', 'versionCreatedBy', ),
- self::TYPE_COLNAME => array(FolderVersionTableMap::ID, FolderVersionTableMap::PARENT, FolderVersionTableMap::LINK, FolderVersionTableMap::VISIBLE, FolderVersionTableMap::POSITION, FolderVersionTableMap::CREATED_AT, FolderVersionTableMap::UPDATED_AT, FolderVersionTableMap::VERSION, FolderVersionTableMap::VERSION_CREATED_AT, FolderVersionTableMap::VERSION_CREATED_BY, ),
- self::TYPE_RAW_COLNAME => array('ID', 'PARENT', 'LINK', 'VISIBLE', 'POSITION', 'CREATED_AT', 'UPDATED_AT', 'VERSION', 'VERSION_CREATED_AT', 'VERSION_CREATED_BY', ),
- self::TYPE_FIELDNAME => array('id', 'parent', 'link', 'visible', 'position', 'created_at', 'updated_at', 'version', 'version_created_at', 'version_created_by', ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, )
+ self::TYPE_PHPNAME => array('Id', 'Parent', 'Visible', 'Position', 'CreatedAt', 'UpdatedAt', 'Version', 'VersionCreatedAt', 'VersionCreatedBy', ),
+ self::TYPE_STUDLYPHPNAME => array('id', 'parent', 'visible', 'position', 'createdAt', 'updatedAt', 'version', 'versionCreatedAt', 'versionCreatedBy', ),
+ self::TYPE_COLNAME => array(FolderVersionTableMap::ID, FolderVersionTableMap::PARENT, FolderVersionTableMap::VISIBLE, FolderVersionTableMap::POSITION, FolderVersionTableMap::CREATED_AT, FolderVersionTableMap::UPDATED_AT, FolderVersionTableMap::VERSION, FolderVersionTableMap::VERSION_CREATED_AT, FolderVersionTableMap::VERSION_CREATED_BY, ),
+ self::TYPE_RAW_COLNAME => array('ID', 'PARENT', 'VISIBLE', 'POSITION', 'CREATED_AT', 'UPDATED_AT', 'VERSION', 'VERSION_CREATED_AT', 'VERSION_CREATED_BY', ),
+ self::TYPE_FIELDNAME => array('id', 'parent', 'visible', 'position', 'created_at', 'updated_at', 'version', 'version_created_at', 'version_created_by', ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, )
);
/**
@@ -146,12 +141,12 @@ class FolderVersionTableMap extends TableMap
* e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0
*/
protected static $fieldKeys = array (
- self::TYPE_PHPNAME => array('Id' => 0, 'Parent' => 1, 'Link' => 2, 'Visible' => 3, 'Position' => 4, 'CreatedAt' => 5, 'UpdatedAt' => 6, 'Version' => 7, 'VersionCreatedAt' => 8, 'VersionCreatedBy' => 9, ),
- self::TYPE_STUDLYPHPNAME => array('id' => 0, 'parent' => 1, 'link' => 2, 'visible' => 3, 'position' => 4, 'createdAt' => 5, 'updatedAt' => 6, 'version' => 7, 'versionCreatedAt' => 8, 'versionCreatedBy' => 9, ),
- self::TYPE_COLNAME => array(FolderVersionTableMap::ID => 0, FolderVersionTableMap::PARENT => 1, FolderVersionTableMap::LINK => 2, FolderVersionTableMap::VISIBLE => 3, FolderVersionTableMap::POSITION => 4, FolderVersionTableMap::CREATED_AT => 5, FolderVersionTableMap::UPDATED_AT => 6, FolderVersionTableMap::VERSION => 7, FolderVersionTableMap::VERSION_CREATED_AT => 8, FolderVersionTableMap::VERSION_CREATED_BY => 9, ),
- self::TYPE_RAW_COLNAME => array('ID' => 0, 'PARENT' => 1, 'LINK' => 2, 'VISIBLE' => 3, 'POSITION' => 4, 'CREATED_AT' => 5, 'UPDATED_AT' => 6, 'VERSION' => 7, 'VERSION_CREATED_AT' => 8, 'VERSION_CREATED_BY' => 9, ),
- self::TYPE_FIELDNAME => array('id' => 0, 'parent' => 1, 'link' => 2, 'visible' => 3, 'position' => 4, 'created_at' => 5, 'updated_at' => 6, 'version' => 7, 'version_created_at' => 8, 'version_created_by' => 9, ),
- self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, )
+ self::TYPE_PHPNAME => array('Id' => 0, 'Parent' => 1, 'Visible' => 2, 'Position' => 3, 'CreatedAt' => 4, 'UpdatedAt' => 5, 'Version' => 6, 'VersionCreatedAt' => 7, 'VersionCreatedBy' => 8, ),
+ self::TYPE_STUDLYPHPNAME => array('id' => 0, 'parent' => 1, 'visible' => 2, 'position' => 3, 'createdAt' => 4, 'updatedAt' => 5, 'version' => 6, 'versionCreatedAt' => 7, 'versionCreatedBy' => 8, ),
+ self::TYPE_COLNAME => array(FolderVersionTableMap::ID => 0, FolderVersionTableMap::PARENT => 1, FolderVersionTableMap::VISIBLE => 2, FolderVersionTableMap::POSITION => 3, FolderVersionTableMap::CREATED_AT => 4, FolderVersionTableMap::UPDATED_AT => 5, FolderVersionTableMap::VERSION => 6, FolderVersionTableMap::VERSION_CREATED_AT => 7, FolderVersionTableMap::VERSION_CREATED_BY => 8, ),
+ self::TYPE_RAW_COLNAME => array('ID' => 0, 'PARENT' => 1, 'VISIBLE' => 2, 'POSITION' => 3, 'CREATED_AT' => 4, 'UPDATED_AT' => 5, 'VERSION' => 6, 'VERSION_CREATED_AT' => 7, 'VERSION_CREATED_BY' => 8, ),
+ self::TYPE_FIELDNAME => array('id' => 0, 'parent' => 1, 'visible' => 2, 'position' => 3, 'created_at' => 4, 'updated_at' => 5, 'version' => 6, 'version_created_at' => 7, 'version_created_by' => 8, ),
+ self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, )
);
/**
@@ -172,7 +167,6 @@ class FolderVersionTableMap extends TableMap
// columns
$this->addForeignPrimaryKey('ID', 'Id', 'INTEGER' , 'folder', 'ID', true, null, null);
$this->addColumn('PARENT', 'Parent', 'INTEGER', true, null, null);
- $this->addColumn('LINK', 'Link', 'VARCHAR', false, 255, null);
$this->addColumn('VISIBLE', 'Visible', 'TINYINT', false, null, null);
$this->addColumn('POSITION', 'Position', 'INTEGER', false, null, null);
$this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null);
@@ -257,11 +251,11 @@ class FolderVersionTableMap extends TableMap
public static function getPrimaryKeyHashFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM)
{
// If the PK cannot be derived from the row, return NULL.
- if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null && $row[TableMap::TYPE_NUM == $indexType ? 7 + $offset : static::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)] === null) {
+ if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null && $row[TableMap::TYPE_NUM == $indexType ? 6 + $offset : static::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)] === null) {
return null;
}
- return serialize(array((string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], (string) $row[TableMap::TYPE_NUM == $indexType ? 7 + $offset : static::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)]));
+ return serialize(array((string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], (string) $row[TableMap::TYPE_NUM == $indexType ? 6 + $offset : static::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)]));
}
/**
@@ -379,7 +373,6 @@ class FolderVersionTableMap extends TableMap
if (null === $alias) {
$criteria->addSelectColumn(FolderVersionTableMap::ID);
$criteria->addSelectColumn(FolderVersionTableMap::PARENT);
- $criteria->addSelectColumn(FolderVersionTableMap::LINK);
$criteria->addSelectColumn(FolderVersionTableMap::VISIBLE);
$criteria->addSelectColumn(FolderVersionTableMap::POSITION);
$criteria->addSelectColumn(FolderVersionTableMap::CREATED_AT);
@@ -390,7 +383,6 @@ class FolderVersionTableMap extends TableMap
} else {
$criteria->addSelectColumn($alias . '.ID');
$criteria->addSelectColumn($alias . '.PARENT');
- $criteria->addSelectColumn($alias . '.LINK');
$criteria->addSelectColumn($alias . '.VISIBLE');
$criteria->addSelectColumn($alias . '.POSITION');
$criteria->addSelectColumn($alias . '.CREATED_AT');
diff --git a/core/lib/Thelia/Tests/Action/CartTest.php b/core/lib/Thelia/Tests/Action/CartTest.php
index 4b9712efc..c513b2058 100644
--- a/core/lib/Thelia/Tests/Action/CartTest.php
+++ b/core/lib/Thelia/Tests/Action/CartTest.php
@@ -23,10 +23,13 @@
namespace Thelia\Tests\Action;
use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
+use Thelia\Core\Event\DefaultActionEvent;
use Thelia\Core\HttpFoundation\Request;
use Thelia\Core\HttpFoundation\Session\Session;
use Thelia\Model\Cart;
use Thelia\Model\Customer;
+use Thelia\Model\ProductQuery;
+use Thelia\Model\ProductSaleElementsQuery;
class CartTest extends \PHPUnit_Framework_TestCase
{
@@ -50,15 +53,25 @@ class CartTest extends \PHPUnit_Framework_TestCase
$this->uniqid = uniqid('', true);
+ $dispatcher = $this->getMock("Symfony\Component\EventDispatcher\EventDispatcherInterface");
+
$this->actionCart = $this->getMock(
"\Thelia\Action\Cart",
- array("generateCookie")
+ array("generateCookie", "redirect"),
+ array($dispatcher)
+
);
$this->actionCart
->expects($this->any())
->method("generateCookie")
->will($this->returnValue($this->uniqid));
+
+ $this->actionCart
+ ->expects($this->any())
+ ->method("redirect")
+ ->will($this->returnValue(true))
+ ;
}
/**
@@ -202,7 +215,7 @@ class CartTest extends \PHPUnit_Framework_TestCase
*
* A new cart must be created (duplicated) containing customer id
*/
- public function testGetCartWithExistinsCartAndCustomerButNotSameCustomerId()
+ public function testGetCartWithExistingCartAndCustomerButNotSameCustomerId()
{
$actionCart = $this->actionCart;
@@ -236,4 +249,42 @@ class CartTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($customer->getId(), $getCart->getCustomerId());
}
+
+ /**
+ * AddArticle action without data in the request, the form must not be valid
+ */
+/* public function testAddArticleWithError()
+ {
+ $actionEvent = new DefaultActionEvent($this->request, "AddArticle");
+
+ $this->actionCart->addArticle($actionEvent);
+
+ $this->assertTrue($actionEvent->hasErrorForm(), "no data in the request, so the action must failed and a form error must be present");
+
+ }*/
+
+/* public function testAddArticleWithValidDataInRequest()
+ {
+ $request = $this->request;
+ $actionCart = $this->actionCart;
+
+ //find valid product
+
+ $product = ProductQuery::create()->findOne();
+ $productSalementElements = ProductSaleElementsQuery::create()->filterByProduct($product)->findOne();
+
+ $request->query->set("thelia_cart_add[product]", $product->getId());
+ $request->query->set("thelia_cart_add[product_sale_elements_id]", $productSalementElements->getId());
+ $request->query->set("thelia_cart_add[quantity]", 1);
+ $request->setMethod('GET');
+
+ $actionEvent = new DefaultActionEvent($request, "AddArticle");
+
+ $actionCart->addArticle($actionEvent);
+
+ $this->assertFalse($actionEvent->hasErrorForm(), "there is data in the request, form must be valid");
+
+
+ }*/
+
}
\ No newline at end of file
diff --git a/core/lib/Thelia/Tests/Core/HttpFoundation/RequestTest.php b/core/lib/Thelia/Tests/Core/HttpFoundation/RequestTest.php
new file mode 100644
index 000000000..1745da6f7
--- /dev/null
+++ b/core/lib/Thelia/Tests/Core/HttpFoundation/RequestTest.php
@@ -0,0 +1,43 @@
+getMock(
+ "Thelia\Core\HttpFoundation\Request",
+ array("getUri", "getQueryString")
+ );
+
+ $request->expects($this->any())
+ ->method("getUri")
+ ->will($this->onConsecutiveCalls(
+ "http://localhost/",
+ "http://localhost/?test=fu"
+ ));
+
+ $request->expects($this->any())
+ ->method("getQueryString")
+ ->will($this->onConsecutiveCalls(
+ "",
+ "test=fu"
+ ));
+
+ $result = $request->getUriAddingParameters(array("foo" => "bar"));
+
+ $this->assertEquals("http://localhost/?foo=bar", $result);
+
+ $result = $request->getUriAddingParameters(array("foo" => "bar"));
+
+ $this->assertEquals("http://localhost/?test=fu&foo=bar", $result);
+
+
+ }
+
+}
\ No newline at end of file
diff --git a/core/lib/Thelia/Tests/Core/Template/Loop/ProductTest.php b/core/lib/Thelia/Tests/Core/Template/Loop/ProductTest.php
index 58eaf55fd..1ac5cb3b3 100755
--- a/core/lib/Thelia/Tests/Core/Template/Loop/ProductTest.php
+++ b/core/lib/Thelia/Tests/Core/Template/Loop/ProductTest.php
@@ -32,7 +32,7 @@ use Thelia\Core\Template\Loop\Product;
* @author Etienne Roudeix
*
*/
-class ProductTest extends BaseLoopTestor
+/*class ProductTest extends BaseLoopTestor
{
public function getTestedClassName()
{
@@ -48,4 +48,4 @@ class ProductTest extends BaseLoopTestor
{
return array();
}
-}
+}*/
diff --git a/core/lib/Thelia/Tools/Redirect.php b/core/lib/Thelia/Tools/Redirect.php
index 92ae28fa9..66898b0ad 100755
--- a/core/lib/Thelia/Tools/Redirect.php
+++ b/core/lib/Thelia/Tools/Redirect.php
@@ -28,11 +28,6 @@ use Symfony\Component\HttpFoundation\RedirectResponse;
class Redirect
{
- public static function unauthorize($url)
- {
- self::exec($url, 401);
- }
-
public static function exec($url, $status = 302)
{
$response = new RedirectResponse($url, $status);
diff --git a/install/INSTALL-TODO.txt b/install/INSTALL-TODO.txt
index 748a1788c..e1ffb2202 100644
--- a/install/INSTALL-TODO.txt
+++ b/install/INSTALL-TODO.txt
@@ -9,3 +9,13 @@ Variables Config à initialiser:
- asset_dir_from_web_root : le chemin relatif à /web du repertoires des assets (ex. assets)
- active_template: chemin du template front relatif au repertoire template (ex. default)
- thelia_version: la version de Thelia (ex. 2.0.0 alpha)
+- cart.priceEOF : durée de vie d'un prix dans le panier (par défaut 1 mois 60*60*24*30)
+- cart.session_only : pour rattacher le panier uniquement à la session (défaut 0 donc cookie crée)
+- cart.cookie_lifetime : durée de vie du cookie du panier (défaut 1 an 60*60*24*365)
+- one_domain_foreach_lang : un domaine par langue, défaut 0
+- session_config.default : laisser la configuration par défaut de la session
+- session_config.save_path : dossier en absolu dans lequel les sessions sont enregistrés
+- default_lang_without_translation : si pas de traduction, prendre la traduction par défaut
+- password.length : longueur du mot de passe, défaut 4
+- form.secret : token csrf
+- verifyStock : vérification du stock lors du paiement/ajout au panier. Defaut 1
diff --git a/install/faker.php b/install/faker.php
index 725bb26da..23bbed2bb 100755
--- a/install/faker.php
+++ b/install/faker.php
@@ -20,6 +20,28 @@ try {
->find();
$product->delete();
+ $customer = Thelia\Model\CustomerQuery::create()
+ ->find();
+ $customer->delete();
+
+ $customer = new Thelia\Model\Customer();
+ $customer->createOrUpdate(
+ 1,
+ "thelia",
+ "thelia",
+ "5 rue rochon",
+ "",
+ "",
+ "0102030405",
+ "0601020304",
+ "63000",
+ "clermont-ferrand",
+ 64,
+ "test@thelia.net",
+ "azerty"
+ );
+
+
$folder = Thelia\Model\FolderQuery::create()
->find();
$folder->delete();
diff --git a/install/thelia.sql b/install/thelia.sql
index a2797af33..9c438dd14 100755
--- a/install/thelia.sql
+++ b/install/thelia.sql
@@ -538,7 +538,6 @@ CREATE TABLE `folder`
(
`id` INTEGER NOT NULL AUTO_INCREMENT,
`parent` INTEGER NOT NULL,
- `link` VARCHAR(255),
`visible` TINYINT,
`position` INTEGER,
`created_at` DATETIME,
@@ -1274,7 +1273,7 @@ DROP TABLE IF EXISTS `cart`;
CREATE TABLE `cart`
(
`id` INTEGER NOT NULL AUTO_INCREMENT,
- `token` VARCHAR(255) NOT NULL,
+ `token` VARCHAR(255),
`customer_id` INTEGER,
`address_delivery_id` INTEGER,
`address_invoice_id` INTEGER,
@@ -1314,6 +1313,9 @@ CREATE TABLE `cart_item`
`product_id` INTEGER NOT NULL,
`quantity` FLOAT DEFAULT 1,
`product_sale_elements_id` INTEGER NOT NULL,
+ `price` FLOAT,
+ `promo_price` FLOAT,
+ `price_end_of_life` DATETIME,
`created_at` DATETIME,
`updated_at` DATETIME,
PRIMARY KEY (`id`),
@@ -1847,7 +1849,6 @@ CREATE TABLE `folder_version`
(
`id` INTEGER NOT NULL,
`parent` INTEGER NOT NULL,
- `link` VARCHAR(255),
`visible` TINYINT,
`position` INTEGER,
`created_at` DATETIME,
diff --git a/local/config/schema.xml b/local/config/schema.xml
index 744e1746c..4342d9498 100755
--- a/local/config/schema.xml
+++ b/local/config/schema.xml
@@ -393,7 +393,6 @@
-
+
@@ -943,9 +942,6 @@
-
-
-
@@ -958,6 +954,9 @@
+
+
+
@@ -966,6 +965,9 @@
+
+
+