From: Andy Allan Date: Tue, 15 May 2018 10:25:54 +0000 (+0800) Subject: Rename messages#read to #show X-Git-Tag: live~2996^2~1 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/4ec70f79944e3b946477c25d541ff35de4ddb0d1 Rename messages#read to #show Also rename the named path, to align with resourceful routing --- diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index e1b6d0051..e59642fc7 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -7,7 +7,7 @@ class MessagesController < ApplicationController before_action :lookup_user, :only => [:new] before_action :check_database_readable before_action :check_database_writable, :only => [:new, :reply, :mark] - before_action :allow_thirdparty_images, :only => [:new, :read] + before_action :allow_thirdparty_images, :only => [:new, :show] # Allow the user to write a new message to another user. This action also # deals with the sending of that message to the other user when the user @@ -61,7 +61,7 @@ class MessagesController < ApplicationController end # Show a message - def read + def show @title = t ".title" @message = Message.find(params[:message_id]) diff --git a/app/models/notifier.rb b/app/models/notifier.rb index 0944c3e1d..d08bedd8c 100644 --- a/app/models/notifier.rb +++ b/app/models/notifier.rb @@ -69,7 +69,7 @@ class Notifier < ActionMailer::Base @from_user = message.sender.display_name @text = message.body @title = message.title - @readurl = read_message_url(message) + @readurl = message_url(message) @replyurl = reply_message_url(message) @author = @from_user diff --git a/app/views/messages/_message_summary.html.erb b/app/views/messages/_message_summary.html.erb index 2132f0d08..1e4cd8934 100644 --- a/app/views/messages/_message_summary.html.erb +++ b/app/views/messages/_message_summary.html.erb @@ -1,6 +1,6 @@ "> <%= link_to h(message_summary.sender.display_name), user_path(message_summary.sender) %> - <%= link_to h(message_summary.title), read_message_path(message_summary) %> + <%= link_to h(message_summary.title), message_path(message_summary) %> <%= l message_summary.sent_on, :format => :friendly %> <%= button_to t('.unread_button'), mark_message_path(message_summary, :mark => 'unread'), { :remote => true } %> <%= button_to t('.read_button'), mark_message_path(message_summary, :mark => 'read'), { :remote => true } %> diff --git a/app/views/messages/_sent_message_summary.html.erb b/app/views/messages/_sent_message_summary.html.erb index cd2839b01..5a64ea8db 100644 --- a/app/views/messages/_sent_message_summary.html.erb +++ b/app/views/messages/_sent_message_summary.html.erb @@ -1,6 +1,6 @@ <%= link_to h(sent_message_summary.recipient.display_name), user_path(sent_message_summary.recipient) %> - <%= link_to h(sent_message_summary.title), read_message_path(sent_message_summary) %> + <%= link_to h(sent_message_summary.title), message_path(sent_message_summary) %> <%= l sent_message_summary.sent_on, :format => :friendly %> <%= button_to t('.destroy_button'), destroy_message_path(sent_message_summary, :referer => request.fullpath) %> diff --git a/app/views/messages/read.html.erb b/app/views/messages/show.html.erb similarity index 100% rename from app/views/messages/read.html.erb rename to app/views/messages/show.html.erb diff --git a/config/locales/en.yml b/config/locales/en.yml index 908d3755d..e948ca37e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1107,7 +1107,7 @@ en: people_mapping_nearby: "people mapping nearby" reply: wrong_user: "You are logged in as `%{user}' but the message you have asked to reply to was not sent to that user. Please login as the correct user in order to reply." - read: + show: title: "Read message" from: "From" subject: "Subject" diff --git a/config/routes.rb b/config/routes.rb index 171eb8ed5..d750d5035 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -264,7 +264,7 @@ OpenStreetMap::Application.routes.draw do get "/user/:display_name/inbox" => "messages#inbox", :as => "inbox" get "/user/:display_name/outbox" => "messages#outbox", :as => "outbox" match "/message/new/:display_name" => "messages#new", :via => [:get, :post], :as => "new_message" - get "/message/read/:message_id" => "messages#read", :as => "read_message" + get "/message/read/:message_id" => "messages#show", :as => "message" post "/message/mark/:message_id" => "messages#mark", :as => "mark_message" get "/message/reply/:message_id" => "messages#reply", :as => "reply_message" post "/message/delete/:message_id" => "messages#destroy", :as => "destroy_message" diff --git a/test/controllers/messages_controller_test.rb b/test/controllers/messages_controller_test.rb index a4f504ebc..b7bc3bad0 100644 --- a/test/controllers/messages_controller_test.rb +++ b/test/controllers/messages_controller_test.rb @@ -22,7 +22,7 @@ class MessagesControllerTest < ActionController::TestCase ) assert_routing( { :path => "/message/read/1", :method => :get }, - { :controller => "messages", :action => "read", :message_id => "1" } + { :controller => "messages", :action => "show", :message_id => "1" } ) assert_routing( { :path => "/message/mark/1", :method => :post }, @@ -261,50 +261,50 @@ class MessagesControllerTest < ActionController::TestCase end ## - # test the read action - def test_read + # test the show action + def test_show user = create(:user) recipient_user = create(:user) other_user = create(:user) unread_message = create(:message, :unread, :sender => user, :recipient => recipient_user) - # Check that the read message page requires us to login - get :read, :params => { :message_id => unread_message.id } - assert_redirected_to login_path(:referer => read_message_path(:message_id => unread_message.id)) + # Check that the show message page requires us to login + get :show, :params => { :message_id => unread_message.id } + assert_redirected_to login_path(:referer => message_path(:message_id => unread_message.id)) # Login as the wrong user session[:user] = other_user.id # Check that we can't read the message - get :read, :params => { :message_id => unread_message.id } - assert_redirected_to login_path(:referer => read_message_path(:message_id => unread_message.id)) + get :show, :params => { :message_id => unread_message.id } + assert_redirected_to login_path(:referer => message_path(:message_id => unread_message.id)) assert_equal "You are logged in as `#{other_user.display_name}' but the message you have asked to read was not sent by or to that user. Please login as the correct user in order to read it.", flash[:notice] # Login as the message sender session[:user] = user.id # Check that the message sender can read the message - get :read, :params => { :message_id => unread_message.id } + get :show, :params => { :message_id => unread_message.id } assert_response :success - assert_template "read" + assert_template "show" assert_equal false, Message.find(unread_message.id).message_read # Login as the message recipient session[:user] = recipient_user.id # Check that the message recipient can read the message - get :read, :params => { :message_id => unread_message.id } + get :show, :params => { :message_id => unread_message.id } assert_response :success - assert_template "read" + assert_template "show" assert_equal true, Message.find(unread_message.id).message_read # Asking to read a message with no ID should fail assert_raise ActionController::UrlGenerationError do - get :read + get :show end # Asking to read a message with a bogus ID should fail - get :read, :params => { :message_id => 99999 } + get :show, :params => { :message_id => 99999 } assert_response :not_found assert_template "no_such_message" end