Merge pull request #685 from dogodigi/iss684

Fix for #684
This commit is contained in:
Henne Vogelsang 2015-07-02 16:25:19 +02:00
commit 5f31a4b027

View file

@ -356,7 +356,7 @@ class Conference < ActiveRecord::Base
# ====Returns # ====Returns
# * +hash+ -> hash # * +hash+ -> hash
def self.event_distribution def self.event_distribution
calculate_event_distribution_hash(Event.group(:state).count) calculate_event_distribution_hash(Event.select(:state).group(:state).count)
end end
## ##
@ -365,7 +365,7 @@ class Conference < ActiveRecord::Base
# ====Returns # ====Returns
# * +hash+ -> hash # * +hash+ -> hash
def event_distribution def event_distribution
Conference.calculate_event_distribution_hash(events.group(:state).count) Conference.calculate_event_distribution_hash(events.select(:state).group(:state).count)
end end
## ##
@ -390,7 +390,7 @@ class Conference < ActiveRecord::Base
# ====Returns # ====Returns
# * +hash+ -> Fixnum minutes # * +hash+ -> Fixnum minutes
def current_program_minutes def current_program_minutes
events_grouped = events.group(:event_type_id) events_grouped = events.select(:event_type_id).group(:event_type_id)
events_counted = events_grouped.count events_counted = events_grouped.count
calculate_program_minutes(events_grouped, events_counted) calculate_program_minutes(events_grouped, events_counted)
end end
@ -410,7 +410,7 @@ class Conference < ActiveRecord::Base
# ====Returns # ====Returns
# * +hash+ -> Fixnum minutes # * +hash+ -> Fixnum minutes
def new_program_minutes(date) def new_program_minutes(date)
events_grouped = events.where('created_at > ?', date).group(:event_type_id) events_grouped = events.select(:event_type_id).where('created_at > ?', date).group(:event_type_id)
events_counted = events_grouped.count events_counted = events_grouped.count
calculate_program_minutes(events_grouped, events_counted) calculate_program_minutes(events_grouped, events_counted)
end end
@ -449,9 +449,9 @@ class Conference < ActiveRecord::Base
# * +hash+ -> track => {color, value} # * +hash+ -> track => {color, value}
def tracks_distribution(state = nil) def tracks_distribution(state = nil)
if state if state
tracks_grouped = events.where('state = ?', state).group(:track_id) tracks_grouped = events.select(:track_id).where('state = ?', state).group(:track_id)
else else
tracks_grouped = events.group(:track_id) tracks_grouped = events.select(:track_id).group(:track_id)
end end
tracks_counted = tracks_grouped.count tracks_counted = tracks_grouped.count
@ -624,7 +624,7 @@ class Conference < ActiveRecord::Base
this_week = Date.today.end_of_week.strftime('%W').to_i this_week = Date.today.end_of_week.strftime('%W').to_i
result['Confirmed'][this_week] = events.where('state = ?', :confirmed).count result['Confirmed'][this_week] = events.where('state = ?', :confirmed).count
result['Unconfirmed'][this_week] = events.where('state = ?', :unconfirmed).count result['Unconfirmed'][this_week] = events.where('state = ?', :unconfirmed).count
result['Submitted'] = events.group(:week).count result['Submitted'] = events.select(:week).group(:week).count
result['Submitted'][this_week] = events.where(week: this_week).count result['Submitted'][this_week] = events.where(week: this_week).count
result result
end end
@ -779,9 +779,9 @@ class Conference < ActiveRecord::Base
# * +hash+ -> object_type => {color, value} # * +hash+ -> object_type => {color, value}
def calculate_event_distribution(group_by_id, association_symbol, state = nil) def calculate_event_distribution(group_by_id, association_symbol, state = nil)
if state if state
grouped = events.where('state = ?', 'confirmed').group(group_by_id) grouped = events.select(group_by_id).where('state = ?', 'confirmed').group(group_by_id)
else else
grouped = events.group(group_by_id) grouped = events.select(group_by_id).group(group_by_id)
end end
counted = grouped.count counted = grouped.count