diff --git a/airtime_mvc/application/controllers/LoginController.php b/airtime_mvc/application/controllers/LoginController.php index fe30097f4..926e49252 100644 --- a/airtime_mvc/application/controllers/LoginController.php +++ b/airtime_mvc/application/controllers/LoginController.php @@ -13,7 +13,7 @@ class LoginController extends Zend_Controller_Action $request = $this->getRequest(); - Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale')); + Application_Model_Locale::configureLocalization($request->getcookie('airtime_locale', 'en_CA')); if (Zend_Auth::getInstance()->hasIdentity()) { diff --git a/airtime_mvc/application/controllers/UserController.php b/airtime_mvc/application/controllers/UserController.php index e959a5758..bb7a9b263 100644 --- a/airtime_mvc/application/controllers/UserController.php +++ b/airtime_mvc/application/controllers/UserController.php @@ -129,12 +129,7 @@ class UserController extends Zend_Controller_Action $request = $this->getRequest(); $form = new Application_Form_EditUser(); if ($request->isPost()) { - $params = $request->getPost(); - $postData = explode('&', $params['data']); - foreach($postData as $k=>$v) { - $v = explode('=', $v); - $formData[$v[0]] = urldecode($v[1]); - } + $formData = $request->getPost(); if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1 && $formData['cu_login'] == 'admin') { @@ -157,12 +152,18 @@ class UserController extends Zend_Controller_Action $user->setSkype($formData['cu_skype']); $user->setJabber($formData['cu_jabber']); $user->save(); + + //configure localization with new locale setting + Application_Model_Locale::configureLocalization($formData['cu_locale']); + //reinitialize form so language gets translated + $form = new Application_Form_EditUser(); + Application_Model_Preference::SetUserLocale($user->getId(), $formData['cu_locale']); Application_Model_Preference::SetUserTimezone($user->getId(), $formData['cu_timezone']); - $this->view->successMessage = "
"._("User updated successfully!")."
"; + $this->view->successMessage = "
"._("Settings updated successfully!")."
"; } $this->view->form = $form; - die(json_encode(array("locale"=>$formData['cu_locale'], "html"=>$this->view->render('user/edit-user.phtml')))); + $this->view->html = $this->view->render('user/edit-user.phtml'); } $this->view->form = $form; $this->view->html = $this->view->render('user/edit-user.phtml'); diff --git a/airtime_mvc/application/forms/EditUser.php b/airtime_mvc/application/forms/EditUser.php index f266f2368..7e9d78456 100644 --- a/airtime_mvc/application/forms/EditUser.php +++ b/airtime_mvc/application/forms/EditUser.php @@ -18,7 +18,7 @@ class Application_Form_EditUser extends Zend_Form $emailValidator = Application_Form_Helper_ValidationTypes::overrideEmailAddressValidator(); $this->setDecorators(array( - array('ViewScript', array('viewScript' => 'form/edit-user.phtml')))); + array('ViewScript', array('viewScript' => 'form/edit-user.phtml', "currentUser" => $currentUser->getLogin())))); $this->setAttrib('id', 'current-user-form'); $hidden = new Zend_Form_Element_Hidden('cu_user_id'); diff --git a/airtime_mvc/application/views/scripts/form/edit-user.phtml b/airtime_mvc/application/views/scripts/form/edit-user.phtml index e7996a25d..094cf440e 100644 --- a/airtime_mvc/application/views/scripts/form/edit-user.phtml +++ b/airtime_mvc/application/views/scripts/form/edit-user.phtml @@ -1,5 +1,6 @@ +

currentUser) ?>

-
+
element->getElement('cu_user_id') ?>
@@ -142,7 +143,7 @@ - +
\ No newline at end of file diff --git a/airtime_mvc/application/views/scripts/user/edit-user.phtml b/airtime_mvc/application/views/scripts/user/edit-user.phtml index 34f811f1b..dd8dfcd6b 100644 --- a/airtime_mvc/application/views/scripts/user/edit-user.phtml +++ b/airtime_mvc/application/views/scripts/user/edit-user.phtml @@ -1,5 +1,4 @@
-

successMessage ?> form?>
diff --git a/airtime_mvc/public/js/airtime/dashboard/dashboard.js b/airtime_mvc/public/js/airtime/dashboard/dashboard.js index c213c945d..eba3060b5 100644 --- a/airtime_mvc/public/js/airtime/dashboard/dashboard.js +++ b/airtime_mvc/public/js/airtime/dashboard/dashboard.js @@ -462,14 +462,7 @@ $(document).ready(function() { }); $('#cu_save_user').live('click', function() { - var data = $('#current-user-form').serialize(); - $.post(baseUrl+'/user/edit-user', {format: 'json', data: data}, function(data) { - var json = $.parseJSON(data); - $('.edit-current-user').parent().empty().append(json.html); - $.cookie("airtime_locale", json.locale, {path: '/'}); - setCurrentUserPseudoPassword(); - setTimeout(removeSuccessMsg, 5000); - }); + $.cookie("airtime_locale", $('#cu_locale').val(), {path: '/'}); }); // When the 'Listen' button is clicked we set the width