From d356974ef739955f70a76542019300da121b094c Mon Sep 17 00:00:00 2001 From: Manuel Raynaud Date: Wed, 23 Oct 2013 08:45:02 +0200 Subject: [PATCH] create lang toggleDefault object --- core/lib/Thelia/Action/Lang.php | 3 +- .../Thelia/Config/Resources/routing/admin.xml | 5 ++ .../Controller/Admin/LangController.php | 5 ++ .../Event/Lang/LangToggleDefaultEvent.php | 69 +++++++++++++++++++ core/lib/Thelia/Core/Event/TheliaEvents.php | 4 ++ templates/admin/default/languages.html | 32 ++++++++- 6 files changed, 115 insertions(+), 3 deletions(-) create mode 100644 core/lib/Thelia/Core/Event/Lang/LangToggleDefaultEvent.php diff --git a/core/lib/Thelia/Action/Lang.php b/core/lib/Thelia/Action/Lang.php index 88a544b5f..cbd4d074b 100644 --- a/core/lib/Thelia/Action/Lang.php +++ b/core/lib/Thelia/Action/Lang.php @@ -75,7 +75,8 @@ class Lang extends BaseAction implements EventSubscriberInterface public static function getSubscribedEvents() { return array( - TheliaEvents::LANG_UPDATE => array('update', 128) + TheliaEvents::LANG_UPDATE => array('update', 128), + TheliaEvents::LANG_TOGGLEDEFAULT => array('toggleDefault', 128) ); } } \ No newline at end of file diff --git a/core/lib/Thelia/Config/Resources/routing/admin.xml b/core/lib/Thelia/Config/Resources/routing/admin.xml index 607724d5d..744d24ca8 100755 --- a/core/lib/Thelia/Config/Resources/routing/admin.xml +++ b/core/lib/Thelia/Config/Resources/routing/admin.xml @@ -936,6 +936,11 @@ \d+ + + Thelia\Controller\Admin\LangController::toggleDefaultAction + \d+ + + diff --git a/core/lib/Thelia/Controller/Admin/LangController.php b/core/lib/Thelia/Controller/Admin/LangController.php index 908bdeadf..7c6a08681 100644 --- a/core/lib/Thelia/Controller/Admin/LangController.php +++ b/core/lib/Thelia/Controller/Admin/LangController.php @@ -106,4 +106,9 @@ class LangController extends BaseAdminController return $this->render('languages'); } + + public function toggleDefaultAction($lang_id) + { + + } } \ No newline at end of file diff --git a/core/lib/Thelia/Core/Event/Lang/LangToggleDefaultEvent.php b/core/lib/Thelia/Core/Event/Lang/LangToggleDefaultEvent.php new file mode 100644 index 000000000..f31972f01 --- /dev/null +++ b/core/lib/Thelia/Core/Event/Lang/LangToggleDefaultEvent.php @@ -0,0 +1,69 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Event\Lang; + + +/** + * Class LangToggleDefaultEvent + * @package Thelia\Core\Event\Lang + * @author Manuel Raynaud + */ +class LangToggleDefaultEvent extends LangEvent +{ + /** + * @var int + */ + protected $lang_id; + + /** + * @param int $lang_id + */ + function __construct($lang_id) + { + $this->lang_id = $lang_id; + } + + /** + * @param int $lang_id + * + * @return $this + */ + public function setLangId($lang_id) + { + $this->lang_id = $lang_id; + + return $this; + } + + /** + * @return int + */ + public function getLangId() + { + return $this->lang_id; + } + + + +} \ No newline at end of file diff --git a/core/lib/Thelia/Core/Event/TheliaEvents.php b/core/lib/Thelia/Core/Event/TheliaEvents.php index 7e02adaff..9aede0ae2 100755 --- a/core/lib/Thelia/Core/Event/TheliaEvents.php +++ b/core/lib/Thelia/Core/Event/TheliaEvents.php @@ -689,8 +689,12 @@ final class TheliaEvents */ const NEWSLETTER_SUBSCRIBE = 'thelia.newsletter.subscribe'; + /************ LANG MANAGEMENT ****************************/ + const LANG_UPDATE = 'action.lang.update'; + const LANG_TOGGLEDEFAULT = 'action.lang.toggleDefault'; + const BEFORE_UPDATELANG = 'action.lang.beforeUpdate'; const AFTER_UPDATELANG = 'action.lang.afterUpdate'; diff --git a/templates/admin/default/languages.html b/templates/admin/default/languages.html index 76249b74a..f18bfdcc3 100644 --- a/templates/admin/default/languages.html +++ b/templates/admin/default/languages.html @@ -54,8 +54,8 @@ {$DATE_FORMAT} {$TIME_FORMAT} -
- +
+
@@ -231,6 +231,23 @@ }
+ + {/block} {block name="javascript-initialization"} @@ -269,6 +286,17 @@ $("#loading-event").remove(); }); }); + + $(".lang-default-change").on("switch-change", function(data, value){ + var baseUrl = "{url path='/admin/configuration/languages/toggleDefault'}"; + if(data.value) { + $.ajax({ + url : baseUrl+$(this).data('id') + }).fail(function(){ + $('#toggle-default-failed').modal('show'); + }); + } + }); }); {/block} \ No newline at end of file