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 @@
- Messages for <%= current_user.full_name %> + Messages for <%= current_user.full_name %> +
- - + + + - <% @messages.each do |message| %> - - + <% if @messages.empty? %> + + <% end %> + <% @messages.each do |message| %> + + + <% end %> @@ -32,140 +39,6 @@ - - - - -
-

- © BlackForest 2013 -

-
- - - - - - - - - \ No newline at end of file + + + \ No newline at end of file diff --git a/app/views/messages/new.html.erb b/app/views/messages/new.html.erb new file mode 100644 index 0000000..a1d002a --- /dev/null +++ b/app/views/messages/new.html.erb @@ -0,0 +1,88 @@ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+
+ New Message +
+
+
+ <%= form_for @message, :url => user_messages_path, :method => :post, :html => {:id => "send_message"} do |f|%> + <%= f.hidden_field :creator_id, :value => current_user.id %> + <%= f.hidden_field :read, :value => '0' %> +
+ <%= f.label "To:", nil, {:class => "control-label"}%> + <%= f.select(:receiver_id, options_from_collection_for_select(User.all, :id, :full_name)) %> +
+ +
+ <%= f.label :message, nil, {:class => "control-label"}%> + <%= f.text_area :message, {:class => "span12"} %> +
+ +
+ <%= f.submit "Submit", {:id => 'submit_button', :class => "btn btn-info pull-right"} %> +
+ +
+ <% end %> +
+
+
+
+ +<%= javascript_include_tag ('validation.js')%> + + + + + + diff --git a/app/views/messages/show.html.erb b/app/views/messages/show.html.erb new file mode 100644 index 0000000..5bdb6af --- /dev/null +++ b/app/views/messages/show.html.erb @@ -0,0 +1,171 @@ +
+
+
+
+
+
+
+ Messages for <%= current_user.full_name %> +
+
+
+
From:DateFrom:Date MessageActions
<%= message.creator_id %><%= message.created_at %><%= "No messages!" %><%= message.creator_name %><%= message.created_at.to_date %> <%= message.message %><%= link_to "Details", user_message_path(:id => message.id), {:class => "btn btn-info pull-left"}%> + <%= link_to "Delete", user_message_path(:id => message.id), {:method => 'delete', :class => "btn btn-danger pull-left"}%>
+ + + + + + + + + + + + + + + + +
From:DateMessageActions
<%= @message.creator_name %><%= @message.created_at.to_date %><%= @message.message %><%= link_to "Delete", user_message_path, {:id => "@message.id", :method => 'delete', :class => "btn btn-danger pull-left"}%>
+
+
+ + + + + + + + + + + + + + + + + \ No newline at end of file