if @user.sent_messages.where("sent_on >= ?", Time.now.getutc - 1.hour).count >= MAX_MESSAGES_PER_HOUR
flash[:error] = t 'message.new.limit_exceeded'
else
- @message = Message.new(params[:message])
+ @message = Message.new(message_params)
@message.to_user_id = @this_user.id
@message.from_user_id = @user.id
@message.sent_on = Time.now.getutc
end
end
else
+ @message = Message.new(:recipient => @this_user)
@title = t 'message.new.title'
end
end
if message.to_user_id == @user.id then
message.update_attribute(:message_read, true)
- @body = "On #{message.sent_on} #{message.sender.display_name} wrote:\n\n#{message.body.gsub(/^/, '> ')}"
- @title = @subject = "Re: #{message.title.sub(/^Re:\s*/, '')}"
- @this_user = User.find(message.from_user_id)
+ @message = Message.new(
+ :recipient => message.sender,
+ :title => "Re: #{message.title.sub(/^Re:\s*/, '')}",
+ :body => "On #{message.sent_on} #{message.sender.display_name} wrote:\n\n#{message.body.gsub(/^/, '> ')}",
+ )
+
+ @title = @message.title
render :action => 'new'
else
@title = t'message.no_such_message.title'
render :action => 'no_such_message', :status => :not_found
end
+private
+ ##
+ # return permitted message parameters
+ def message_params
+ params.require(:message).permit(:title, :body)
+ end
end