Add links to diaries in preferred languages
This commit is contained in:
parent
d6827e6e96
commit
f4d84c4806
3 changed files with 19 additions and 0 deletions
|
@ -47,6 +47,8 @@ class DiaryEntriesController < ApplicationController
|
|||
@title = t ".in_language_title", :language => Language.find(params[:language]).english_name
|
||||
entries = entries.where(:language_code => params[:language])
|
||||
else
|
||||
candidate_codes = preferred_languages.flat_map(&:candidates).uniq.map(&:to_s)
|
||||
@languages = Language.where(:code => candidate_codes).in_order_of(:code, candidate_codes)
|
||||
@title = t ".title"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,6 +16,10 @@
|
|||
<li><%= rss_link_to :action => "rss", :language => params[:language] %></li>
|
||||
<% end -%>
|
||||
|
||||
<% @languages&.each do |language| %>
|
||||
<li><%= link_to t(".in_language_title", :language => language.name), :action => "index", :language => language.code %></li>
|
||||
<% end %>
|
||||
|
||||
<% if @user && @user == current_user || !@user && current_user %>
|
||||
<li><%= link_to image_tag("new.png", :class => "small_icon") + t(".new"), new_diary_entry_path, :title => t(".new_title") %></li>
|
||||
<% end %>
|
||||
|
|
|
@ -3,6 +3,9 @@ require "application_system_test_case"
|
|||
class DiaryEntrySystemTest < ApplicationSystemTestCase
|
||||
def setup
|
||||
create(:language, :code => "en")
|
||||
create(:language, :code => "pt", :english_name => "Portuguese", :native_name => "Português")
|
||||
create(:language, :code => "pt-BR", :english_name => "Brazilian Portuguese", :native_name => "Português do Brasil")
|
||||
create(:language, :code => "ru", :english_name => "Russian", :native_name => "Русский")
|
||||
@diary_entry = create(:diary_entry)
|
||||
end
|
||||
|
||||
|
@ -61,4 +64,14 @@ class DiaryEntrySystemTest < ApplicationSystemTestCase
|
|||
|
||||
assert_content @deleted_comment.body
|
||||
end
|
||||
|
||||
test "should have links to preferred languages" do
|
||||
sign_in_as(create(:user, :languages => %w[en-US pt-BR]))
|
||||
visit diary_entries_path
|
||||
|
||||
assert_link "Diary Entries in English", :href => "/diary/en"
|
||||
assert_link "Diary Entries in Brazilian Portuguese", :href => "/diary/pt-BR"
|
||||
assert_link "Diary Entries in Portuguese", :href => "/diary/pt"
|
||||
assert_no_link "Diary Entries in Russian"
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue