Merge remote-tracking branch 'upstream/pull/1985'

This commit is contained in:
Tom Hughes 2018-09-10 18:58:27 +01:00
commit 0e0c89b95c
11 changed files with 70 additions and 70 deletions

View file

@ -8,7 +8,7 @@ class DiaryEntryController < ApplicationController
before_action :check_database_readable
before_action :check_database_writable, :only => [:new, :edit, :comment, :hide, :hidecomment, :subscribe, :unsubscribe]
before_action :require_administrator, :only => [:hide, :hidecomment]
before_action :allow_thirdparty_images, :only => [:new, :edit, :list, :show, :comments]
before_action :allow_thirdparty_images, :only => [:new, :edit, :index, :show, :comments]
def new
@title = t "diary_entry.new.title"
@ -29,7 +29,7 @@ class DiaryEntryController < ApplicationController
# Subscribe user to diary comments
@diary_entry.subscriptions.create(:user => current_user)
redirect_to :action => "list", :display_name => current_user.display_name
redirect_to :action => "index", :display_name => current_user.display_name
else
render :action => "edit"
end
@ -99,12 +99,12 @@ class DiaryEntryController < ApplicationController
render :action => "no_such_entry", :status => :not_found
end
def list
def index
if params[:display_name]
@user = User.active.find_by(:display_name => params[:display_name])
if @user
@title = t "diary_entry.list.user_title", :user => @user.display_name
@title = t "diary_entry.index.user_title", :user => @user.display_name
@entries = @user.diary_entries
else
render_unknown_user params[:display_name]
@ -112,7 +112,7 @@ class DiaryEntryController < ApplicationController
end
elsif params[:friends]
if current_user
@title = t "diary_entry.list.title_friends"
@title = t "diary_entry.index.title_friends"
@entries = DiaryEntry.where(:user_id => current_user.friend_users)
else
require_user
@ -120,7 +120,7 @@ class DiaryEntryController < ApplicationController
end
elsif params[:nearby]
if current_user
@title = t "diary_entry.list.title_nearby"
@title = t "diary_entry.index.title_nearby"
@entries = DiaryEntry.where(:user_id => current_user.nearby)
else
require_user
@ -130,10 +130,10 @@ class DiaryEntryController < ApplicationController
@entries = DiaryEntry.joins(:user).where(:users => { :status => %w[active confirmed] })
if params[:language]
@title = t "diary_entry.list.in_language_title", :language => Language.find(params[:language]).english_name
@title = t "diary_entry.index.in_language_title", :language => Language.find(params[:language]).english_name
@entries = @entries.where(:language_code => params[:language])
else
@title = t "diary_entry.list.title"
@title = t "diary_entry.index.title"
end
end
@ -157,7 +157,7 @@ class DiaryEntryController < ApplicationController
@entries = user.diary_entries
@title = t("diary_entry.feed.user.title", :user => user.display_name)
@description = t("diary_entry.feed.user.description", :user => user.display_name)
@link = url_for :controller => "diary_entry", :action => "list", :display_name => user.display_name, :host => SERVER_URL, :protocol => SERVER_PROTOCOL
@link = url_for :controller => "diary_entry", :action => "index", :display_name => user.display_name, :host => SERVER_URL, :protocol => SERVER_PROTOCOL
else
head :not_found
return
@ -169,11 +169,11 @@ class DiaryEntryController < ApplicationController
@entries = @entries.where(:language_code => params[:language])
@title = t("diary_entry.feed.language.title", :language_name => Language.find(params[:language]).english_name)
@description = t("diary_entry.feed.language.description", :language_name => Language.find(params[:language]).english_name)
@link = url_for :controller => "diary_entry", :action => "list", :language => params[:language], :host => SERVER_URL, :protocol => SERVER_PROTOCOL
@link = url_for :controller => "diary_entry", :action => "index", :language => params[:language], :host => SERVER_URL, :protocol => SERVER_PROTOCOL
else
@title = t("diary_entry.feed.all.title")
@description = t("diary_entry.feed.all.description")
@link = url_for :controller => "diary_entry", :action => "list", :host => SERVER_URL, :protocol => SERVER_PROTOCOL
@link = url_for :controller => "diary_entry", :action => "index", :host => SERVER_URL, :protocol => SERVER_PROTOCOL
end
end
@ -193,7 +193,7 @@ class DiaryEntryController < ApplicationController
def hide
entry = DiaryEntry.find(params[:id])
entry.update(:visible => false)
redirect_to :action => "list", :display_name => entry.user.display_name
redirect_to :action => "index", :display_name => entry.user.display_name
end
def hidecomment

