diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 84d235f..95fd22d 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -1,14 +1,22 @@ class MessagesController < ApplicationController def index - @messages = Message.where(:receiver_id => current_user.id) + @messages = current_user.messages end def show - @message = Message.where(:id => params[:id]) + @message = Message.where(:id => params[:id]).first end - def delete + def destroy + message = Message.where(:id => params[:id]).first + + if message.destroy + flash[:success] = "Your message has been deleted." + redirect_to user_messages_path(:user_id => current_user.user_id) + else + flash[:error] = "Could not delete message." + end end def new @@ -16,6 +24,17 @@ class MessagesController < ApplicationController end def create + if Message.create(params[:message]) + respond_to do |format| + format.html { redirect_to user_messages_path(:user_id => current_user.user_id) } + format.json { render :json => {:msg => "success"} } + end + else + respond_to do |format| + format.html { redirect_to user_messages_path } + format.json { render :json => {:msg => "failure"} } + end + end end end \ No newline at end of file diff --git a/app/models/message.rb b/app/models/message.rb index e624e63..7894ae9 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -1,5 +1,10 @@ class Message < ActiveRecord::Base belongs_to :user attr_accessible :creator_id, :message, :read, :receiver_id - + validates_presence_of :creator_id, :receiver_id, :message + + def creator_name + creator = User.where(:id => self.creator_id).first + creator.full_name + end end \ No newline at end of file diff --git a/app/models/user.rb b/app/models/user.rb index ed1fc07..58e93b2 100755 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -17,7 +17,7 @@ class User < ActiveRecord::Base has_one :paid_time_off, :foreign_key => :user_id, :primary_key => :user_id, :dependent => :destroy has_one :work_info, :foreign_key => :user_id, :primary_key => :user_id, :dependent => :destroy has_many :performance, :foreign_key => :user_id, :primary_key => :user_id, :dependent => :destroy - has_many :message, :foreign_key => :receiver_id, :dependent => :destroy + has_many :messages, :foreign_key => :receiver_id, :primary_key => :user_id, :dependent => :destroy def build_benefits_data diff --git a/app/views/messages/index.html.erb b/app/views/messages/index.html.erb index 2fbf074..c5b93ca 100644 --- a/app/views/messages/index.html.erb +++ b/app/views/messages/index.html.erb @@ -5,24 +5,31 @@