Commit fa19002c151bf435e9b8d888581ec4dc74207ebc

Authored by Dhruv Kapadia
1 parent fff49b47

Add tracking of user submitted ideas

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},
... ...