View file

@ -7,7 +7,7 @@
<h2><%= link_to h(diary_entry.title), diary_entry_path(diary_entry.user, diary_entry) %></h2>
<small class='deemphasize'>
<%= raw(t '.posted_by', :link_user => (link_to h(diary_entry.user.display_name), user_path(diary_entry.user)), :created => l(diary_entry.created_at, :format => :blog), :language_link => (link_to h(diary_entry.language.name), :controller => 'diary_entry', :action => 'list', :display_name => nil, :language => diary_entry.language_code)) %>
<%= raw(t '.posted_by', :link_user => (link_to h(diary_entry.user.display_name), user_path(diary_entry.user)), :created => l(diary_entry.created_at, :format => :blog), :language_link => (link_to h(diary_entry.language.name), :controller => 'diary_entry', :action => 'index', :display_name => nil, :language => diary_entry.language_code)) %>
</small>
</div>
@ -21,7 +21,7 @@
<% end %>
<ul class='secondary-actions clearfix'>
<% if params[:action] == 'list' %>
<% if params[:action] == 'index' %>
<li><%= link_to t('.comment_link'), diary_entry_path(diary_entry.user, diary_entry, :anchor => 'newcomment') %></li>
<li><%= link_to t('.reply_link'), new_message_path(diary_entry.user, :message => { :title => "Re: #{diary_entry.title}" }) %></li>
<li><%= link_to t('.comment_count', :count => diary_entry.visible_comments.count), diary_entry_path(diary_entry.user, diary_entry, :anchor => 'comments') %></li>

View file

@ -0,0 +1 @@
<%= render :partial => "diary_entry", :object => diary_index_entry %>

View file

@ -1 +0,0 @@
<%= render :partial => "diary_entry", :object => diary_list_entry %>

View file

@ -35,7 +35,7 @@
<% if @user %>
<%= render :partial => 'diary_entry', :collection => @entries %>
<% else %>
<%= render :partial => 'diary_list_entry', :collection => @entries %>
<%= render :partial => 'diary_index_entry', :collection => @entries %>
<% end %>
<div class="pagination">

View file

