app/controllers/faalis/api/v1/conversations_controller.rb in faalis-0.11.1 vs app/controllers/faalis/api/v1/conversations_controller.rb in faalis-0.14.0
- old
+ new
@@ -4,34 +4,52 @@
class API::V1::ConversationsController < APIController
before_filter :authenticate_user!
helper_method :mailbox, :conversation
def create
- recipient_emails = conversation_params(:recipients).split(',')
+ #binding.pry
+ recipient_emails = message_params(:recipients).split(',')
recipients = User.where(email: recipient_emails).all
@conversation = current_user.
- send_message(recipients, *conversation_params(:body, :subject)).conversation
+ send_message(recipients, *message_params(:body, :subject)).conversation
respond_with(@conversation)
end
def reply
- current_user.reply_to_conversation(conversation, *message_params(:body, :subject))
- respond_to conversation
+ @conversation = current_user.reply_to_conversation(conversation, *message_params(:body, :subject))
+ respond_with(@conversation)
end
def trash
- conversation.move_to_trash(current_user)
- redirect_to :conversations
+ ids = params[:id].split(",")
+ ids.each do |id|
+ conversation = current_user.mailbox.conversations.find(params[:id])
+ conversation.move_to_trash(current_user)
+ end
end
def untrash
- conversation.untrash(current_user)
- redirect_to :conversations
+ ids = params[:id].split(",")
+ ids.each do |id|
+ conversation = current_user.mailbox.conversations.find(params[:id])
+ conversation.untrash(current_user)
+ end
+
end
+ def destroy
+ ids = params[:id].split(",")
+ ids.each do |id|
+ conversation = current_user.mailbox.conversations.find(params[:id])
+ current_user.mark_as_deleted conversation
+ #conversation.mark_as_deleted(current_user)
+ end
+ respond_with
+ end
+
def index
if params[:box] == "inbox"
box = "inbox"
elsif params[:box] == "sentbox"
box = "sentbox"
@@ -39,41 +57,50 @@
box = "trash"
else
respond_to do |f|
f.any { head :not_found }
end
- return
+ returng
end
# puts current_user.mailbox.sent.to_json
- @mailbox ||= current_user.mailbox.send(box.to_sym)
+ @mailbox ||= current_user.mailbox.send(box.to_sym)
respond_with @mailbox
end
def show
- #def conversation
+ #def conversation
@conversations ||= current_user.mailbox.conversations.find(params[:id])
- #binding.pry
-# @conversation = {}
-# conversations.each do |conversation|
-# tmp = {
-# :receipts => conversation.receipts,
-# :body => conversation.messages.body,
-# :is_read => conversation.is_read,
-# :trashed => conversation.trashed,
-# :deleted => conversation.deleted,
-# :recipients => conversation.recipients
-# }
- #unless @conversation.include? conversation.id
- # @conversation[conversation.id] = tmp
- #end
+ @current_user = current_user
+ # @conversation = {}
+ # conversations.each do |conversation|
+ # tmp = {
+ # :receipts => conversation.receipts,
+ # :body => conversation.messages.body,
+ # :is_read => conversation.is_read,
+ # :trashed => conversation.trashed,
+ # :deleted => conversation.deleted,
+ # :recipients => conversation.recipients
+ # }
+ #unless @conversation.include? conversation.id
+ # @conversation[conversation.id] = tmp
#end
+ #end
end
private
+
+ def mailbox
+ @mailbox ||= current_user.mailbox
+ end
+
+
+ def conversation
+ @conversation ||= mailbox.conversations.find(params[:id])
+ end
+
def conversation_params(*keys)
- #binding.pry
fetch_params(:conversation, *keys)
end
def message_params(*keys)
fetch_params(:message, *keys)
@@ -81,10 +108,11 @@
def fetch_params(key, *subkeys)
params[key].instance_eval do
case subkeys.size
when 0 then self
- when 1 then self[subkeys.first]
+ when 1 then
+ self[subkeys.first]
else subkeys.map{|k| self[k] }
end
end
end
end