diff --git a/core/lib/Thelia/Config/Resources/routing/admin.xml b/core/lib/Thelia/Config/Resources/routing/admin.xml
index 5626c4056..e371f685d 100755
--- a/core/lib/Thelia/Config/Resources/routing/admin.xml
+++ b/core/lib/Thelia/Config/Resources/routing/admin.xml
@@ -208,6 +208,10 @@
Thelia\Controller\Admin\FolderController::processUpdateAction
+
+ Thelia\Controller\Admin\FolderController::deleteAction
+
+
diff --git a/core/lib/Thelia/Controller/Admin/FolderController.php b/core/lib/Thelia/Controller/Admin/FolderController.php
index eec4733f2..55135b2b2 100644
--- a/core/lib/Thelia/Controller/Admin/FolderController.php
+++ b/core/lib/Thelia/Controller/Admin/FolderController.php
@@ -22,6 +22,7 @@
/*************************************************************************************/
namespace Thelia\Controller\Admin;
+use Thelia\Core\Event\FolderDeleteEvent;
use Thelia\Core\Event\FolderUpdateEvent;
use Thelia\Core\Event\TheliaEvents;
use Thelia\Form\FolderModificationForm;
@@ -133,7 +134,7 @@ class FolderController extends AbstractCrudController
*/
protected function getDeleteEvent()
{
- // TODO: Implement getDeleteEvent() method.
+ return new FolderDeleteEvent($this->getRequest()->get('folder_id'), 0);
}
/**
@@ -149,11 +150,13 @@ class FolderController extends AbstractCrudController
/**
* Get the created object from an event.
*
- * @param unknown $createEvent
+ * @param $event \Thelia\Core\Event\FolderEvent $event
+ *
+ * @return null|\Thelia\Model\Folder
*/
protected function getObjectFromEvent($event)
{
- // TODO: Implement getObjectFromEvent() method.
+ return $event->hasFolder() ? $event->getFolder() : null;
}
/**
@@ -235,6 +238,12 @@ class FolderController extends AbstractCrudController
}
}
+ /**
+ * Put in this method post object delete processing if required.
+ *
+ * @param \Thelia\Core\Event\FolderDeleteEvent $deleteEvent the delete event
+ * @return Response a response, or null to continue normal processing
+ */
protected function performAdditionalDeleteAction($deleteEvent)
{
// Redirect to parent category list
diff --git a/core/lib/Thelia/Core/Event/FolderDeleteEvent.php b/core/lib/Thelia/Core/Event/FolderDeleteEvent.php
new file mode 100644
index 000000000..1ef83ef51
--- /dev/null
+++ b/core/lib/Thelia/Core/Event/FolderDeleteEvent.php
@@ -0,0 +1,64 @@
+. */
+/* */
+/*************************************************************************************/
+
+namespace Thelia\Core\Event;
+
+
+/**
+ * Class FolderDeleteEvent
+ * @package Thelia\Core\Event
+ * @author Manuel Raynaud
+ */
+class FolderDeleteEvent extends FolderEvent{
+
+ /**
+ * @var int folder id
+ */
+ protected $folder_id;
+
+ /**
+ * @param int $folder_id
+ */
+ function __construct($folder_id)
+ {
+ $this->folder_id = $folder_id;
+ }
+
+ /**
+ * @param int $folder_id
+ */
+ public function setFolderId($folder_id)
+ {
+ $this->folder_id = $folder_id;
+ }
+
+ /**
+ * @return int
+ */
+ public function getFolderId()
+ {
+ return $this->folder_id;
+ }
+
+
+}
\ No newline at end of file
diff --git a/core/lib/Thelia/Core/Event/FolderEvent.php b/core/lib/Thelia/Core/Event/FolderEvent.php
index 2a5d17c60..8ae8223b5 100644
--- a/core/lib/Thelia/Core/Event/FolderEvent.php
+++ b/core/lib/Thelia/Core/Event/FolderEvent.php
@@ -60,6 +60,11 @@ class FolderEvent extends ActionEvent {
return $this->folder;
}
+ /**
+ * test if a folder object exists
+ *
+ * @return bool
+ */
public function hasFolder()
{
return null !== $this->folder;