allow to create folder
This commit is contained in:
@@ -23,10 +23,12 @@
|
|||||||
|
|
||||||
namespace Thelia\Action;
|
namespace Thelia\Action;
|
||||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||||
|
use Thelia\Core\Event\FolderCreateEvent;
|
||||||
use Thelia\Core\Event\FolderDeleteEvent;
|
use Thelia\Core\Event\FolderDeleteEvent;
|
||||||
use Thelia\Core\Event\FolderUpdateEvent;
|
use Thelia\Core\Event\FolderUpdateEvent;
|
||||||
use Thelia\Core\Event\TheliaEvents;
|
use Thelia\Core\Event\TheliaEvents;
|
||||||
use Thelia\Model\FolderQuery;
|
use Thelia\Model\FolderQuery;
|
||||||
|
use Thelia\Model\Folder as FolderModel;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -68,6 +70,24 @@ class Folder extends BaseAction implements EventSubscriberInterface {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param FolderCreateEvent $event
|
||||||
|
*/
|
||||||
|
public function create(FolderCreateEvent $event)
|
||||||
|
{
|
||||||
|
$folder = new FolderModel();
|
||||||
|
$folder->setDispatcher($this->getDispatcher());
|
||||||
|
|
||||||
|
$folder
|
||||||
|
->setParent($event->getParent())
|
||||||
|
->setVisible($event->getVisible())
|
||||||
|
->setLocale($event->getLocale())
|
||||||
|
->setTitle($event->getTitle())
|
||||||
|
->save();
|
||||||
|
|
||||||
|
$event->setFolder($folder);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an array of event names this subscriber wants to listen to.
|
* Returns an array of event names this subscriber wants to listen to.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -22,9 +22,11 @@
|
|||||||
/*************************************************************************************/
|
/*************************************************************************************/
|
||||||
|
|
||||||
namespace Thelia\Controller\Admin;
|
namespace Thelia\Controller\Admin;
|
||||||
|
use Thelia\Core\Event\FolderCreateEvent;
|
||||||
use Thelia\Core\Event\FolderDeleteEvent;
|
use Thelia\Core\Event\FolderDeleteEvent;
|
||||||
use Thelia\Core\Event\FolderUpdateEvent;
|
use Thelia\Core\Event\FolderUpdateEvent;
|
||||||
use Thelia\Core\Event\TheliaEvents;
|
use Thelia\Core\Event\TheliaEvents;
|
||||||
|
use Thelia\Form\FolderCreationForm;
|
||||||
use Thelia\Form\FolderModificationForm;
|
use Thelia\Form\FolderModificationForm;
|
||||||
use Thelia\Model\FolderQuery;
|
use Thelia\Model\FolderQuery;
|
||||||
|
|
||||||
@@ -61,7 +63,7 @@ class FolderController extends AbstractCrudController
|
|||||||
*/
|
*/
|
||||||
protected function getCreationForm()
|
protected function getCreationForm()
|
||||||
{
|
{
|
||||||
// TODO: Implement getCreationForm() method.
|
return new FolderCreationForm($this->getRequest());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -103,7 +105,15 @@ class FolderController extends AbstractCrudController
|
|||||||
*/
|
*/
|
||||||
protected function getCreationEvent($formData)
|
protected function getCreationEvent($formData)
|
||||||
{
|
{
|
||||||
// TODO: Implement getCreationEvent() method.
|
$creationEvent = new FolderCreateEvent();
|
||||||
|
|
||||||
|
$creationEvent
|
||||||
|
->setLocale($formData['locale'])
|
||||||
|
->setTitle($formData['title'])
|
||||||
|
->setVisible($formData['visible'])
|
||||||
|
->setParent($formData['parent']);
|
||||||
|
|
||||||
|
return $creationEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user