diff --git a/Gemfile b/Gemfile
index 253dec3..b07d1c3 100755
--- a/Gemfile
+++ b/Gemfile
@@ -20,6 +20,8 @@ group :development do
gem 'rack-livereload'
gem 'rb-fsevent'
gem 'travis-lint'
+ gem 'better_errors'
+ gem 'binding_of_caller'
end
gem 'gauntlt'
diff --git a/Gemfile.lock b/Gemfile.lock
index 8bf624c..66398cd 100755
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -35,6 +35,11 @@ GEM
cucumber (>= 1.1.1)
rspec-expectations (>= 2.7.0)
bcrypt-ruby (3.0.1)
+ better_errors (1.0.1)
+ coderay (>= 1.0.0)
+ erubis (>= 2.6.6)
+ binding_of_caller (0.7.2)
+ debug_inspector (>= 0.0.1)
brakeman (1.9.5)
erubis (~> 2.6)
fastercsv (~> 1.5)
@@ -72,6 +77,7 @@ GEM
gherkin (~> 2.12.0)
multi_json (~> 1.3)
database_cleaner (1.0.1)
+ debug_inspector (0.0.2)
diff-lcs (1.2.4)
em-websocket (0.5.0)
eventmachine (>= 0.12.9)
@@ -247,6 +253,8 @@ PLATFORMS
DEPENDENCIES
aruba
bcrypt-ruby
+ better_errors
+ binding_of_caller
brakeman
bundler-audit
capybara
diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb
new file mode 100644
index 0000000..95fd22d
--- /dev/null
+++ b/app/controllers/messages_controller.rb
@@ -0,0 +1,40 @@
+class MessagesController < ApplicationController
+
+ def index
+ @messages = current_user.messages
+ end
+
+ def show
+ @message = Message.where(:id => params[:id]).first
+ end
+
+ 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
+ @message = Message.new
+ 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/helpers/messages_helper.rb b/app/helpers/messages_helper.rb
new file mode 100644
index 0000000..f1bca9f
--- /dev/null
+++ b/app/helpers/messages_helper.rb
@@ -0,0 +1,2 @@
+module MessagesHelper
+end
diff --git a/app/models/message.rb b/app/models/message.rb
new file mode 100644
index 0000000..7894ae9
--- /dev/null
+++ b/app/models/message.rb
@@ -0,0 +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 0e982e2..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 :messages, :foreign_key => :receiver_id, :primary_key => :user_id, :dependent => :destroy
def build_benefits_data
@@ -26,13 +26,13 @@ class User < ActiveRecord::Base
build_work_info(POPULATE_WORK_INFO.shuffle.first)
performance.build(POPULATE_PERFORMANCE.shuffle.first)
end
-
- private
def full_name
"#{self.first_name} #{self.last_name}"
end
+private
+
def self.authenticate(email, password)
auth = nil
user = find_by_email(email)
diff --git a/app/views/layouts/shared/_sidebar.html.erb b/app/views/layouts/shared/_sidebar.html.erb
index bc6e77a..1add2e3 100755
--- a/app/views/layouts/shared/_sidebar.html.erb
+++ b/app/views/layouts/shared/_sidebar.html.erb
@@ -58,6 +58,14 @@
Performance
<% end %>
+
+ <%= link_to user_messages_path(:user_id => current_user.user_id) do %>
+
+
+
+ Messages
+ <% end %>
+
diff --git a/app/views/messages/index.html.erb b/app/views/messages/index.html.erb
new file mode 100644
index 0000000..c5b93ca
--- /dev/null
+++ b/app/views/messages/index.html.erb
@@ -0,0 +1,44 @@
+
+