diff --git a/core/lib/Thelia/Controller/Admin/AreaController.php b/core/lib/Thelia/Controller/Admin/AreaController.php index 12958b4ff..ec8f2d2de 100644 --- a/core/lib/Thelia/Controller/Admin/AreaController.php +++ b/core/lib/Thelia/Controller/Admin/AreaController.php @@ -22,7 +22,10 @@ /*************************************************************************************/ namespace Thelia\Controller\Admin; +use Thelia\Core\Event\Area\AreaCreateEvent; +use Thelia\Core\Event\Area\AreaUpdateEvent; use Thelia\Core\Event\TheliaEvents; +use Thelia\Form\Area\AreaCreateForm; /** * Class AreaController @@ -67,7 +70,7 @@ class AreaController extends AbstractCrudController */ protected function getCreationForm() { - // TODO: Implement getCreationForm() method. + return new AreaCreateForm($this->getRequest()); } /** @@ -75,7 +78,7 @@ class AreaController extends AbstractCrudController */ protected function getUpdateForm() { - // TODO: Implement getUpdateForm() method. + return new AreaCreateForm($this->getRequest()); } /** @@ -92,10 +95,14 @@ class AreaController extends AbstractCrudController * Creates the creation event with the provided form data * * @param unknown $formData + * + * @return \Thelia\Core\Event\Area\AreaCreateEvent */ protected function getCreationEvent($formData) { - // TODO: Implement getCreationEvent() method. + $event = new AreaCreateEvent(); + + return $this->hydrateEvent($event, $formData); } /** @@ -105,7 +112,16 @@ class AreaController extends AbstractCrudController */ protected function getUpdateEvent($formData) { - // TODO: Implement getUpdateEvent() method. + $event = new AreaUpdateEvent(); + + return $this->hydrateEvent($event, $formData); + } + + private function hydrateEvent($event, $formData) + { + $event->setName($formData['name']); + + return $event; } /** diff --git a/core/lib/Thelia/Core/Event/Area/AreaCreateEvent.php b/core/lib/Thelia/Core/Event/Area/AreaCreateEvent.php new file mode 100644 index 000000000..a06ef2bc3 --- /dev/null +++ b/core/lib/Thelia/Core/Event/Area/AreaCreateEvent.php @@ -0,0 +1,53 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Event\Area; + + +/** + * Class AreaCreateEvent + * @package Thelia\Core\Event\Area + * @author Manuel Raynaud + */ +class AreaCreateEvent extends AreaEvent +{ + protected $name; + + /** + * @param mixed $name + */ + public function setName($name) + { + $this->name = $name; + } + + /** + * @return mixed + */ + public function getName() + { + return $this->name; + } + + +} \ No newline at end of file diff --git a/core/lib/Thelia/Core/Event/Area/AreaDeleteEvent.php b/core/lib/Thelia/Core/Event/Area/AreaDeleteEvent.php new file mode 100644 index 000000000..fa996fa5e --- /dev/null +++ b/core/lib/Thelia/Core/Event/Area/AreaDeleteEvent.php @@ -0,0 +1,40 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Event\Area; + + +/** + * Class AreaDeleteEvent + * @package Thelia\Core\Event\Area + * @author Manuel Raynaud + */ +class AreaDeleteEvent extends AreaEvent +{ + protected $area_id; + + public function __construct($area_id) + { + $this->area_id = $area_id; + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Core/Event/Area/AreaUpdateEvent.php b/core/lib/Thelia/Core/Event/Area/AreaUpdateEvent.php new file mode 100644 index 000000000..f5f7c8704 --- /dev/null +++ b/core/lib/Thelia/Core/Event/Area/AreaUpdateEvent.php @@ -0,0 +1,35 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Event\Area; + + +/** + * Class AreaUpdateEvent + * @package Thelia\Core\Event\Area + * @author Manuel Raynaud + */ +class AreaUpdateEvent extends AreaCreateEvent +{ + +} \ No newline at end of file