@ -7,13 +7,13 @@ xml.rss("version" => "2.0",
xml.channel do
xml.title @title
xml.description @description
xml.link url_for(:action => "list", :only_path => false)
xml.link url_for(:action => "index", :only_path => false)
xml.image do
xml.url image_url("mag_map-rss2.0.png")
xml.title @title
xml.width "100"
xml.height "100"
xml.link url_for(:action => "list", :only_path => false)
xml.link url_for(:action => "index", :only_path => false)
end
@entries.each do |entry|

View file

@ -1,7 +1,7 @@
<% content_for :heading do %>
<div id="userinformation" >
<%= user_image @entry.user %>
<h2><%= link_to t('.user_title', :user => h(@entry.user.display_name)), :action => :list %></h2>
<h2><%= link_to t('.user_title', :user => h(@entry.user.display_name)), :action => :index %></h2>
<p><%= rss_link_to :action => :rss, :display_name => @entry.user.display_name %></p>
</div>
<% end %>

View file

@ -18,7 +18,7 @@
<span class='count-number'><%= number_with_delimiter(current_user.traces.size) %></span>
</li>
<li>
<%= link_to t('.my diary'), :controller => 'diary_entry', :action => 'list', :display_name => current_user.display_name %>
<%= link_to t('.my diary'), :controller => 'diary_entry', :action => 'index', :display_name => current_user.display_name %>
<span class='count-number'><%= number_with_delimiter(current_user.diary_entries.size) %></span>
</li>
<li>
@ -66,7 +66,7 @@
<%= link_to t('.send message'), new_message_path(@user) %>
</li>
<li>
<%= link_to t('.diary'), :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
<%= link_to t('.diary'), :controller => 'diary_entry', :action => 'index', :display_name => @user.display_name %>
<span class='count-number'><%= number_with_delimiter(@user.diary_entries.size) %></span>
</li>
<li>

View file

@ -253,7 +253,7 @@ en:
new:
title: New Diary Entry
publish_button: "Publish"
list:
index:
title: "Users' diaries"
title_friends: "Friends' diaries"
title_nearby: "Nearby Users' diaries"

View file

@ -215,16 +215,16 @@ OpenStreetMap::Application.routes.draw do
# diary pages
match "/diary/new" => "diary_entry#new", :via => [:get, :post]
get "/diary/friends" => "diary_entry#list", :friends => true, :as => "friend_diaries"
get "/diary/nearby" => "diary_entry#list", :nearby => true, :as => "nearby_diaries"
get "/diary/friends" => "diary_entry#index", :friends => true, :as => "friend_diaries"
get "/diary/nearby" => "diary_entry#index", :nearby => true, :as => "nearby_diaries"
get "/user/:display_name/diary/rss" => "diary_entry#rss", :defaults => { :format => :rss }
get "/diary/:language/rss" => "diary_entry#rss", :defaults => { :format => :rss }
get "/diary/rss" => "diary_entry#rss", :defaults => { :format => :rss }
get "/user/:display_name/diary/comments/:page" => "diary_entry#comments", :page => /[1-9][0-9]*/
get "/user/:display_name/diary/comments/" => "diary_entry#comments"
get "/user/:display_name/diary" => "diary_entry#list"
get "/diary/:language" => "diary_entry#list"
get "/diary" => "diary_entry#list"
get "/user/:display_name/diary" => "diary_entry#index"
get "/diary/:language" => "diary_entry#index"
get "/diary" => "diary_entry#index"
get "/user/:display_name/diary/:id" => "diary_entry#show", :id => /\d+/, :as => :diary_entry
post "/user/:display_name/diary/:id/newcomment" => "diary_entry#comment", :id => /\d+/
match "/user/:display_name/diary/:id/edit" => "diary_entry#edit", :via => [:get, :post], :id => /\d+/

View file

@ -16,23 +16,23 @@ class DiaryEntryControllerTest < ActionController::TestCase
def test_routes
assert_routing(
{ :path => "/diary", :method => :get },
{ :controller => "diary_entry", :action => "list" }
{ :controller => "diary_entry", :action => "index" }
)
assert_routing(
{ :path => "/diary/language", :method => :get },
{ :controller => "diary_entry", :action => "list", :language => "language" }
{ :controller => "diary_entry", :action => "index", :language => "language" }
)
assert_routing(
{ :path => "/user/username/diary", :method => :get },
{ :controller => "diary_entry", :action => "list", :display_name => "username" }
{ :controller => "diary_entry", :action => "index", :display_name => "username" }
)
assert_routing(
{ :path => "/diary/friends", :method => :get },
{ :controller => "diary_entry", :action => "list", :friends => true }
{ :controller => "diary_entry", :action => "index", :friends => true }
)
assert_routing(
{ :path => "/diary/nearby", :method => :get },
{ :controller => "diary_entry", :action => "list", :nearby => true }
{ :controller => "diary_entry", :action => "index", :nearby => true }
)
assert_routing(
@ -170,7 +170,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
:session => { :user => user.id }
end
assert_response :redirect
assert_redirected_to :action => :list, :display_name => user.display_name
assert_redirected_to :action => :index, :display_name => user.display_name
entry = DiaryEntry.order(:id).last
assert_equal user.id, entry.user_id
assert_equal "New Title", entry.title
@ -198,7 +198,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
:session => { :user => user.id }
end
assert_response :redirect
assert_redirected_to :action => :list, :display_name => user.display_name
assert_redirected_to :action => :index, :display_name => user.display_name
entry = DiaryEntry.order(:id).last
assert_equal user.id, entry.user_id
assert_equal "New Title", entry.title
@ -227,7 +227,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
:session => { :user => user.id }
end
assert_response :redirect
assert_redirected_to :action => :list, :display_name => user.display_name
assert_redirected_to :action => :index, :display_name => user.display_name
entry = DiaryEntry.order(:id).last
assert_equal user.id, entry.user_id
assert_equal spammy_title, entry.title
@ -236,7 +236,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
assert_equal "suspended", User.find(user.id).status
# Follow the redirect
get :list,
get :index,
:params => { :display_name => user.display_name },
:session => { :user => user }
assert_response :redirect
@ -470,7 +470,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
assert_equal "suspended", User.find(other_user.id).status
# Follow the redirect
get :list,
get :index,
:params => { :display_name => user.display_name },
:session => { :user => other_user }
assert_response :redirect
@ -483,17 +483,17 @@ class DiaryEntryControllerTest < ActionController::TestCase
assert_select ".diary-comment", :count => 0
end
def test_list_all
def test_index_all
diary_entry = create(:diary_entry)
geo_entry = create(:diary_entry, :latitude => 51.50763, :longitude => -0.10781)
public_entry = create(:diary_entry, :user => create(:user))
# Try a list of all diary entries
get :list
check_diary_list diary_entry, geo_entry, public_entry
get :index
check_diary_index diary_entry, geo_entry, public_entry
end
def test_list_user
def test_index_user
user = create(:user)
other_user = create(:user)
@ -502,16 +502,16 @@ class DiaryEntryControllerTest < ActionController::TestCase
_other_entry = create(:diary_entry, :user => other_user)
# Try a list of diary entries for a valid user
get :list, :params => { :display_name => user.display_name }
check_diary_list diary_entry, geo_entry
get :index, :params => { :display_name => user.display_name }
check_diary_index diary_entry, geo_entry
# Try a list of diary entries for an invalid user
get :list, :params => { :display_name => "No Such User" }
get :index, :params => { :display_name => "No Such User" }
assert_response :not_found
assert_template "user/no_such_user"
end
def test_list_friends
def test_index_friends
user = create(:user)
other_user = create(:user)
friend = create(:friend, :befriender => user)
@ -519,36 +519,36 @@ class DiaryEntryControllerTest < ActionController::TestCase
_other_entry = create(:diary_entry, :user => other_user)
# Try a list of diary entries for your friends when not logged in
get :list, :params => { :friends => true }
get :index, :params => { :friends => true }
assert_response :redirect
assert_redirected_to :controller => :user, :action => :login, :referer => "/diary/friends"
# Try a list of diary entries for your friends when logged in
get :list, :params => { :friends => true }, :session => { :user => user }
check_diary_list diary_entry
get :list, :params => { :friends => true }, :session => { :user => other_user }
check_diary_list
get :index, :params => { :friends => true }, :session => { :user => user }
check_diary_index diary_entry
get :index, :params => { :friends => true }, :session => { :user => other_user }
check_diary_index
end
def test_list_nearby
def test_index_nearby
user = create(:user, :home_lat => 12, :home_lon => 12)
nearby_user = create(:user, :home_lat => 11.9, :home_lon => 12.1)
diary_entry = create(:diary_entry, :user => user)
# Try a list of diary entries for nearby users when not logged in
get :list, :params => { :nearby => true }
get :index, :params => { :nearby => true }
assert_response :redirect
assert_redirected_to :controller => :user, :action => :login, :referer => "/diary/nearby"
# Try a list of diary entries for nearby users when logged in
get :list, :params => { :nearby => true }, :session => { :user => nearby_user }
check_diary_list diary_entry
get :list, :params => { :nearby => true }, :session => { :user => user }
check_diary_list
get :index, :params => { :nearby => true }, :session => { :user => nearby_user }
check_diary_index diary_entry
get :index, :params => { :nearby => true }, :session => { :user => user }
check_diary_index
end
def test_list_language
def test_index_language
create(:language, :code => "de")
create(:language, :code => "sl")
diary_entry_en = create(:diary_entry, :language_code => "en")
@ -556,29 +556,29 @@ class DiaryEntryControllerTest < ActionController::TestCase
diary_entry_de = create(:diary_entry, :language_code => "de")
# Try a list of diary entries in english
get :list, :params => { :language => "en" }
check_diary_list diary_entry_en, diary_entry_en2
get :index, :params => { :language => "en" }
check_diary_index diary_entry_en, diary_entry_en2
# Try a list of diary entries in german
get :list, :params => { :language => "de" }
check_diary_list diary_entry_de
get :index, :params => { :language => "de" }
check_diary_index diary_entry_de
# Try a list of diary entries in slovenian
get :list, :params => { :language => "sl" }
check_diary_list
get :index, :params => { :language => "sl" }
check_diary_index
end
def test_list_paged
def test_index_paged
# Create several pages worth of diary entries
create_list(:diary_entry, 50)
# Try and get the list
get :list
# Try and get the index
get :index
assert_response :success
assert_select "div.diary_post", :count => 20
# Try and get the second page
get :list, :params => { :page => 2 }
get :index, :params => { :page => 2 }
assert_response :success
assert_select "div.diary_post", :count => 20
end
@ -728,7 +728,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
:params => { :display_name => user.display_name, :id => diary_entry.id },
:session => { :user => create(:administrator_user) }
assert_response :redirect
assert_redirected_to :action => :list, :display_name => user.display_name
assert_redirected_to :action => :index, :display_name => user.display_name
assert_equal false, DiaryEntry.find(diary_entry.id).visible
end
@ -881,9 +881,9 @@ class DiaryEntryControllerTest < ActionController::TestCase
private
def check_diary_list(*entries)
def check_diary_index(*entries)
assert_response :success
assert_template "list"
assert_template "index"
assert_no_missing_translations
assert_select "div.diary_post", entries.count