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

This commit is contained in:
Tom Hughes 2018-05-14 20:14:56 +01:00
commit d14cf519fd
14 changed files with 33 additions and 33 deletions

View file

@ -1,4 +1,4 @@
class MessageController < ApplicationController class MessagesController < ApplicationController
layout "site" layout "site"
before_action :authorize_web before_action :authorize_web
@ -16,7 +16,7 @@ class MessageController < ApplicationController
def new def new
if request.post? if request.post?
if current_user.sent_messages.where("sent_on >= ?", Time.now.getutc - 1.hour).count >= MAX_MESSAGES_PER_HOUR if current_user.sent_messages.where("sent_on >= ?", Time.now.getutc - 1.hour).count >= MAX_MESSAGES_PER_HOUR
flash[:error] = t "message.new.limit_exceeded" flash[:error] = t ".limit_exceeded"
else else
@message = Message.new(message_params) @message = Message.new(message_params)
@message.recipient = @user @message.recipient = @user
@ -24,7 +24,7 @@ class MessageController < ApplicationController
@message.sent_on = Time.now.getutc @message.sent_on = Time.now.getutc
if @message.save if @message.save
flash[:notice] = t "message.new.message_sent" flash[:notice] = t ".message_sent"
Notifier.message_notification(@message).deliver_now Notifier.message_notification(@message).deliver_now
redirect_to :action => "inbox", :display_name => current_user.display_name redirect_to :action => "inbox", :display_name => current_user.display_name
end end
@ -32,7 +32,7 @@ class MessageController < ApplicationController
end end
@message ||= Message.new(message_params.merge(:recipient => @user)) @message ||= Message.new(message_params.merge(:recipient => @user))
@title = t "message.new.title" @title = t ".title"
end end
# Allow the user to reply to another message. # Allow the user to reply to another message.
@ -52,7 +52,7 @@ class MessageController < ApplicationController
render :action => "new" render :action => "new"
else else
flash[:notice] = t "message.reply.wrong_user", :user => current_user.display_name flash[:notice] = t ".wrong_user", :user => current_user.display_name
redirect_to :controller => "user", :action => "login", :referer => request.fullpath redirect_to :controller => "user", :action => "login", :referer => request.fullpath
end end
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
@ -62,14 +62,14 @@ class MessageController < ApplicationController
# Show a message # Show a message
def read def read
@title = t "message.read.title" @title = t ".title"
@message = Message.find(params[:message_id]) @message = Message.find(params[:message_id])
if @message.recipient == current_user || @message.sender == current_user if @message.recipient == current_user || @message.sender == current_user
@message.message_read = true if @message.recipient == current_user @message.message_read = true if @message.recipient == current_user
@message.save @message.save
else else
flash[:notice] = t "message.read.wrong_user", :user => current_user.display_name flash[:notice] = t ".wrong_user", :user => current_user.display_name
redirect_to :controller => "user", :action => "login", :referer => request.fullpath redirect_to :controller => "user", :action => "login", :referer => request.fullpath
end end
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
@ -79,7 +79,7 @@ class MessageController < ApplicationController
# Display the list of messages that have been sent to the user. # Display the list of messages that have been sent to the user.
def inbox def inbox
@title = t "message.inbox.title" @title = t ".title"
if current_user && params[:display_name] == current_user.display_name if current_user && params[:display_name] == current_user.display_name
else else
redirect_to :action => "inbox", :display_name => current_user.display_name redirect_to :action => "inbox", :display_name => current_user.display_name
@ -88,7 +88,7 @@ class MessageController < ApplicationController
# Display the list of messages that the user has sent to other users. # Display the list of messages that the user has sent to other users.
def outbox def outbox
@title = t "message.outbox.title" @title = t ".title"
if current_user && params[:display_name] == current_user.display_name if current_user && params[:display_name] == current_user.display_name
else else
redirect_to :action => "outbox", :display_name => current_user.display_name redirect_to :action => "outbox", :display_name => current_user.display_name
@ -100,10 +100,10 @@ class MessageController < ApplicationController
@message = Message.where("to_user_id = ? OR from_user_id = ?", current_user.id, current_user.id).find(params[:message_id]) @message = Message.where("to_user_id = ? OR from_user_id = ?", current_user.id, current_user.id).find(params[:message_id])
if params[:mark] == "unread" if params[:mark] == "unread"
message_read = false message_read = false
notice = t "message.mark.as_unread" notice = t ".as_unread"
else else
message_read = true message_read = true
notice = t "message.mark.as_read" notice = t ".as_read"
end end
@message.message_read = message_read @message.message_read = message_read
if @message.save && !request.xhr? if @message.save && !request.xhr?
@ -121,7 +121,7 @@ class MessageController < ApplicationController
@message.from_user_visible = false if @message.sender == current_user @message.from_user_visible = false if @message.sender == current_user
@message.to_user_visible = false if @message.recipient == current_user @message.to_user_visible = false if @message.recipient == current_user
if @message.save && !request.xhr? if @message.save && !request.xhr?
flash[:notice] = t "message.delete.deleted" flash[:notice] = t ".deleted"
if params[:referer] if params[:referer]
redirect_to params[:referer] redirect_to params[:referer]

View file

