update changelog and fix cs
This commit is contained in:
@@ -2,6 +2,13 @@
|
||||
- Remove container from BaseAction.
|
||||
- fix sending mail on order creation
|
||||
- less files in default templates are already compile in css.
|
||||
- all validator message are translated
|
||||
- type argument is now a default argument and used for generating loop cache
|
||||
- fix total amount without discount in backoffice. Fix #235
|
||||
- description is not required anymore in coupon form. Fix #233
|
||||
- Do not allow to cumulate the same coupon many times. Fix #217
|
||||
- colissimo module is now fully configurable
|
||||
- test suite are executed on PHP 5.4, 5.5, 5.6 and HHVM. Thelia is not fully compatible with HHVM
|
||||
|
||||
#2.0.0-beta4
|
||||
- Tinymce is now a dedicated module. You need to activate it.
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
/*************************************************************************************/
|
||||
namespace Thelia\Action;
|
||||
|
||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||
use Propel\Runtime\ActiveQuery\ModelCriteria;
|
||||
|
||||
use Thelia\Core\Event\UpdatePositionEvent;
|
||||
@@ -64,7 +63,7 @@ class BaseAction
|
||||
* @param ModelCriteria $query
|
||||
* @param UpdateSeoEvent $event
|
||||
*
|
||||
* @return mixed an SEOxxx object
|
||||
* @return mixed an SEOxxx object
|
||||
* @throws FormValidationException if a rewritten URL cannot be created
|
||||
*/
|
||||
protected function genericUpdateSeo(ModelCriteria $query, UpdateSeoEvent $event)
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Action;
|
||||
|
||||
|
||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
use Thelia\Core\Event\Cart\CartEvent;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Action;
|
||||
|
||||
use Propel\Runtime\ServiceContainer\ServiceContainerInterface;
|
||||
use Symfony\Component\DependencyInjection\Container;
|
||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
use Thelia\Condition\ConditionFactory;
|
||||
use Thelia\Condition\Implementation\ConditionInterface;
|
||||
|
||||
@@ -155,11 +155,11 @@ class Module extends BaseAction implements EventSubscriberInterface
|
||||
/**
|
||||
* Call the payment method of the payment module of the given order
|
||||
*
|
||||
* @param OrderPaymentEvent $event
|
||||
* @param OrderPaymentEvent $event
|
||||
* @throws \RuntimeException if no payment module can be found.
|
||||
*/
|
||||
public function pay(OrderPaymentEvent $event) {
|
||||
|
||||
public function pay(OrderPaymentEvent $event)
|
||||
{
|
||||
$order = $event->getOrder();
|
||||
|
||||
/* call pay method */
|
||||
|
||||
@@ -26,7 +26,6 @@ namespace Thelia\Action;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
use Thelia\Cart\CartTrait;
|
||||
use Thelia\Core\Event\Cart\CartEvent;
|
||||
use Thelia\Core\Event\Order\OrderAddressEvent;
|
||||
use Thelia\Core\Event\Order\OrderEvent;
|
||||
use Thelia\Core\Event\Order\OrderManualEvent;
|
||||
@@ -53,7 +52,6 @@ use Thelia\Model\OrderStatus;
|
||||
use Thelia\Model\OrderStatusQuery;
|
||||
use Thelia\Tools\I18n;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Class Order
|
||||
@@ -157,7 +155,6 @@ class Order extends BaseAction implements EventSubscriberInterface
|
||||
|
||||
$con->beginTransaction();
|
||||
|
||||
|
||||
$placedOrder = $sessionOrder->copy();
|
||||
$placedOrder->setDispatcher($dispatcher);
|
||||
|
||||
@@ -307,8 +304,8 @@ class Order extends BaseAction implements EventSubscriberInterface
|
||||
/**
|
||||
* Create an order outside of the front-office context, e.g. manually from the back-office.
|
||||
*/
|
||||
public function createManual(OrderManualEvent $event) {
|
||||
|
||||
public function createManual(OrderManualEvent $event)
|
||||
{
|
||||
$placedOrder = $this->createOrder(
|
||||
$event->getDispatcher(),
|
||||
$event->getOrder(),
|
||||
@@ -339,7 +336,6 @@ class Order extends BaseAction implements EventSubscriberInterface
|
||||
|
||||
$event->getDispatcher()->dispatch(TheliaEvents::ORDER_BEFORE_PAYMENT, new OrderEvent($placedOrder));
|
||||
|
||||
|
||||
/* but memorize placed order */
|
||||
$event->setOrder(new \Thelia\Model\Order());
|
||||
$event->setPlacedOrder($placedOrder);
|
||||
|
||||
@@ -45,7 +45,7 @@ trait CartTrait
|
||||
*
|
||||
* search if cart already exists in session. If not try to create a new one or duplicate an old one.
|
||||
*
|
||||
* @param EventDispatcherInterface $dispatcher the event dispatcher
|
||||
* @param EventDispatcherInterface $dispatcher the event dispatcher
|
||||
* @param \Symfony\Component\HttpFoundation\Request $request
|
||||
* @return \Thelia\Model\Cart
|
||||
*/
|
||||
|
||||
@@ -29,7 +29,6 @@ use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
use Symfony\Component\Filesystem\Exception\IOException;
|
||||
|
||||
|
||||
use Thelia\Core\Event\Cache\CacheEvent;
|
||||
use Thelia\Core\Event\TheliaEvents;
|
||||
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Command;
|
||||
|
||||
|
||||
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use Thelia\Core\Event\Image\ImageEvent;
|
||||
|
||||
@@ -27,7 +27,6 @@ use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
|
||||
use Thelia\Model\Admin;
|
||||
|
||||
class CreateAdminUser extends ContainerAwareCommand
|
||||
|
||||
@@ -27,7 +27,6 @@ use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
|
||||
use Thelia\Core\Security\Resource\AdminResources;
|
||||
|
||||
use Thelia\Model\Map\ResourceI18nTableMap;
|
||||
|
||||
@@ -248,8 +248,8 @@ class BaseAdminController extends BaseController
|
||||
* @throws MissingMandatoryParametersException When some parameters are missing that are mandatory for the route
|
||||
* @throws InvalidParameterException When a parameter value for a placeholder is not correct because
|
||||
* it does not match the requirement
|
||||
* @throws \InvalidArgumentException When the router doesn't exist
|
||||
* @return string The generated URL
|
||||
* @throws \InvalidArgumentException When the router doesn't exist
|
||||
* @return string The generated URL
|
||||
*
|
||||
* @see \Thelia\Controller\BaseController::getRouteFromRouter()
|
||||
*/
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Controller\Admin;
|
||||
|
||||
|
||||
use Thelia\Core\Security\Resource\AdminResources;
|
||||
use Thelia\Core\Event\Category\CategoryDeleteEvent;
|
||||
use Thelia\Core\Event\TheliaEvents;
|
||||
|
||||
@@ -98,7 +98,6 @@ class CouponController extends BaseAdminController
|
||||
{
|
||||
$this->checkAuth(AdminResources::COUPON, array(), AccessManager::VIEW);
|
||||
|
||||
|
||||
$coupon = CouponQuery::create()->findPk($couponId);
|
||||
|
||||
if ($coupon === null) {
|
||||
|
||||
@@ -32,7 +32,6 @@ use Thelia\Form\CustomerCreateForm;
|
||||
use Thelia\Form\CustomerUpdateForm;
|
||||
use Thelia\Model\CustomerQuery;
|
||||
|
||||
|
||||
/**
|
||||
* Class CustomerController
|
||||
* @package Thelia\Controller\Admin
|
||||
|
||||
@@ -841,8 +841,6 @@ class FileController extends BaseAdminController
|
||||
$model->setPostscriptum($data['postscriptum']);
|
||||
}
|
||||
|
||||
|
||||
|
||||
$imageCreateEvent->setModelImage($model);
|
||||
|
||||
return $imageCreateEvent;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Controller\Admin;
|
||||
|
||||
|
||||
use Thelia\Core\Security\Resource\AdminResources;
|
||||
use Thelia\Core\Event\Order\OrderAddressEvent;
|
||||
use Thelia\Core\Event\Order\OrderEvent;
|
||||
@@ -46,7 +45,6 @@ class OrderController extends BaseAdminController
|
||||
public function indexAction()
|
||||
{
|
||||
if (null !== $response = $this->checkAuth(AdminResources::ORDER, array(), AccessManager::VIEW)) return $response;
|
||||
|
||||
return $this->render("orders", array(
|
||||
"display_order" => 20,
|
||||
"orders_order" => $this->getListOrderFromSession("orders", "orders_order", "create-date-reverse")
|
||||
|
||||
@@ -32,7 +32,6 @@ use Thelia\Core\Security\Exception\AuthenticationException;
|
||||
use Thelia\Model\Lang;
|
||||
use Thelia\Model\LangQuery;
|
||||
|
||||
|
||||
use Thelia\Core\Event\TheliaEvents;
|
||||
use Thelia\Core\Security\Authentication\AdminTokenAuthenticator;
|
||||
|
||||
@@ -75,8 +74,8 @@ class SessionController extends BaseAdminController
|
||||
return $this->render("login");
|
||||
}
|
||||
|
||||
protected function applyUserLocale(Admin $user) {
|
||||
|
||||
protected function applyUserLocale(Admin $user)
|
||||
{
|
||||
// Set the current language according to Admin locale preference
|
||||
$locale = $user->getLocale();
|
||||
|
||||
|
||||
@@ -51,8 +51,8 @@ class TaxRuleController extends AbstractCrudController
|
||||
);
|
||||
}
|
||||
|
||||
public function defaultAction() {
|
||||
|
||||
public function defaultAction()
|
||||
{
|
||||
// In the tax rule template we use the TaxCreationForm.
|
||||
//
|
||||
// The TaxCreationForm require the TaxEngine, but we cannot pass it from the Parser Form plugin,
|
||||
|
||||
@@ -293,8 +293,8 @@ abstract class BaseController extends ContainerAware
|
||||
* @throws MissingMandatoryParametersException When some parameters are missing that are mandatory for the route
|
||||
* @throws InvalidParameterException When a parameter value for a placeholder is not correct because
|
||||
* it does not match the requirement
|
||||
* @throws \InvalidArgumentException When the router doesn't exist
|
||||
* @return string The generated URL
|
||||
* @throws \InvalidArgumentException When the router doesn't exist
|
||||
* @return string The generated URL
|
||||
*/
|
||||
protected function getRouteFromRouter($routerName, $routeId, $parameters = array(), $referenceType = Router::ABSOLUTE_URL)
|
||||
{
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
namespace Thelia\Core\Event;
|
||||
|
||||
use Thelia\Model\Accessory;
|
||||
use Thelia\Core\Event\ActionEvent;
|
||||
|
||||
class AccessoryEvent extends ActionEvent
|
||||
{
|
||||
|
||||
@@ -134,6 +134,7 @@ class AdministratorEvent extends ActionEvent
|
||||
public function setLocale($locale)
|
||||
{
|
||||
$this->locale = $locale;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Attribute;
|
||||
|
||||
use Thelia\Core\Event\Attribute\AttributeAvEvent;
|
||||
|
||||
class AttributeAvCreateEvent extends AttributeAvEvent
|
||||
{
|
||||
protected $title;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Attribute;
|
||||
|
||||
use Thelia\Core\Event\Attribute\AttributeAvEvent;
|
||||
|
||||
class AttributeAvDeleteEvent extends AttributeAvEvent
|
||||
{
|
||||
protected $attributeAv_id;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Attribute;
|
||||
|
||||
use Thelia\Core\Event\Attribute\AttributeAvCreateEvent;
|
||||
|
||||
class AttributeAvUpdateEvent extends AttributeAvCreateEvent
|
||||
{
|
||||
protected $attributeAv_id;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Attribute;
|
||||
|
||||
use Thelia\Core\Event\Attribute\AttributeEvent;
|
||||
|
||||
class AttributeCreateEvent extends AttributeEvent
|
||||
{
|
||||
protected $title;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Attribute;
|
||||
|
||||
use Thelia\Core\Event\Attribute\AttributeEvent;
|
||||
|
||||
class AttributeDeleteEvent extends AttributeEvent
|
||||
{
|
||||
protected $attribute_id;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Attribute;
|
||||
|
||||
use Thelia\Core\Event\Attribute\AttributeCreateEvent;
|
||||
|
||||
class AttributeUpdateEvent extends AttributeCreateEvent
|
||||
{
|
||||
protected $attribute_id;
|
||||
|
||||
@@ -48,6 +48,7 @@ class CartEvent extends ActionEvent
|
||||
public function setAppend($append)
|
||||
{
|
||||
$this->append = $append;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -65,6 +66,7 @@ class CartEvent extends ActionEvent
|
||||
public function setCartItem($cartItem)
|
||||
{
|
||||
$this->cartItem = $cartItem;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -82,6 +84,7 @@ class CartEvent extends ActionEvent
|
||||
public function setNewness($newness)
|
||||
{
|
||||
$this->newness = $newness;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -99,6 +102,7 @@ class CartEvent extends ActionEvent
|
||||
public function setProduct($product)
|
||||
{
|
||||
$this->product = $product;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -116,6 +120,7 @@ class CartEvent extends ActionEvent
|
||||
public function setProductSaleElementsId($productSaleElementsId)
|
||||
{
|
||||
$this->productSaleElementsId = $productSaleElementsId;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -133,6 +138,7 @@ class CartEvent extends ActionEvent
|
||||
public function setQuantity($quantity)
|
||||
{
|
||||
$this->quantity = $quantity;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Category;
|
||||
|
||||
use Thelia\Core\Event\Category\CategoryEvent;
|
||||
use Thelia\Model\Category;
|
||||
|
||||
class CategoryAddContentEvent extends CategoryEvent
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Category;
|
||||
|
||||
use Thelia\Core\Event\Category\CategoryEvent;
|
||||
|
||||
class CategoryCreateEvent extends CategoryEvent
|
||||
{
|
||||
protected $title;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Category;
|
||||
|
||||
use Thelia\Core\Event\Category\CategoryEvent;
|
||||
use Thelia\Model\Category;
|
||||
|
||||
class CategoryDeleteContentEvent extends CategoryEvent
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Category;
|
||||
|
||||
use Thelia\Core\Event\Category\CategoryEvent;
|
||||
|
||||
class CategoryDeleteEvent extends CategoryEvent
|
||||
{
|
||||
public function __construct($category_id)
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Category;
|
||||
|
||||
use Thelia\Core\Event\Category\CategoryEvent;
|
||||
|
||||
class CategoryToggleVisibilityEvent extends CategoryEvent
|
||||
{
|
||||
}
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Category;
|
||||
|
||||
use Thelia\Core\Event\Category\CategoryCreateEvent;
|
||||
|
||||
class CategoryUpdateEvent extends CategoryCreateEvent
|
||||
{
|
||||
protected $category_id;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Config;
|
||||
|
||||
use Thelia\Core\Event\Config\ConfigEvent;
|
||||
|
||||
class ConfigCreateEvent extends ConfigEvent
|
||||
{
|
||||
protected $event_name;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Config;
|
||||
|
||||
use Thelia\Core\Event\Config\ConfigEvent;
|
||||
|
||||
class ConfigDeleteEvent extends ConfigEvent
|
||||
{
|
||||
protected $config_id;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Config;
|
||||
|
||||
use Thelia\Core\Event\Config\ConfigCreateEvent;
|
||||
|
||||
class ConfigUpdateEvent extends ConfigCreateEvent
|
||||
{
|
||||
protected $config_id;
|
||||
|
||||
@@ -87,10 +87,10 @@ class CouponCreateOrUpdateEvent extends ActionEvent
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param string $code Coupon Code
|
||||
* @param string $serviceId Coupon Service id
|
||||
* @param string $title Coupon title
|
||||
* @param array $effects Coupon effects ready to be serialized
|
||||
* @param string $code Coupon Code
|
||||
* @param string $serviceId Coupon Service id
|
||||
* @param string $title Coupon title
|
||||
* @param array $effects Coupon effects ready to be serialized
|
||||
* 'amount' key is mandatory and reflects
|
||||
* the amount deduced from the cart
|
||||
* @param string $shortDescription Coupon short description
|
||||
@@ -256,9 +256,9 @@ class CouponCreateOrUpdateEvent extends ActionEvent
|
||||
/**
|
||||
* Set effects ready to be serialized
|
||||
*
|
||||
* @param array $effects Effect ready to be serialized
|
||||
* Needs at least the key 'amount'
|
||||
* with the amount removed from the cart
|
||||
* @param array $effects Effect ready to be serialized
|
||||
* Needs at least the key 'amount'
|
||||
* with the amount removed from the cart
|
||||
* @throws \Thelia\Model\Exception\InvalidArgumentException
|
||||
*/
|
||||
public function setEffects(array $effects)
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Currency;
|
||||
|
||||
use Thelia\Core\Event\Currency\CurrencyEvent;
|
||||
|
||||
class CurrencyCreateEvent extends CurrencyEvent
|
||||
{
|
||||
protected $currency_name;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Currency;
|
||||
|
||||
use Thelia\Core\Event\Currency\CurrencyEvent;
|
||||
|
||||
class CurrencyDeleteEvent extends CurrencyEvent
|
||||
{
|
||||
protected $currency_id;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Currency;
|
||||
|
||||
use Thelia\Core\Event\Currency\CurrencyCreateEvent;
|
||||
|
||||
class CurrencyUpdateEvent extends CurrencyCreateEvent
|
||||
{
|
||||
protected $currency_id;
|
||||
|
||||
@@ -68,8 +68,8 @@ class CustomerCreateOrUpdateEvent extends CustomerEvent
|
||||
* @param string $email
|
||||
* @param string $password plain password, don't put hash password, it will hashes again
|
||||
* @param $lang
|
||||
* @param int $reseller if customer is a reseller
|
||||
* @param int $sponsor customer's id sponsor
|
||||
* @param int $reseller if customer is a reseller
|
||||
* @param int $sponsor customer's id sponsor
|
||||
* @param float $discount
|
||||
* @param string $company
|
||||
* @param string $ref
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event;
|
||||
|
||||
use Thelia\Core\Event\ActionEvent;
|
||||
|
||||
class DefaultActionEvent extends ActionEvent
|
||||
{
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ class DocumentCreateOrUpdateEvent extends ActionEvent
|
||||
*
|
||||
* @param string $documentType Document type
|
||||
* ex : FileManager::TYPE_CATEGORY
|
||||
* @param int $parentId Document parent id
|
||||
* @param int $parentId Document parent id
|
||||
*/
|
||||
public function __construct($documentType, $parentId)
|
||||
{
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Feature;
|
||||
|
||||
use Thelia\Core\Event\Feature\FeatureAvEvent;
|
||||
|
||||
class FeatureAvCreateEvent extends FeatureAvEvent
|
||||
{
|
||||
protected $title;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Feature;
|
||||
|
||||
use Thelia\Core\Event\Feature\FeatureAvEvent;
|
||||
|
||||
class FeatureAvDeleteEvent extends FeatureAvEvent
|
||||
{
|
||||
protected $featureAv_id;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Feature;
|
||||
|
||||
use Thelia\Core\Event\Feature\FeatureAvCreateEvent;
|
||||
|
||||
class FeatureAvUpdateEvent extends FeatureAvCreateEvent
|
||||
{
|
||||
protected $featureAv_id;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Feature;
|
||||
|
||||
use Thelia\Core\Event\Feature\FeatureEvent;
|
||||
|
||||
class FeatureCreateEvent extends FeatureEvent
|
||||
{
|
||||
protected $title;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Feature;
|
||||
|
||||
use Thelia\Core\Event\Feature\FeatureEvent;
|
||||
|
||||
class FeatureDeleteEvent extends FeatureEvent
|
||||
{
|
||||
protected $feature_id;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Feature;
|
||||
|
||||
use Thelia\Core\Event\Feature\FeatureCreateEvent;
|
||||
|
||||
class FeatureUpdateEvent extends FeatureCreateEvent
|
||||
{
|
||||
protected $feature_id;
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
/*************************************************************************************/
|
||||
|
||||
namespace Thelia\Core\Event\FeatureProduct;
|
||||
use Thelia\Core\Event\FeatureProduct\FeatureProductEvent;
|
||||
use Thelia\Model\FeatureProduct;
|
||||
|
||||
class FeatureProductDeleteEvent extends FeatureProductEvent
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
/*************************************************************************************/
|
||||
|
||||
namespace Thelia\Core\Event\FeatureProduct;
|
||||
use Thelia\Core\Event\FeatureProduct\FeatureProductEvent;
|
||||
use Thelia\Model\FeatureProduct;
|
||||
|
||||
class FeatureProductUpdateEvent extends FeatureProductEvent
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
/*************************************************************************************/
|
||||
|
||||
namespace Thelia\Core\Event\Folder;
|
||||
use Thelia\Core\Event\Folder\FolderEvent;
|
||||
|
||||
/**
|
||||
* Class FolderCreateEvent
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
/*************************************************************************************/
|
||||
|
||||
namespace Thelia\Core\Event\Folder;
|
||||
use Thelia\Core\Event\Folder\FolderEvent;
|
||||
|
||||
/**
|
||||
* Class FolderDeleteEvent
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
/*************************************************************************************/
|
||||
|
||||
namespace Thelia\Core\Event\Folder;
|
||||
use Thelia\Core\Event\Folder\FolderEvent;
|
||||
|
||||
/**
|
||||
* Class FolderToggleVisibilityEvent
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
/*************************************************************************************/
|
||||
|
||||
namespace Thelia\Core\Event\Folder;
|
||||
use Thelia\Core\Event\Folder\FolderCreateEvent;
|
||||
|
||||
/**
|
||||
* Class FolderUpdateEvent
|
||||
|
||||
@@ -63,8 +63,8 @@ class ImageCreateOrUpdateEvent extends ActionEvent
|
||||
* Constructor
|
||||
*
|
||||
* @param string $imageType Image type
|
||||
* ex : FileManager::TYPE_CATEGORY
|
||||
* @param int $parentId Image parent id
|
||||
* ex : FileManager::TYPE_CATEGORY
|
||||
* @param int $parentId Image parent id
|
||||
*/
|
||||
public function __construct($imageType, $parentId)
|
||||
{
|
||||
@@ -90,8 +90,6 @@ class ImageCreateOrUpdateEvent extends ActionEvent
|
||||
return $this->locale;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Set Image to save
|
||||
*
|
||||
|
||||
@@ -53,7 +53,7 @@ class ImageDeleteEvent extends ActionEvent
|
||||
*
|
||||
* @param CategoryImage|ProductImage|ContentImage|FolderImage $imageToDelete Image about to be deleted
|
||||
* @param string $imageType Image type
|
||||
* ex : FileManager::TYPE_CATEGORY
|
||||
* ex : FileManager::TYPE_CATEGORY
|
||||
*/
|
||||
public function __construct($imageToDelete, $imageType)
|
||||
{
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Message;
|
||||
|
||||
use Thelia\Core\Event\Message\MessageEvent;
|
||||
|
||||
class MessageCreateEvent extends MessageEvent
|
||||
{
|
||||
protected $message_name;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Message;
|
||||
|
||||
use Thelia\Core\Event\Message\MessageEvent;
|
||||
|
||||
class MessageDeleteEvent extends MessageEvent
|
||||
{
|
||||
protected $message_id;
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
/*************************************************************************************/
|
||||
|
||||
namespace Thelia\Core\Event\Message;
|
||||
use Thelia\Core\Event\Message\MessageCreateEvent;
|
||||
|
||||
class MessageUpdateEvent extends MessageCreateEvent
|
||||
{
|
||||
|
||||
@@ -214,7 +214,7 @@ class OrderEvent extends ActionEvent
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Response $response
|
||||
* @param Response $response
|
||||
* @return $this
|
||||
*/
|
||||
public function setResponse(Response $response)
|
||||
|
||||
@@ -56,6 +56,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setOrder(Order $order)
|
||||
{
|
||||
$this->order = $order;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -65,6 +66,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setPlacedOrder(Order $order)
|
||||
{
|
||||
$this->placedOrder = $order;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -74,6 +76,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setInvoiceAddress($address)
|
||||
{
|
||||
$this->invoiceAddress = $address;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -83,6 +86,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setDeliveryAddress($address)
|
||||
{
|
||||
$this->deliveryAddress = $address;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -92,6 +96,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setDeliveryModule($module)
|
||||
{
|
||||
$this->deliveryModule = $module;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -101,6 +106,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setPaymentModule($module)
|
||||
{
|
||||
$this->paymentModule = $module;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -110,6 +116,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setPostage($postage)
|
||||
{
|
||||
$this->postage = $postage;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -119,6 +126,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setRef($ref)
|
||||
{
|
||||
$this->ref = $ref;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -128,6 +136,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setStatus($status)
|
||||
{
|
||||
$this->status = $status;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -227,6 +236,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setCurrency($currency)
|
||||
{
|
||||
$this->currency = $currency;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -238,6 +248,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setLang($lang)
|
||||
{
|
||||
$this->lang = $lang;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -249,6 +260,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setCart($cart)
|
||||
{
|
||||
$this->cart = $cart;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -260,6 +272,7 @@ class OrderManualEvent extends OrderEvent
|
||||
public function setCustomer($customer)
|
||||
{
|
||||
$this->customer = $customer;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,8 @@ class OrderPaymentEvent extends ActionEvent
|
||||
*/
|
||||
protected $response;
|
||||
|
||||
public function __construct(Order $order) {
|
||||
public function __construct(Order $order)
|
||||
{
|
||||
$this->order = $order;
|
||||
}
|
||||
|
||||
@@ -79,5 +80,4 @@ class OrderPaymentEvent extends ActionEvent
|
||||
return null !== $this->response;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Product;
|
||||
|
||||
use Thelia\Core\Event\Product\ProductEvent;
|
||||
|
||||
class ProductToggleVisibilityEvent extends ProductEvent
|
||||
{
|
||||
}
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Product;
|
||||
|
||||
use Thelia\Core\Event\Product\ProductCreateEvent;
|
||||
|
||||
class ProductUpdateEvent extends ProductCreateEvent
|
||||
{
|
||||
protected $product_id;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Template;
|
||||
|
||||
use Thelia\Core\Event\Template\TemplateEvent;
|
||||
use Thelia\Model\Template;
|
||||
class TemplateAddAttributeEvent extends TemplateEvent
|
||||
{
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Template;
|
||||
|
||||
use Thelia\Core\Event\Template\TemplateEvent;
|
||||
use Thelia\Model\Template;
|
||||
class TemplateAddFeatureEvent extends TemplateEvent
|
||||
{
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Template;
|
||||
|
||||
use Thelia\Core\Event\Template\TemplateEvent;
|
||||
|
||||
class TemplateCreateEvent extends TemplateEvent
|
||||
{
|
||||
protected $template_name;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Template;
|
||||
|
||||
use Thelia\Core\Event\Template\TemplateEvent;
|
||||
use Thelia\Model\Template;
|
||||
|
||||
class TemplateDeleteAttributeEvent extends TemplateEvent
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Template;
|
||||
|
||||
use Thelia\Core\Event\Template\TemplateEvent;
|
||||
|
||||
class TemplateDeleteEvent extends TemplateEvent
|
||||
{
|
||||
protected $template_id;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Template;
|
||||
|
||||
use Thelia\Core\Event\Template\TemplateEvent;
|
||||
use Thelia\Model\Template;
|
||||
|
||||
class TemplateDeleteFeatureEvent extends TemplateEvent
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Event\Template;
|
||||
|
||||
use Thelia\Core\Event\Template\TemplateCreateEvent;
|
||||
|
||||
class TemplateUpdateEvent extends TemplateCreateEvent
|
||||
{
|
||||
protected $template_id;
|
||||
|
||||
@@ -27,7 +27,6 @@ use Symfony\Component\HttpKernel\Event\GetResponseEvent;
|
||||
use Symfony\Component\HttpKernel\KernelEvents;
|
||||
use Thelia\Core\Translation\Translator;
|
||||
|
||||
|
||||
/**
|
||||
* Class RequestListener
|
||||
* @package Thelia\Core\EventListener
|
||||
|
||||
@@ -26,7 +26,6 @@ namespace Thelia\Core\Security\Authentication;
|
||||
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
|
||||
use Thelia\Core\Security\UserProvider\AdminUserProvider;
|
||||
|
||||
use Thelia\Form\AdminLogin;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Security\Authentication;
|
||||
|
||||
|
||||
use Thelia\Core\Security\UserProvider\TokenUserProvider;
|
||||
use Thelia\Core\Security\Exception\TokenAuthenticationException;
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Security\Authentication;
|
||||
|
||||
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Thelia\Core\Security\UserProvider\UserProviderInterface;
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Security\UserProvider;
|
||||
|
||||
|
||||
use Thelia\Model\AdminQuery;
|
||||
|
||||
class AdminUserProvider implements UserProviderInterface
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Security\UserProvider;
|
||||
|
||||
|
||||
use Thelia\Model\CustomerQuery;
|
||||
class CustomerUserProvider implements UserProviderInterface
|
||||
{
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Template\Element;
|
||||
|
||||
|
||||
use Thelia\Core\Template\Loop\Argument\Argument;
|
||||
use Propel\Runtime\ActiveQuery\ModelCriteria;
|
||||
use Thelia\Model\Tools\ModelCriteriaTools;
|
||||
|
||||
@@ -337,8 +337,7 @@ abstract class BaseLoop
|
||||
public function count()
|
||||
{
|
||||
$hash = $this->args->getHash();
|
||||
if(false === isset(self::$cacheCount[$hash]))
|
||||
{
|
||||
if (false === isset(self::$cacheCount[$hash])) {
|
||||
$count = 0;
|
||||
if ($this instanceof PropelSearchLoopInterface) {
|
||||
$searchModelCriteria = $this->buildModelCriteria();
|
||||
@@ -368,8 +367,7 @@ abstract class BaseLoop
|
||||
public function exec(&$pagination)
|
||||
{
|
||||
$hash = $this->args->getHash();
|
||||
if(false === isset(self::$cacheLoopResult[$hash]))
|
||||
{
|
||||
if (false === isset(self::$cacheLoopResult[$hash])) {
|
||||
if ($this instanceof PropelSearchLoopInterface) {
|
||||
$searchModelCriteria = $this->buildModelCriteria();
|
||||
if (null === $searchModelCriteria) {
|
||||
|
||||
@@ -26,7 +26,6 @@ namespace Thelia\Core\Template\Element;
|
||||
use Propel\Runtime\Collection\ObjectCollection;
|
||||
use Propel\Runtime\Util\PropelModelPager;
|
||||
|
||||
|
||||
class LoopResult implements \Iterator
|
||||
{
|
||||
private $position;
|
||||
@@ -152,7 +151,7 @@ class LoopResult implements \Iterator
|
||||
* Checks if current position is valid
|
||||
* @link http://php.net/manual/en/iterator.valid.php
|
||||
* @return boolean The return value will be casted to boolean and then evaluated.
|
||||
* Returns true on success or false on failure.
|
||||
* Returns true on success or false on failure.
|
||||
*/
|
||||
public function valid()
|
||||
{
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Template\Loop;
|
||||
|
||||
|
||||
|
||||
use Propel\Runtime\ActiveQuery\Criteria;
|
||||
use Thelia\Core\Template\Element\LoopResult;
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ class ArgumentCollection implements \Iterator
|
||||
* Checks if current position is valid
|
||||
* @link http://php.net/manual/en/iterator.valid.php
|
||||
* @return boolean The return value will be casted to boolean and then evaluated.
|
||||
* Returns true on success or false on failure.
|
||||
* Returns true on success or false on failure.
|
||||
*/
|
||||
public function valid()
|
||||
{
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Template\Loop;
|
||||
|
||||
|
||||
|
||||
use Propel\Runtime\ActiveQuery\Criteria;
|
||||
use Thelia\Core\Template\Element\LoopResult;
|
||||
|
||||
|
||||
@@ -194,7 +194,6 @@ class Category extends BaseI18nLoop implements PropelSearchLoopInterface
|
||||
{
|
||||
foreach ($loopResult->getResultDataCollection() as $category) {
|
||||
|
||||
|
||||
/*
|
||||
* no cause pagination lost :
|
||||
* if ($this->getNotEmpty() && $category->countAllProducts() == 0) continue;
|
||||
@@ -254,7 +253,6 @@ class Category extends BaseI18nLoop implements PropelSearchLoopInterface
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
$loopResult->addRow($loopResultRow);
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,6 @@ use Thelia\Model\CountryQuery;
|
||||
use Thelia\Module\BaseModule;
|
||||
use Thelia\Module\DeliveryModuleInterface;
|
||||
|
||||
|
||||
/**
|
||||
* Class Delivery
|
||||
* @package Thelia\Core\Template\Loop
|
||||
|
||||
@@ -87,7 +87,6 @@ class Lang extends BaseLoop implements PropelSearchLoopInterface
|
||||
$search->filterById($exclude, Criteria::NOT_IN);
|
||||
}
|
||||
|
||||
|
||||
$orders = $this->getOrder();
|
||||
|
||||
foreach ($orders as $order) {
|
||||
|
||||
@@ -46,7 +46,7 @@ abstract class AbstractSmartyPlugin
|
||||
|
||||
$array = explode(',', $commaSeparatedValues);
|
||||
|
||||
if (array_walk($array, function(&$item) {
|
||||
if (array_walk($array, function (&$item) {
|
||||
$item = strtoupper(trim($item));
|
||||
})) {
|
||||
return $array;
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
namespace Thelia\Core\Template\Smarty\Assets;
|
||||
|
||||
|
||||
use Thelia\Log\Tlog;
|
||||
use Thelia\Tools\URL;
|
||||
use Thelia\Core\Template\Assets\AssetManagerInterface;
|
||||
|
||||
|
||||
@@ -109,8 +109,7 @@ class Form extends AbstractSmartyPlugin
|
||||
if (null != $form) {
|
||||
// Re-use the form
|
||||
$instance = $form;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
// Create a new one
|
||||
$class = new \ReflectionClass($formClass);
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ class Module extends AbstractSmartyPlugin
|
||||
* AdminIncludes/<location>.html file, and fetch it as a Smarty template.
|
||||
* - countvar : this is the name of a template variable where the number of found modules includes will be assigned.
|
||||
*
|
||||
* @param array $params
|
||||
* @param array $params
|
||||
* @param \Smarty_Internal_Template $template
|
||||
* @internal param \Thelia\Core\Template\Smarty\Plugins\unknown $smarty
|
||||
*
|
||||
|
||||
@@ -7,10 +7,8 @@ use \Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||
|
||||
use \Smarty;
|
||||
|
||||
|
||||
use Thelia\Core\Template\ParserInterface;
|
||||
|
||||
|
||||
use Thelia\Core\Template\Exception\ResourceNotFoundException;
|
||||
use Thelia\Core\Template\ParserContext;
|
||||
use Thelia\Core\Template\TemplateDefinition;
|
||||
|
||||
@@ -42,7 +42,6 @@ use Symfony\Component\Config\Loader\LoaderInterface;
|
||||
use Symfony\Component\Yaml\Yaml;
|
||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
|
||||
|
||||
use Thelia\Core\Bundle;
|
||||
use Thelia\Core\Event\TheliaEvents;
|
||||
use Thelia\Config\DatabaseConfiguration;
|
||||
use Thelia\Config\DefinePropel;
|
||||
|
||||
@@ -35,7 +35,7 @@ use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
class TheliaContainerBuilder extends ContainerBuilder
|
||||
{
|
||||
|
||||
public function compile(){}
|
||||
public function compile() {}
|
||||
|
||||
public function customCompile()
|
||||
{
|
||||
|
||||
@@ -67,8 +67,8 @@ class TheliaHttpKernel extends HttpKernel
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
* @param integer $type The type of the request
|
||||
* (one of HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST)
|
||||
* @param Boolean $catch Whether to catch exceptions or not
|
||||
* (one of HttpKernelInterface::MASTER_REQUEST or HttpKernelInterface::SUB_REQUEST)
|
||||
* @param Boolean $catch Whether to catch exceptions or not
|
||||
*
|
||||
* @return Response A Response instance
|
||||
*
|
||||
|
||||
@@ -128,6 +128,7 @@ class BaseFacade implements FacadeInterface
|
||||
public function getCartTotalTaxPrice()
|
||||
{
|
||||
$taxCountry = $this->getContainer()->get('thelia.taxEngine')->getDeliveryCountry();
|
||||
|
||||
return $this->getCart()->getTaxedAmount($taxCountry);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,7 +29,6 @@ use Thelia\Coupon\FacadeInterface;
|
||||
use Thelia\Condition\ConditionCollection;
|
||||
use Thelia\Condition\ConditionOrganizerInterface;
|
||||
|
||||
|
||||
/**
|
||||
* Assist in writing a CouponInterface
|
||||
*
|
||||
@@ -139,9 +138,9 @@ abstract class CouponAbstract implements CouponInterface
|
||||
* @param bool $isRemovingPostage If Coupon is removing postage
|
||||
* @param bool $isAvailableOnSpecialOffers If available on Product already
|
||||
* on special offer price
|
||||
* @param bool $isEnabled False if Coupon is disabled by admin
|
||||
* @param int $maxUsage How many usage left
|
||||
* @param \Datetime $expirationDate When the Code is expiring
|
||||
* @param bool $isEnabled False if Coupon is disabled by admin
|
||||
* @param int $maxUsage How many usage left
|
||||
* @param \Datetime $expirationDate When the Code is expiring
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
|
||||
@@ -76,9 +76,9 @@ interface CouponInterface
|
||||
* @param bool $isRemovingPostage If Coupon is removing postage
|
||||
* @param bool $isAvailableOnSpecialOffers If available on Product already
|
||||
* on special offer price
|
||||
* @param bool $isEnabled False if Coupon is disabled by admin
|
||||
* @param int $maxUsage How many usage left
|
||||
* @param \Datetime $expirationDate When the Code is expiring
|
||||
* @param bool $isEnabled False if Coupon is disabled by admin
|
||||
* @param int $maxUsage How many usage left
|
||||
* @param \Datetime $expirationDate When the Code is expiring
|
||||
*/
|
||||
public function set(
|
||||
FacadeInterface $facade,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user