Commit fa19002c151bf435e9b8d888581ec4dc74207ebc
1 parent
fff49b47
Exists in
master
and in
1 other branch
Add tracking of user submitted ideas
Showing
2 changed files
with
28 additions
and
0 deletions
Show diff stats
app/controllers/questions_controller.rb
... | ... | @@ -25,6 +25,33 @@ class QuestionsController < InheritedResources::Base |
25 | 25 | end |
26 | 26 | end |
27 | 27 | |
28 | + def object_info_totals_by_question_id | |
29 | + total_ideas_by_q_id = Choice.count(:include => ['item', 'question'], | |
30 | + :conditions => "items.creator_id <> questions.creator_id", | |
31 | + :group => "choices.question_id") | |
32 | + | |
33 | + active_ideas_by_q_id = Choice.count(:include => ['item', 'question'], | |
34 | + :conditions => "choices.active = 1 AND items.creator_id <> questions.creator_id", | |
35 | + :group => "choices.question_id") | |
36 | + | |
37 | + combined_hash = {} | |
38 | + | |
39 | + total_ideas_by_q_id.each do |q_id, num_total| | |
40 | + combined_hash[q_id] = {} | |
41 | + combined_hash[q_id][:total_ideas] = num_total | |
42 | + if(active_ideas_by_q_id.has_key?(q_id)) | |
43 | + combined_hash[q_id][:active_ideas]= active_ideas_by_q_id[q_id] | |
44 | + else | |
45 | + combined_hash[q_id][:active_ideas]= 0 | |
46 | + end | |
47 | + end | |
48 | + respond_to do |format| | |
49 | + format.xml { render :xml => combined_hash.to_xml and return} | |
50 | + end | |
51 | + | |
52 | + end | |
53 | + | |
54 | + | |
28 | 55 | |
29 | 56 | def show |
30 | 57 | @question = Question.find(params[:id]) | ... | ... |
config/routes.rb
... | ... | @@ -9,6 +9,7 @@ ActionController::Routing::Routes.draw do |map| |
9 | 9 | :suspend => :put}, |
10 | 10 | :collection => {:all_num_votes_by_visitor_id => :get, |
11 | 11 | :all_object_info_totals_by_date => :get, |
12 | + :object_info_totals_by_question_id => :get, | |
12 | 13 | :recent_votes_by_question_id => :get} do |question| |
13 | 14 | question.resources :items |
14 | 15 | question.resources :prompts, :member => {:vote_left => :post, :vote_right => :post, :skip => :post, :vote => :post}, | ... | ... |