allow to create folder

This commit is contained in:
Manuel Raynaud
2013-09-20 20:07:59 +02:00
parent aa39d6300c
commit a8dddc9c26
2 changed files with 32 additions and 2 deletions

View File

@@ -23,10 +23,12 @@
namespace Thelia\Action;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Thelia\Core\Event\FolderCreateEvent;
use Thelia\Core\Event\FolderDeleteEvent;
use Thelia\Core\Event\FolderUpdateEvent;
use Thelia\Core\Event\TheliaEvents;
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.
*

View File

@@ -22,9 +22,11 @@
/*************************************************************************************/
namespace Thelia\Controller\Admin;
use Thelia\Core\Event\FolderCreateEvent;
use Thelia\Core\Event\FolderDeleteEvent;
use Thelia\Core\Event\FolderUpdateEvent;
use Thelia\Core\Event\TheliaEvents;
use Thelia\Form\FolderCreationForm;
use Thelia\Form\FolderModificationForm;
use Thelia\Model\FolderQuery;
@@ -61,7 +63,7 @@ class FolderController extends AbstractCrudController
*/
protected function getCreationForm()
{
// TODO: Implement getCreationForm() method.
return new FolderCreationForm($this->getRequest());
}
/**
@@ -103,7 +105,15 @@ class FolderController extends AbstractCrudController
*/
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;
}
/**