Merge branch 'master' of https://github.com/thelia/thelia into coupon
* 'master' of https://github.com/thelia/thelia: update changelog delete product on category removal. delete only when it's the default category. Fix issue #151 delete all sub categories on category removal, fix issue #150 session parameter is needed on TaxEngine::getInstance method put at the beginning of changelog file the new features start a new section in changelog file uncomment needed loop for parent folder add missing value in folder modification form uncomment needed return statement Use $parent instead of $folder_id in folders admin template
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
#2.0.0-beta3
|
#2.0.0-beta3
|
||||||
- Coupon effect inputs are now more customisable (input text, select, ajax, etc.. are usable) and unlimited amount of input for coupon effect are now possible too
|
- Coupon effect inputs are now more customisable (input text, select, ajax, etc.. are usable) and unlimited amount of input for coupon effect are now possible too
|
||||||
|
- when a category is deleted, all subcategories are deleted
|
||||||
|
- delete products when categories are removed. Works only when the category is the default one for this product
|
||||||
|
|
||||||
#2.0.0-beta2
|
#2.0.0-beta2
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class TaxCreationForm extends BaseForm
|
|||||||
|
|
||||||
protected function buildForm($change_mode = false)
|
protected function buildForm($change_mode = false)
|
||||||
{
|
{
|
||||||
$types = TaxEngine::getInstance()->getTaxTypeList();
|
$types = TaxEngine::getInstance($this->getRequest()->getSession())->getTaxTypeList();
|
||||||
$typeList = array();
|
$typeList = array();
|
||||||
$requirementList = array();
|
$requirementList = array();
|
||||||
foreach ($types as $type) {
|
foreach ($types as $type) {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ namespace Thelia\Model;
|
|||||||
use Thelia\Core\Event\Category\CategoryEvent;
|
use Thelia\Core\Event\Category\CategoryEvent;
|
||||||
use Thelia\Model\Base\Category as BaseCategory;
|
use Thelia\Model\Base\Category as BaseCategory;
|
||||||
use Propel\Runtime\ActiveQuery\Criteria;
|
use Propel\Runtime\ActiveQuery\Criteria;
|
||||||
|
use Thelia\Model\ProductCategoryQuery;
|
||||||
use Thelia\Tools\URL;
|
use Thelia\Tools\URL;
|
||||||
use Thelia\Core\Event\TheliaEvents;
|
use Thelia\Core\Event\TheliaEvents;
|
||||||
use Propel\Runtime\Connection\ConnectionInterface;
|
use Propel\Runtime\Connection\ConnectionInterface;
|
||||||
@@ -62,6 +63,22 @@ class Category extends BaseCategory
|
|||||||
$query->filterByParent($this->getParent());
|
$query->filterByParent($this->getParent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function deleteProducts(ConnectionInterface $con = null)
|
||||||
|
{
|
||||||
|
$productsCategories = ProductCategoryQuery::create()
|
||||||
|
->filterByCategoryId($this->getId())
|
||||||
|
->filterByDefaultCategory(1)
|
||||||
|
->find($con);
|
||||||
|
|
||||||
|
if($productsCategories) {
|
||||||
|
foreach ($productsCategories as $productCategory) {
|
||||||
|
$product = $productCategory->getProduct();
|
||||||
|
|
||||||
|
$product->delete($con);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@@ -111,6 +128,7 @@ class Category extends BaseCategory
|
|||||||
"parent" => $this->getParent(),
|
"parent" => $this->getParent(),
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
$this->deleteProducts($con);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,6 +139,15 @@ class Category extends BaseCategory
|
|||||||
{
|
{
|
||||||
$this->markRewritenUrlObsolete();
|
$this->markRewritenUrlObsolete();
|
||||||
|
|
||||||
|
//delete all subcategories
|
||||||
|
$subCategories = CategoryQuery::findAllChild($this->getId());
|
||||||
|
|
||||||
|
foreach($subCategories as $category) {
|
||||||
|
$category->setDispatcher($this->getDispatcher());
|
||||||
|
|
||||||
|
$category->delete();
|
||||||
|
}
|
||||||
|
|
||||||
$this->dispatchEvent(TheliaEvents::AFTER_DELETECATEGORY, new CategoryEvent($this));
|
$this->dispatchEvent(TheliaEvents::AFTER_DELETECATEGORY, new CategoryEvent($this));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user