diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb new file mode 100644 index 0000000..84d235f --- /dev/null +++ b/app/controllers/messages_controller.rb @@ -0,0 +1,21 @@ +class MessagesController < ApplicationController + + def index + @messages = Message.where(:receiver_id => current_user.id) + end + + def show + @message = Message.where(:id => params[:id]) + end + + def delete + end + + def new + @message = Message.new + end + + def create + 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..e624e63 --- /dev/null +++ b/app/models/message.rb @@ -0,0 +1,5 @@ +class Message < ActiveRecord::Base + belongs_to :user + attr_accessible :creator_id, :message, :read, :receiver_id + +end \ No newline at end of file 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..2fbf074 --- /dev/null +++ b/app/views/messages/index.html.erb @@ -0,0 +1,171 @@ +
    +
    +
    +
    +
    +
    +
    + Messages for <%= current_user.full_name %> +
    +
    +
    + + + + + + + + + <% @messages.each do |message| %> + + + + + + + + <% end %> +
    From:DateMessage
    <%= message.creator_id %><%= message.created_at %><%= message.message %>
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 7cac899..5770161 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -28,6 +28,9 @@ resources :users do end + resources :messages do + end + end get "download" => "benefit_forms#download" diff --git a/db/migrate/20131011180207_create_messages.rb b/db/migrate/20131011180207_create_messages.rb new file mode 100644 index 0000000..3657a81 --- /dev/null +++ b/db/migrate/20131011180207_create_messages.rb @@ -0,0 +1,12 @@ +class CreateMessages < ActiveRecord::Migration + def change + create_table :messages do |t| + t.integer :creator_id + t.integer :receiver_id + t.text :message + t.boolean :read + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index ba16163..2adcc14 100755 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,13 +11,22 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20130708202859) do +ActiveRecord::Schema.define(:version => 20131011180207) do create_table "benefits", :force => true do |t| t.datetime "created_at", :null => false t.datetime "updated_at", :null => false end + create_table "messages", :force => true do |t| + t.integer "creator_id" + t.integer "receiver_id" + t.text "message" + t.boolean "read" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + create_table "paid_time_offs", :force => true do |t| t.integer "user_id" t.integer "sick_days_taken" diff --git a/db/seeds.rb b/db/seeds.rb index 13cd4ae..b516a04 100755 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -234,7 +234,30 @@ paid_time_off = [ :date_submitted => Date.new(2013, 01, 01), :score => 2 } - ] + ] + + messages = [ + { + :receiver_id => 2, + :creator_id => 5, + :message => 'Your benefits have been updated.' + }, + { + :receiver_id => 3, + :creator_id => 4, + :message => 'Please update your profile.' + }, + { + :receiver_id => 4, + :creator_id => 3, + :message => 'Welcome to Railsgoat.' + }, + { + :receiver_id => 5, + :creator_id => 2, + :message => 'Hello friend.' + } + ] users.each do |user_info| @@ -273,3 +296,9 @@ performance.each do |perf| p.user_id = perf[:user_id] p.save end + +messages.each do |message| + m = Message.new(message.reject {|k| k == :creator_id}) + m.creator_id = message[:creator_id] + m.save +end diff --git a/spec/controllers/messages_controller_spec.rb b/spec/controllers/messages_controller_spec.rb new file mode 100644 index 0000000..503cc98 --- /dev/null +++ b/spec/controllers/messages_controller_spec.rb @@ -0,0 +1,5 @@ +require 'spec_helper' + +describe MessagesController do + +end diff --git a/spec/helpers/messages_helper_spec.rb b/spec/helpers/messages_helper_spec.rb new file mode 100644 index 0000000..a29b665 --- /dev/null +++ b/spec/helpers/messages_helper_spec.rb @@ -0,0 +1,15 @@ +require 'spec_helper' + +# Specs in this file have access to a helper object that includes +# the MessagesHelper. For example: +# +# describe MessagesHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# expect(helper.concat_strings("this","that")).to eq("this that") +# end +# end +# end +describe MessagesHelper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/benefits_spec.rb b/spec/models/benefits_spec.rb new file mode 100644 index 0000000..56b9625 --- /dev/null +++ b/spec/models/benefits_spec.rb @@ -0,0 +1,25 @@ +require 'spec_helper.rb' + +describe User do + before(:all) do + UserFixture.reset_all_users + DatabaseCleaner.strategy = :transaction + end + + after(:all) do + DatabaseCleaner.strategy = :truncation + end + + it "can be instantiated" do + Benefits.new.should be_an_instance_of(Benefits) + end + + + it "name can be updated" do + new_name = "Bobby" + user = User.all.first + user.first_name = new_name + user.save! + User.all.first.first_name.should == new_name + end +end \ No newline at end of file diff --git a/spec/models/message_spec.rb b/spec/models/message_spec.rb new file mode 100644 index 0000000..a5f59dd --- /dev/null +++ b/spec/models/message_spec.rb @@ -0,0 +1,5 @@ +require 'spec_helper' + +describe Message do + pending "add some examples to (or delete) #{__FILE__}" +end