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; 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.
* *

View File

@@ -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;
} }
/** /**