@ -1,8 +1,8 @@
<p id="inbox-count"> <p id="inbox-count">
<%= t "message.inbox.messages", <%= t "messages.inbox.messages",
:new_messages => t("message.inbox.new_messages", :new_messages => t("messages.inbox.new_messages",
:count => current_user.new_messages.size), :count => current_user.new_messages.size),
:old_messages => t("message.inbox.old_messages", :old_messages => t("messages.inbox.old_messages",
:count => current_user.messages.size - current_user.new_messages.size) :count => current_user.messages.size - current_user.new_messages.size)
%> %>
</p> </p>

View file

@ -1057,7 +1057,7 @@ en:
partial_changeset_without_comment: "without comment" partial_changeset_without_comment: "without comment"
details: "More details about the changeset can be found at %{url}." details: "More details about the changeset can be found at %{url}."
unsubscribe: 'To unsubscribe from updates to this changeset, visit %{url} and click "Unsubscribe".' unsubscribe: 'To unsubscribe from updates to this changeset, visit %{url} and click "Unsubscribe".'
message: messages:
inbox: inbox:
title: "Inbox" title: "Inbox"
my_inbox: "My Inbox" my_inbox: "My Inbox"

View file

@ -261,13 +261,13 @@ OpenStreetMap::Application.routes.draw do
get "/export/embed" => "export#embed" get "/export/embed" => "export#embed"
# messages # messages
get "/user/:display_name/inbox" => "message#inbox", :as => "inbox" get "/user/:display_name/inbox" => "messages#inbox", :as => "inbox"
get "/user/:display_name/outbox" => "message#outbox", :as => "outbox" get "/user/:display_name/outbox" => "messages#outbox", :as => "outbox"
match "/message/new/:display_name" => "message#new", :via => [:get, :post], :as => "new_message" match "/message/new/:display_name" => "messages#new", :via => [:get, :post], :as => "new_message"
get "/message/read/:message_id" => "message#read", :as => "read_message" get "/message/read/:message_id" => "messages#read", :as => "read_message"
post "/message/mark/:message_id" => "message#mark", :as => "mark_message" post "/message/mark/:message_id" => "messages#mark", :as => "mark_message"
match "/message/reply/:message_id" => "message#reply", :via => [:get, :post], :as => "reply_message" match "/message/reply/:message_id" => "messages#reply", :via => [:get, :post], :as => "reply_message"
post "/message/delete/:message_id" => "message#delete", :as => "delete_message" post "/message/delete/:message_id" => "messages#delete", :as => "delete_message"
# oauth admin pages (i.e: for setting up new clients, etc...) # oauth admin pages (i.e: for setting up new clients, etc...)
scope "/user/:display_name" do scope "/user/:display_name" do

View file

@ -1,44 +1,44 @@
require "test_helper" require "test_helper"
class MessageControllerTest < ActionController::TestCase class MessagesControllerTest < ActionController::TestCase
## ##
# test all routes which lead to this controller # test all routes which lead to this controller
def test_routes def test_routes
assert_routing( assert_routing(
{ :path => "/user/username/inbox", :method => :get }, { :path => "/user/username/inbox", :method => :get },
{ :controller => "message", :action => "inbox", :display_name => "username" } { :controller => "messages", :action => "inbox", :display_name => "username" }
) )
assert_routing( assert_routing(
{ :path => "/user/username/outbox", :method => :get }, { :path => "/user/username/outbox", :method => :get },
{ :controller => "message", :action => "outbox", :display_name => "username" } { :controller => "messages", :action => "outbox", :display_name => "username" }
) )
assert_routing( assert_routing(
{ :path => "/message/new/username", :method => :get }, { :path => "/message/new/username", :method => :get },
{ :controller => "message", :action => "new", :display_name => "username" } { :controller => "messages", :action => "new", :display_name => "username" }
) )
assert_routing( assert_routing(
{ :path => "/message/new/username", :method => :post }, { :path => "/message/new/username", :method => :post },
{ :controller => "message", :action => "new", :display_name => "username" } { :controller => "messages", :action => "new", :display_name => "username" }
) )
assert_routing( assert_routing(
{ :path => "/message/read/1", :method => :get }, { :path => "/message/read/1", :method => :get },
{ :controller => "message", :action => "read", :message_id => "1" } { :controller => "messages", :action => "read", :message_id => "1" }
) )
assert_routing( assert_routing(
{ :path => "/message/mark/1", :method => :post }, { :path => "/message/mark/1", :method => :post },
{ :controller => "message", :action => "mark", :message_id => "1" } { :controller => "messages", :action => "mark", :message_id => "1" }
) )
assert_routing( assert_routing(
{ :path => "/message/reply/1", :method => :get }, { :path => "/message/reply/1", :method => :get },
{ :controller => "message", :action => "reply", :message_id => "1" } { :controller => "messages", :action => "reply", :message_id => "1" }
) )
assert_routing( assert_routing(
{ :path => "/message/reply/1", :method => :post }, { :path => "/message/reply/1", :method => :post },
{ :controller => "message", :action => "reply", :message_id => "1" } { :controller => "messages", :action => "reply", :message_id => "1" }
) )
assert_routing( assert_routing(
{ :path => "/message/delete/1", :method => :post }, { :path => "/message/delete/1", :method => :post },
{ :controller => "message", :action => "delete", :message_id => "1" } { :controller => "messages", :action => "delete", :message_id => "1" }
) )
end end