process delete language

This commit is contained in:
Manuel Raynaud
2013-10-23 12:36:08 +02:00
parent b16edfbd1d
commit 53e25ce7c1
5 changed files with 34 additions and 4 deletions

View File

@@ -24,6 +24,7 @@
namespace Thelia\Action;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Thelia\Core\Event\Lang\LangCreateEvent;
use Thelia\Core\Event\Lang\LangDeleteEvent;
use Thelia\Core\Event\Lang\LangToggleDefaultEvent;
use Thelia\Core\Event\Lang\LangUpdateEvent;
use Thelia\Core\Event\TheliaEvents;
@@ -71,6 +72,7 @@ class Lang extends BaseAction implements EventSubscriberInterface
$lang = new LangModel();
$lang
->setDispatcher($this->getDispatcher())
->setTitle($event->getTitle())
->setCode($event->getCode())
->setLocale($event->getLocale())
@@ -81,6 +83,16 @@ class Lang extends BaseAction implements EventSubscriberInterface
$event->setLang($lang);
}
public function delete(LangDeleteEvent $event)
{
if (null !== $lang = LangQuery::create()->findPk($event->getLangId())) {
$lang->setDispatcher($this->getDispatcher())
->delete();
$event->setLang($lang);
}
}
/**
* Returns an array of event names this subscriber wants to listen to.
*
@@ -106,7 +118,8 @@ class Lang extends BaseAction implements EventSubscriberInterface
return array(
TheliaEvents::LANG_UPDATE => array('update', 128),
TheliaEvents::LANG_TOGGLEDEFAULT => array('toggleDefault', 128),
TheliaEvents::LANG_CREATE => array('create', 128)
TheliaEvents::LANG_CREATE => array('create', 128),
TheliaEvents::LANG_DELETE => array('delete', 128),
);
}
}