Commit avar's patch (+ fix for user not found) to change message sending URL to be by user name rather than id.
(Closes #1920)
This commit is contained in:
parent
f1d4bd9124
commit
98a86836d2
4 changed files with 21 additions and 19 deletions
|
@ -10,27 +10,29 @@ class MessageController < ApplicationController
|
|||
# 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
|
||||
# clicks send.
|
||||
# The user_id param is the id of the user that the message is being sent to.
|
||||
# The display_name param is the display name of the user that the message is being sent to.
|
||||
def new
|
||||
@title = t 'message.new.title'
|
||||
@to_user = User.find(params[:user_id])
|
||||
if params[:message]
|
||||
@message = Message.new(params[:message])
|
||||
@message.to_user_id = @to_user.id
|
||||
@message.from_user_id = @user.id
|
||||
@message.sent_on = Time.now.getutc
|
||||
|
||||
if @message.save
|
||||
flash[:notice] = t 'message.new.message_sent'
|
||||
Notifier::deliver_message_notification(@message)
|
||||
redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name
|
||||
@to_user = User.find_by_display_name(params[:display_name])
|
||||
if @to_user
|
||||
if params[:message]
|
||||
@message = Message.new(params[:message])
|
||||
@message.to_user_id = @to_user.id
|
||||
@message.from_user_id = @user.id
|
||||
@message.sent_on = Time.now.getutc
|
||||
|
||||
if @message.save
|
||||
flash[:notice] = t 'message.new.message_sent'
|
||||
Notifier::deliver_message_notification(@message)
|
||||
redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name
|
||||
end
|
||||
else
|
||||
@title = params[:title]
|
||||
end
|
||||
else
|
||||
@title = params[:title]
|
||||
@title = t'message.no_such_user.title'
|
||||
render :action => 'no_such_user', :status => :not_found
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
@title = t'message.no_such_user.title'
|
||||
render :action => 'no_such_user', :status => :not_found
|
||||
end
|
||||
|
||||
# Allow the user to reply to another message.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<%= error_messages_for 'message' %>
|
||||
|
||||
<% form_for :message, :url => { :action => "new", :user_id => @to_user.id } do |f| %>
|
||||
<% form_for :message, :url => { :action => "new", :display_name => @to_user.display_name } do |f| %>
|
||||
<table>
|
||||
<tr valign="top">
|
||||
<th><%= t'message.new.subject' %></th>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
| <%= link_to t('user.view.my settings'), :controller => 'user', :action => 'account', :display_name => @user.display_name %>
|
||||
<% else %>
|
||||
<!-- Displaying another user's profile page -->
|
||||
<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :user_id => @this_user.id %>
|
||||
<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => @this_user.display_name %>
|
||||
| <%= link_to t('user.view.diary'), :controller => 'diary_entry', :action => 'list', :display_name => @this_user.display_name %>
|
||||
| <%= link_to t('user.view.edits'), :controller => 'changeset', :action => 'list_user', :display_name => @this_user.display_name %>
|
||||
| <%= link_to t('user.view.traces'), :controller => 'trace', :action => 'view', :display_name => @this_user.display_name %>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue