add estimated shipping functionnality in cart

This commit is contained in:
Julien Chanséaume
2014-04-25 09:43:22 +02:00
parent f556a7d149
commit ac51ab21e4
7 changed files with 341 additions and 6 deletions

View File

@@ -123,6 +123,11 @@
<default key="_controller">Front\Controller\CartController::changeItem</default>
<default key="_view">cart</default>
</route>
<route id="cart.update.country" path="/cart/country">
<default key="_controller">Front\Controller\CartController::changeCountry</default>
<default key="_view">cart</default>
</route>
<!-- end cart routes -->
<!-- order management process -->

View File

@@ -23,6 +23,7 @@
namespace Front\Controller;
use Propel\Runtime\Exception\PropelException;
use Symfony\Component\HttpFoundation\Cookie;
use Symfony\Component\HttpFoundation\Request;
use Thelia\Controller\Front\BaseFrontController;
use Thelia\Core\Event\Cart\CartEvent;
@@ -32,7 +33,9 @@ use Thelia\Form\CartAdd;
use Thelia\Form\Exception\FormValidationException;
use Thelia\Log\Tlog;
use Thelia\Model\AddressQuery;
use Thelia\Model\ConfigQuery;
use Thelia\Module\Exception\DeliveryException;
use Thelia\Tools\URL;
class CartController extends BaseFrontController
{
@@ -116,6 +119,19 @@ class CartController extends BaseFrontController
}
public function changeCountry()
{
$redirectUrl = URL::getInstance()->absoluteUrl("/cart");
$deliveryId = $this->getRequest()->get("country");
$cookieName = ConfigQuery::read('front_cart_country_cookie_name', 'fcccn');
$cookieExpires = ConfigQuery::read('front_cart_country_cookie_expires', 2592000);
$cookieExpires = intval($cookieExpires) ?: 2592000;
$cookie = new Cookie($cookieName, $deliveryId, time() + $cookieExpires, '/');
$this->redirect($redirectUrl, 302, array($cookie));
}
/**
* use Thelia\Cart\CartTrait for searching current cart or create a new one
*