diff --git a/core/lib/Thelia/Action/Lang.php b/core/lib/Thelia/Action/Lang.php index bf3df3f62..a539cd486 100644 --- a/core/lib/Thelia/Action/Lang.php +++ b/core/lib/Thelia/Action/Lang.php @@ -23,10 +23,12 @@ namespace Thelia\Action; use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Thelia\Core\Event\Lang\LangCreateEvent; use Thelia\Core\Event\Lang\LangToggleDefaultEvent; use Thelia\Core\Event\Lang\LangUpdateEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Model\LangQuery; +use Thelia\Model\Lang as LangModel; /** @@ -64,6 +66,21 @@ class Lang extends BaseAction implements EventSubscriberInterface } } + public function create(LangCreateEvent $event) + { + $lang = new LangModel(); + + $lang + ->setTitle($event->getTitle()) + ->setCode($event->getCode()) + ->setLocale($event->getLocale()) + ->setDateFormat($event->getDateFormat()) + ->setTimeFormat($event->getTimeFormat()) + ->save(); + + $event->setLang($lang); + } + /** * Returns an array of event names this subscriber wants to listen to. * @@ -88,7 +105,8 @@ class Lang extends BaseAction implements EventSubscriberInterface { return array( TheliaEvents::LANG_UPDATE => array('update', 128), - TheliaEvents::LANG_TOGGLEDEFAULT => array('toggleDefault', 128) + TheliaEvents::LANG_TOGGLEDEFAULT => array('toggleDefault', 128), + TheliaEvents::LANG_CREATE => array('create', 128) ); } } \ No newline at end of file diff --git a/core/lib/Thelia/Config/Resources/config.xml b/core/lib/Thelia/Config/Resources/config.xml index 67c856a05..875215015 100755 --- a/core/lib/Thelia/Config/Resources/config.xml +++ b/core/lib/Thelia/Config/Resources/config.xml @@ -138,8 +138,6 @@
- - @@ -155,6 +153,7 @@ + diff --git a/core/lib/Thelia/Config/Resources/routing/admin.xml b/core/lib/Thelia/Config/Resources/routing/admin.xml index 744d24ca8..d61e2ce72 100755 --- a/core/lib/Thelia/Config/Resources/routing/admin.xml +++ b/core/lib/Thelia/Config/Resources/routing/admin.xml @@ -941,6 +941,10 @@