From 20a7a62cbeed00faf38333c91ff576bb096c56e8 Mon Sep 17 00:00:00 2001 From: cktricky Date: Fri, 11 Oct 2013 12:19:24 -0400 Subject: [PATCH 01/12] added to address issue #55 --- .powrc | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .powrc diff --git a/.powrc b/.powrc new file mode 100644 index 0000000..52c4a57 --- /dev/null +++ b/.powrc @@ -0,0 +1,4 @@ +if [ -f "$rvm_path/scripts/rvm" ] && [ -f ".rvmrc" ]; then + source "$rvm_path/scripts/rvm" + source ".rvmrc" +fi From 30987e6fe9c6078c14ee86e62ddf5ce224cec29a Mon Sep 17 00:00:00 2001 From: cktricky Date: Fri, 11 Oct 2013 12:19:24 -0400 Subject: [PATCH 02/12] added to address issue #55 --- .powrc | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .powrc diff --git a/.powrc b/.powrc new file mode 100644 index 0000000..52c4a57 --- /dev/null +++ b/.powrc @@ -0,0 +1,4 @@ +if [ -f "$rvm_path/scripts/rvm" ] && [ -f ".rvmrc" ]; then + source "$rvm_path/scripts/rvm" + source ".rvmrc" +fi From 5177e6066995666a42be26686fdc553244b5280e Mon Sep 17 00:00:00 2001 From: Mike McCabe Date: Fri, 11 Oct 2013 15:59:16 -0400 Subject: [PATCH 03/12] adding better errors gem --- Gemfile | 2 ++ Gemfile.lock | 8 ++++++++ 2 files changed, 10 insertions(+) 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 From dbd0c2548db35181a68aef47ab399288964d6757 Mon Sep 17 00:00:00 2001 From: Mike McCabe Date: Fri, 11 Oct 2013 15:59:53 -0400 Subject: [PATCH 04/12] making full_name method public --- app/models/user.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index 0e982e2..ed1fc07 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 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) From 8686f6b9d36c1e1cdb495ce7fe4fb0827e8f0cfe Mon Sep 17 00:00:00 2001 From: Mike McCabe Date: Fri, 11 Oct 2013 16:03:20 -0400 Subject: [PATCH 05/12] adding messages mvc to allow users to send messages. --- app/controllers/messages_controller.rb | 21 +++ app/helpers/messages_helper.rb | 2 + app/models/message.rb | 5 + app/views/layouts/shared/_sidebar.html.erb | 8 + app/views/messages/index.html.erb | 171 +++++++++++++++++++ config/routes.rb | 3 + db/migrate/20131011180207_create_messages.rb | 12 ++ db/schema.rb | 11 +- db/seeds.rb | 31 +++- spec/controllers/messages_controller_spec.rb | 5 + spec/helpers/messages_helper_spec.rb | 15 ++ spec/models/benefits_spec.rb | 25 +++ spec/models/message_spec.rb | 5 + 13 files changed, 312 insertions(+), 2 deletions(-) create mode 100644 app/controllers/messages_controller.rb create mode 100644 app/helpers/messages_helper.rb create mode 100644 app/models/message.rb create mode 100644 app/views/messages/index.html.erb create mode 100644 db/migrate/20131011180207_create_messages.rb create mode 100644 spec/controllers/messages_controller_spec.rb create mode 100644 spec/helpers/messages_helper_spec.rb create mode 100644 spec/models/benefits_spec.rb create mode 100644 spec/models/message_spec.rb 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 %>
    +
    +
    +
    +
    +
    +
    + + + +
    +

    + © BlackForest 2013 +

    +
    + + + + + + + + + \ 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 From b0a5248c05b5b698d82cb745da01bb21badcf50e Mon Sep 17 00:00:00 2001 From: Mike McCabe Date: Sat, 12 Oct 2013 13:38:47 -0400 Subject: [PATCH 06/12] adding read data to seeds --- db/seeds.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/db/seeds.rb b/db/seeds.rb index b516a04..3533d20 100755 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -240,22 +240,26 @@ paid_time_off = [ { :receiver_id => 2, :creator_id => 5, - :message => 'Your benefits have been updated.' + :message => 'Your benefits have been updated.', + :read => false }, { :receiver_id => 3, :creator_id => 4, - :message => 'Please update your profile.' + :message => 'Please update your profile.', + :read => false }, { :receiver_id => 4, :creator_id => 3, - :message => 'Welcome to Railsgoat.' + :message => 'Welcome to Railsgoat.', + :read => false }, { :receiver_id => 5, :creator_id => 2, - :message => 'Hello friend.' + :message => 'Hello friend.', + :read => false } ] From a67b3546b1585fcd136344976c6919227860c300 Mon Sep 17 00:00:00 2001 From: cktricky Date: Sat, 12 Oct 2013 16:14:10 -0400 Subject: [PATCH 07/12] this appears to fix the problem with our accordion not working correctly. I couldnt find a reason to use bootstrap.js anyways. --- app/assets/javascripts/application.js | 1 - 1 file changed, 1 deletion(-) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 6a75987..653be27 100755 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -14,7 +14,6 @@ //= require jquery_ujs //= require wysiwyg/wysihtml5-0.3.0.js //= require jquery.min.js -//= require bootstrap.js //= require jquery.scrollUp.js //= require wysiwyg/bootstrap-wysihtml5.js //= require bootstrap-colorpicker.js From afbd8d53b62155e408a5d2e987a52c364f2cfdd2 Mon Sep 17 00:00:00 2001 From: cktricky Date: Sat, 12 Oct 2013 17:04:57 -0400 Subject: [PATCH 08/12] fix for issue #44 --- app/assets/stylesheets/main.css.erb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/assets/stylesheets/main.css.erb b/app/assets/stylesheets/main.css.erb index 547ce35..2296075 100755 --- a/app/assets/stylesheets/main.css.erb +++ b/app/assets/stylesheets/main.css.erb @@ -4602,6 +4602,9 @@ button.close { font-weight: 400; background: #333333; border: 1px solid #666666; } + .signup .signup-wrapper .content .input:focus { + background: #e6e6e6; + } .signup .signup-wrapper .content .select { height: 52px; width: 340px; } From 8c17a3df0ed711b6f059488841aec722cd9eff89 Mon Sep 17 00:00:00 2001 From: Mike McCabe Date: Sun, 13 Oct 2013 21:49:17 -0400 Subject: [PATCH 09/12] adding messaging function, needs tests... --- app/controllers/messages_controller.rb | 25 +++- app/models/message.rb | 7 +- app/models/user.rb | 2 +- app/views/messages/index.html.erb | 159 +++-------------------- app/views/messages/new.html.erb | 88 +++++++++++++ app/views/messages/show.html.erb | 171 +++++++++++++++++++++++++ 6 files changed, 304 insertions(+), 148 deletions(-) create mode 100644 app/views/messages/new.html.erb create mode 100644 app/views/messages/show.html.erb 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"}%>
    +
    +
    + + + + + + + +
    +

    + © BlackForest 2013 +

    +
    + + + + + + + + + \ No newline at end of file From 16bd46563365b8b0c858d872d49ec593eb008730 Mon Sep 17 00:00:00 2001 From: cktricky Date: Sat, 12 Oct 2013 16:14:10 -0400 Subject: [PATCH 10/12] this appears to fix the problem with our accordion not working correctly. I couldnt find a reason to use bootstrap.js anyways. --- app/assets/javascripts/application.js | 1 - 1 file changed, 1 deletion(-) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 6a75987..653be27 100755 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -14,7 +14,6 @@ //= require jquery_ujs //= require wysiwyg/wysihtml5-0.3.0.js //= require jquery.min.js -//= require bootstrap.js //= require jquery.scrollUp.js //= require wysiwyg/bootstrap-wysihtml5.js //= require bootstrap-colorpicker.js From 7a101a9bb55b83e5cf206acefdfe6d6ca6983bb8 Mon Sep 17 00:00:00 2001 From: cktricky Date: Sat, 12 Oct 2013 17:04:57 -0400 Subject: [PATCH 11/12] fix for issue #44 --- app/assets/stylesheets/main.css.erb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/assets/stylesheets/main.css.erb b/app/assets/stylesheets/main.css.erb index 547ce35..2296075 100755 --- a/app/assets/stylesheets/main.css.erb +++ b/app/assets/stylesheets/main.css.erb @@ -4602,6 +4602,9 @@ button.close { font-weight: 400; background: #333333; border: 1px solid #666666; } + .signup .signup-wrapper .content .input:focus { + background: #e6e6e6; + } .signup .signup-wrapper .content .select { height: 52px; width: 340px; } From f02895351da94b43dc73ab159609085f1c37bd6c Mon Sep 17 00:00:00 2001 From: cktricky Date: Sun, 13 Oct 2013 23:17:18 -0400 Subject: [PATCH 12/12] removed a bit of cruft, also activated the sidebar item when working within the messages section --- app/views/messages/index.html.erb | 13 ++- app/views/messages/new.html.erb | 8 ++ app/views/messages/show.html.erb | 143 ++---------------------------- 3 files changed, 29 insertions(+), 135 deletions(-) diff --git a/app/views/messages/index.html.erb b/app/views/messages/index.html.erb index c5b93ca..219aa7c 100644 --- a/app/views/messages/index.html.erb +++ b/app/views/messages/index.html.erb @@ -41,4 +41,15 @@ - \ 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 index a1d002a..2a83a89 100644 --- a/app/views/messages/new.html.erb +++ b/app/views/messages/new.html.erb @@ -81,6 +81,14 @@ $("#submit_button").click(function(event) { }); }); +function makeActive(){ + $('li[id="messages"]').addClass('active'); +}; + +$(document).ready(function () { + makeActive() +}); + diff --git a/app/views/messages/show.html.erb b/app/views/messages/show.html.erb index 5bdb6af..9ba9a4f 100644 --- a/app/views/messages/show.html.erb +++ b/app/views/messages/show.html.erb @@ -32,140 +32,15 @@ - + + - - - - - - //Main menu navigation - - $('.submenu > a').click(function(e){ - e.preventDefault(); - var submenu = $(this).siblings('ul'); - var li = $(this).parents('li'); - var submenus = $('#mainnav li.submenu ul'); - var submenus_parents = $('#mainnav li.submenu'); - if(li.hasClass('open')) - { - if(($(window).width() > 768) || ($(window).width() < 479)) { - submenu.slideUp(); - } else { - submenu.fadeOut(250); - } - li.removeClass('open'); - } else - { - if(($(window).width() > 768) || ($(window).width() < 479)) { - submenus.slideUp(); - submenu.slideDown(); - } else { - submenus.fadeOut(250); - submenu.fadeIn(250); - } - submenus_parents.removeClass('open'); - li.addClass('open'); - } - }); - - var ul = $('#mainnav > ul'); - - $('#mainnav > a').click(function(e) - { - e.preventDefault(); - var mainnav = $('#mainnav'); - if(mainnav.hasClass('open')) - { - mainnav.removeClass('open'); - ul.slideUp(250); - } else - { - mainnav.addClass('open'); - ul.slideDown(250); - } - }); - - - //Range Date Picker - - $('.report_range').daterangepicker({ - ranges: { - 'Today': ['today', 'today'], - 'Yesterday': ['yesterday', 'yesterday'], - 'Last 7 Days': [Date.today().add({ - days: -6 - }), 'today'], - 'Last 30 Days': [Date.today().add({ - days: -29 - }), 'today'], - 'This Month': [Date.today().moveToFirstDayOfMonth(), Date.today().moveToLastDayOfMonth()], - 'Last Month': [Date.today().moveToFirstDayOfMonth().add({ - months: -1 - }), Date.today().moveToFirstDayOfMonth().add({ - days: -1 - })] - }, - opens: 'left', - format: 'MM/dd/yyyy', - separator: ' to ', - startDate: Date.today().add({ - days: -29 - }), - endDate: Date.today(), - minDate: '01/01/2012', - maxDate: '12/31/2013', - locale: { - applyLabel: 'Submit', - fromLabel: 'From', - toLabel: 'To', - customRangeLabel: 'Custom Range', - daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], - monthNames: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - firstDay: 1 - }, - showWeekNumbers: true, - buttonClasses: ['btn-danger'] - }, - - function (start, end) { - $('.report_range span').html(start.toString('MMMM d, yyyy') + ' - ' + end.toString('MMMM d, yyyy')); - }); - - //Set the initial state of the picker label - $('.report_range span').html(Date.today().add({ - days: -29 - }).toString('MMMM d, yyyy') + ' - ' + Date.today().toString('MMMM d, yyyy')); - - - - \ No newline at end of file