create an abstract class for base action method
This commit is contained in:
38
core/lib/Thelia/Action/BaseAction.php
Normal file
38
core/lib/Thelia/Action/BaseAction.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
/*************************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Thelia */
|
||||||
|
/* */
|
||||||
|
/* Copyright (c) OpenStudio */
|
||||||
|
/* email : info@thelia.net */
|
||||||
|
/* web : http://www.thelia.net */
|
||||||
|
/* */
|
||||||
|
/* This program is free software; you can redistribute it and/or modify */
|
||||||
|
/* it under the terms of the GNU General Public License as published by */
|
||||||
|
/* the Free Software Foundation; either version 3 of the License */
|
||||||
|
/* */
|
||||||
|
/* This program is distributed in the hope that it will be useful, */
|
||||||
|
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
|
||||||
|
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
|
||||||
|
/* GNU General Public License for more details. */
|
||||||
|
/* */
|
||||||
|
/* You should have received a copy of the GNU General Public License */
|
||||||
|
/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||||
|
/* */
|
||||||
|
/*************************************************************************************/
|
||||||
|
namespace Thelia\Action;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
|
|
||||||
|
abstract class BaseAction
|
||||||
|
{
|
||||||
|
|
||||||
|
public function redirect($url, $status = 302)
|
||||||
|
{
|
||||||
|
$response = new RedirectResponse($url, $status);
|
||||||
|
|
||||||
|
$response->send();
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -39,7 +39,6 @@ use Thelia\Model\CartQuery;
|
|||||||
use Thelia\Model\Cart as CartModel;
|
use Thelia\Model\Cart as CartModel;
|
||||||
use Thelia\Model\ConfigQuery;
|
use Thelia\Model\ConfigQuery;
|
||||||
use Thelia\Model\Customer;
|
use Thelia\Model\Customer;
|
||||||
use Thelia\Tools\Redirect;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -48,7 +47,7 @@ use Thelia\Tools\Redirect;
|
|||||||
* Class Cart
|
* Class Cart
|
||||||
* @package Thelia\Action
|
* @package Thelia\Action
|
||||||
*/
|
*/
|
||||||
class Cart implements EventSubscriberInterface
|
class Cart extends BaseAction implements EventSubscriberInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var \Symfony\Component\EventDispatcher\EventDispatcherInterface
|
* @var \Symfony\Component\EventDispatcher\EventDispatcherInterface
|
||||||
@@ -103,7 +102,7 @@ class Cart implements EventSubscriberInterface
|
|||||||
->save();
|
->save();
|
||||||
;
|
;
|
||||||
|
|
||||||
Redirect::exec($cartAdd->getSuccessUrl($request->getUriAddingParameters(array("addCart" => 1))));
|
$this->redirect($cartAdd->getSuccessUrl($request->getUriAddingParameters(array("addCart" => 1))));
|
||||||
} catch (PropelException $e) {
|
} catch (PropelException $e) {
|
||||||
\Thelia\Log\Tlog::getInstance()->error(sptinf("error on adding item to cart with message : %s", $e->getMessage()));
|
\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";
|
$message = "Impossible to add this article to your cart, please try again";
|
||||||
|
|||||||
@@ -37,14 +37,13 @@ use Thelia\Form\CustomerLogin;
|
|||||||
use Thelia\Core\Security\Authentication\CustomerUsernamePasswordFormAuthenticator;
|
use Thelia\Core\Security\Authentication\CustomerUsernamePasswordFormAuthenticator;
|
||||||
use Thelia\Core\Security\SecurityContext;
|
use Thelia\Core\Security\SecurityContext;
|
||||||
use Thelia\Model\ConfigQuery;
|
use Thelia\Model\ConfigQuery;
|
||||||
use Thelia\Tools\Redirect;
|
|
||||||
use Symfony\Component\Validator\Exception\ValidatorException;
|
use Symfony\Component\Validator\Exception\ValidatorException;
|
||||||
use Thelia\Core\Security\Exception\AuthenticationException;
|
use Thelia\Core\Security\Exception\AuthenticationException;
|
||||||
use Thelia\Core\Security\Exception\UsernameNotFoundException;
|
use Thelia\Core\Security\Exception\UsernameNotFoundException;
|
||||||
use Propel\Runtime\Exception\PropelException;
|
use Propel\Runtime\Exception\PropelException;
|
||||||
|
|
||||||
|
|
||||||
class Customer implements EventSubscriberInterface
|
class Customer extends BaseAction implements EventSubscriberInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var Thelia\Core\Security\SecurityContext
|
* @var Thelia\Core\Security\SecurityContext
|
||||||
@@ -291,7 +290,7 @@ class Customer implements EventSubscriberInterface
|
|||||||
if ($sendLoginEvent) $event->getDispatcher()->dispatch(TheliaEvents::CUSTOMER_LOGIN, $event);
|
if ($sendLoginEvent) $event->getDispatcher()->dispatch(TheliaEvents::CUSTOMER_LOGIN, $event);
|
||||||
|
|
||||||
// Redirect to the success URL
|
// Redirect to the success URL
|
||||||
Redirect::exec($form->getSuccessUrl());
|
$this->redirect($form->getSuccessUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user