Add message threads #394
This new view sorts the messages by threads based on the reply_to. Now we store only the message which started a new thread in the reply_to field to avoid recursive queries.
This commit is contained in:
parent
d56828fa4d
commit
8ac1471a89
12 changed files with 180 additions and 0 deletions
|
|
@ -0,0 +1,12 @@
|
|||
class MessageThreadsController < ApplicationController
|
||||
|
||||
before_filter -> { require_plugin_enabled FoodsoftMessages }
|
||||
|
||||
def index
|
||||
@message_threads = Message.pub.threads.page(params[:page]).per(@per_page).order(created_at: :desc).includes(:sender)
|
||||
end
|
||||
|
||||
def show
|
||||
@messages = Message.thread(params[:id]).order(:created_at)
|
||||
end
|
||||
end
|
||||
|
|
@ -13,6 +13,9 @@ class MessagesController < ApplicationController
|
|||
|
||||
if @message.reply_to
|
||||
original_message = Message.find(@message.reply_to)
|
||||
if original_message.reply_to
|
||||
@message.reply_to = original_message.reply_to
|
||||
end
|
||||
if original_message.is_readable_for?(current_user)
|
||||
@message.add_recipients [original_message.sender]
|
||||
@message.group_id = original_message.group_id
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue