]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/messages_controller.rb
Refactor messages show action to be resourceful
[rails.git] / app / controllers / messages_controller.rb
index e1b6d00512e319f6beb88965e1b58941a3702e62..651a6703638ad1569098db821dca75ceb4c7c439 100644 (file)
@@ -6,8 +6,8 @@ class MessagesController < ApplicationController
   before_action :require_user
   before_action :lookup_user, :only => [:new]
   before_action :check_database_readable
-  before_action :check_database_writable, :only => [:new, :reply, :mark]
-  before_action :allow_thirdparty_images, :only => [:new, :read]
+  before_action :check_database_writable, :only => [:new, :reply, :mark, :destroy]
+  before_action :allow_thirdparty_images, :only => [:new, :show]
 
   # 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
@@ -26,7 +26,7 @@ class MessagesController < ApplicationController
         if @message.save
           flash[:notice] = t ".message_sent"
           Notifier.message_notification(@message).deliver_now
-          redirect_to :action => "inbox", :display_name => current_user.display_name
+          redirect_to :action => :inbox
         end
       end
     end
@@ -61,9 +61,9 @@ class MessagesController < ApplicationController
   end
 
   # Show a message
-  def read
+  def show
     @title = t ".title"
-    @message = Message.find(params[:message_id])
+    @message = Message.find(params[:id])
 
     if @message.recipient == current_user || @message.sender == current_user
       @message.message_read = true if @message.recipient == current_user
@@ -80,19 +80,11 @@ class MessagesController < ApplicationController
   # Display the list of messages that have been sent to the user.
   def inbox
     @title = t ".title"
-    if current_user && params[:display_name] == current_user.display_name
-    else
-      redirect_to :action => "inbox", :display_name => current_user.display_name
-    end
   end
 
   # Display the list of messages that the user has sent to other users.
   def outbox
     @title = t ".title"
-    if current_user && params[:display_name] == current_user.display_name
-    else
-      redirect_to :action => "outbox", :display_name => current_user.display_name
-    end
   end
 
   # Set the message as being read or unread.
@@ -108,7 +100,7 @@ class MessagesController < ApplicationController
     @message.message_read = message_read
     if @message.save && !request.xhr?
       flash[:notice] = notice
-      redirect_to :action => "inbox", :display_name => current_user.display_name
+      redirect_to :action => :inbox
     end
   rescue ActiveRecord::RecordNotFound
     @title = t "message.no_such_message.title"
@@ -126,7 +118,7 @@ class MessagesController < ApplicationController
       if params[:referer]
         redirect_to params[:referer]
       else
-        redirect_to :action => "inbox", :display_name => current_user.display_name
+        redirect_to :action => :inbox
       end
     end
   rescue ActiveRecord::RecordNotFound