diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb index 385f8b0..c46a104 100644 --- a/app/controllers/events_controller.rb +++ b/app/controllers/events_controller.rb @@ -30,6 +30,7 @@ def show # GET /events/new.xml def new @event = Event.new + @locations = current_user.locations respond_to do |format| format.html # new.html.erb @@ -40,6 +41,7 @@ def new # GET /events/1/edit def edit @event = current_user.events.find(params[:id]) + @locations = current_user.locations end # POST /events diff --git a/app/helpers/invite_helper.rb b/app/helpers/invite_helper.rb index 482e1de..384aded 100644 --- a/app/helpers/invite_helper.rb +++ b/app/helpers/invite_helper.rb @@ -5,55 +5,6 @@ def address(location) end - def yes_list() - list_by_state("yes") - end - - def no_list() - list_by_state("no") - end - - def maybe_list() - list_by_state("maybe") - end - - def na_list() - list_by_state("na") - end - - def yes_number() - number_by_state("yes") - end - - def no_number() - number_by_state("no") - end - - def maybe_number() - number_by_state("maybe") - end - - def na_number() - number_by_state("na") - end - - def number_by_state(state) - rsvps = Rsvp.find(:all, :conditions => ["state = ?", state]) - count = 0 - rsvps.each do |r| - count += (r.num or 1) - end - return count - end - - def list_by_state(state) - if state == "na" - return Rsvp.find(:all, :conditions => ["state = ?", state]).sort_by {|s| s.person.email } - else - return Rsvp.find(:all, :conditions => ["state = ?", state]).sort_by {|s| s.updated_at } - end - end - def format_invitee_admin(r) date = "" if r.visited_at diff --git a/app/models/event.rb b/app/models/event.rb index 0e9378f..d9b0599 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -2,4 +2,54 @@ class Event < ActiveRecord::Base has_many :rsvps belongs_to :location belongs_to :user + + def yes_list + list_by_state("yes") + end + + def no_list + list_by_state("no") + end + + def maybe_list + list_by_state("maybe") + end + + def na_list + list_by_state("na") + end + + def yes_number + number_by_state("yes") + end + + def no_number + number_by_state("no") + end + + def maybe_number + number_by_state("maybe") + end + + def na_number + number_by_state("na") + end + + def number_by_state(state) + rs = rsvps.find(:all, :conditions => ["state = ?", state]) + count = 0 + rs.each do |r| + count += (r.num or 1) + end + return count + end + + def list_by_state(state) + if state == "na" + return rsvps.find(:all, :conditions => ["state = ?", state]).sort_by {|s| s.person.email } + else + return rsvps.find(:all, :conditions => ["state = ?", state]).sort_by {|s| s.updated_at } + end + end + end diff --git a/app/views/events/edit.html.erb b/app/views/events/edit.html.erb index 20838a7..371c7d5 100644 --- a/app/views/events/edit.html.erb +++ b/app/views/events/edit.html.erb @@ -30,7 +30,8 @@
Location
- <%= f.text_field :location_id %>
+ <%= collection_select("event", "location_id", @locations, "id", "name") %>
+
diff --git a/app/views/events/index.html.erb b/app/views/events/index.html.erb
index 73899cc..fad4e6d 100644
--- a/app/views/events/index.html.erb
+++ b/app/views/events/index.html.erb
@@ -28,3 +28,4 @@
<%= link_to 'New event', new_event_path %>
+<%= link_to 'New location', new_location_path %>
diff --git a/app/views/events/new.html.erb b/app/views/events/new.html.erb
index a674b6c..efb811d 100644
--- a/app/views/events/new.html.erb
+++ b/app/views/events/new.html.erb
@@ -30,7 +30,8 @@
Location
- <%= f.text_field :location_id %>
+ <%= collection_select("event", "location_id", @locations, "id", "name") %>
+
diff --git a/app/views/events/show.html.erb b/app/views/events/show.html.erb index f6ae9c3..b41c661 100644 --- a/app/views/events/show.html.erb +++ b/app/views/events/show.html.erb @@ -28,24 +28,24 @@
Name | Last Visited | Number | Message | |
---|---|---|---|---|
Will Attend - <%= yes_number %> | ||||
Will Attend - <%= @event.yes_number %> | ||||
May Attend - <%= maybe_number %> | ||||
May Attend - <%= @event.maybe_number %> | ||||
Won't Attend - <%= no_number %> | ||||
Won't Attend - <%= @event.no_number %> | ||||
Haven't Responded - <%= na_number %> | ||||
Haven't Responded - <%= @event.na_number %> |
Name | Number | Message |
---|---|---|
Will Attend - <%= yes_number %> | ||
Will Attend - <%= @rsvp.event.yes_number %> | ||
May Attend - <%= maybe_number %> | ||
May Attend - <%= @rsvp.event.maybe_number %> | ||
Won't Attend - <%= no_number %> | ||
Won't Attend - <%= @rsvp.event.no_number %> | ||
Haven't Responded - <%= na_number %> | ||
Haven't Responded - <%= @rsvp.event.na_number %> |