diff --git a/app/helpers/language_helper.rb b/app/helpers/language_helper.rb index 8d75ead..3955e28 100644 --- a/app/helpers/language_helper.rb +++ b/app/helpers/language_helper.rb @@ -14,7 +14,7 @@ module LanguageHelper if options[:element] == 'dropdown' select_tag('lang', options_for_select(Noosfero.locales.map{|code,name| [name, code]}, current), - :onchange => remote_function(:update => 'wrap', :url => { :action => :index }, :with => "'lang='+value"), + :onchange => "document.location='?' + name + '=' + value;", :help => _('The language you choose here is the language used for options, buttons, etc. It does not affect the language of the content created by other users.') ) else @@ -27,7 +27,6 @@ module LanguageHelper end.join(' — ') content_tag('div', languages, :id => 'language-chooser', :help => _('The language you choose here is the language used for options, buttons, etc. It does not affect the language of the content created by other users.')) end - end end diff --git a/test/unit/language_helper_test.rb b/test/unit/language_helper_test.rb index b4a2239..4d02857 100644 --- a/test/unit/language_helper_test.rb +++ b/test/unit/language_helper_test.rb @@ -36,6 +36,27 @@ class LanguageHelperTest < Test::Unit::TestCase end + should 'generate drodown language chooser correcly' do + Noosfero.expects(:locales).returns({ 'en' => 'English', 'pt_BR' => 'Português Brasileiro', 'fr' => 'Français', 'it' => 'Italiano' }).at_least_once + + self.expects(:language).returns('pt_BR') + result = self.language_chooser(:element => 'dropdown') + assert_match /