Commit 9eb6f1f7568ff22971beda0a0237e5c07c823498
1 parent
87fc860b
Exists in
master
and in
29 other branches
ActionItem373: fixing page reload after select language on dropdown
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1924 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
2 changed files
with
22 additions
and
2 deletions
Show diff stats
app/helpers/language_helper.rb
@@ -14,7 +14,7 @@ module LanguageHelper | @@ -14,7 +14,7 @@ module LanguageHelper | ||
14 | if options[:element] == 'dropdown' | 14 | if options[:element] == 'dropdown' |
15 | select_tag('lang', | 15 | select_tag('lang', |
16 | options_for_select(Noosfero.locales.map{|code,name| [name, code]}, current), | 16 | options_for_select(Noosfero.locales.map{|code,name| [name, code]}, current), |
17 | - :onchange => remote_function(:update => 'wrap', :url => { :action => :index }, :with => "'lang='+value"), | 17 | + :onchange => "document.location='?' + name + '=' + value;", |
18 | :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.') | 18 | :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.') |
19 | ) | 19 | ) |
20 | else | 20 | else |
@@ -27,7 +27,6 @@ module LanguageHelper | @@ -27,7 +27,6 @@ module LanguageHelper | ||
27 | end.join(' — ') | 27 | end.join(' — ') |
28 | 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.')) | 28 | 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.')) |
29 | end | 29 | end |
30 | - | ||
31 | end | 30 | end |
32 | 31 | ||
33 | end | 32 | end |
test/unit/language_helper_test.rb
@@ -36,6 +36,27 @@ class LanguageHelperTest < Test::Unit::TestCase | @@ -36,6 +36,27 @@ class LanguageHelperTest < Test::Unit::TestCase | ||
36 | 36 | ||
37 | end | 37 | end |
38 | 38 | ||
39 | + should 'generate drodown language chooser correcly' do | ||
40 | + Noosfero.expects(:locales).returns({ 'en' => 'English', 'pt_BR' => 'Português Brasileiro', 'fr' => 'Français', 'it' => 'Italiano' }).at_least_once | ||
41 | + | ||
42 | + self.expects(:language).returns('pt_BR') | ||
43 | + result = self.language_chooser(:element => 'dropdown') | ||
44 | + assert_match /<option value="en" selected="selected">English<\/option>/, result | ||
45 | + | ||
46 | + #assert_match /<strong>Português Brasileiro<\/strong>/, result | ||
47 | + #assert_no_match /<strong>English<\/strong>/, result | ||
48 | + #assert_no_match /<strong>Français<\/strong>/, result | ||
49 | + #assert_no_match /<strong>Italiano<\/strong>/, result | ||
50 | + | ||
51 | + #self.expects(:language).returns('fr') | ||
52 | + #result = self.language_chooser | ||
53 | + #assert_no_match /<strong>Português Brasileiro<\/strong>/, result | ||
54 | + #assert_no_match /<strong>English<\/strong>/, result | ||
55 | + #assert_match /<strong>Français<\/strong>/, result | ||
56 | + #assert_no_match /<strong>Italiano<\/strong>/, result | ||
57 | + | ||
58 | + end | ||
59 | + | ||
39 | protected | 60 | protected |
40 | 61 | ||
41 | def _(s) | 62 | def _(s) |