Commit cbaea816e33725c4d49714377abb13738b95c830

Authored by Luke Baker
1 parent bf6495ce

add valid xml response for *by_visitor_id calls

Showing 1 changed file with 12 additions and 18 deletions   Show diff stats
app/controllers/questions_controller.rb
@@ -96,7 +96,7 @@ class QuestionsController < InheritedResources::Base @@ -96,7 +96,7 @@ class QuestionsController < InheritedResources::Base
96 object_type = params[:object_type] 96 object_type = params[:object_type]
97 @question = current_user.questions.find(params[:id]) 97 @question = current_user.questions.find(params[:id])
98 98
99 - visitor_id_hash = {} 99 + visitors = []
100 if object_type == "votes" 100 if object_type == "votes"
101 votes_by_visitor_id= Vote.all(:select => 'visitors.identifier as thevi, count(*) as the_votes_count', 101 votes_by_visitor_id= Vote.all(:select => 'visitors.identifier as thevi, count(*) as the_votes_count',
102 :joins => :voter, 102 :joins => :voter,
@@ -105,7 +105,7 @@ class QuestionsController < InheritedResources::Base @@ -105,7 +105,7 @@ class QuestionsController < InheritedResources::Base
105 105
106 106
107 votes_by_visitor_id.each do |visitor| 107 votes_by_visitor_id.each do |visitor|
108 - visitor_id_hash[visitor.thevi] = visitor.the_votes_count 108 + visitors.push({:visitor_id => visitor.thevi, :count => visitor.the_votes_count})
109 end 109 end
110 elsif object_type == "skips" 110 elsif object_type == "skips"
111 skips_by_visitor_id= Skip.all(:select => 'visitors.identifier as thevi, count(*) as the_votes_count', 111 skips_by_visitor_id= Skip.all(:select => 'visitors.identifier as thevi, count(*) as the_votes_count',
@@ -115,7 +115,7 @@ class QuestionsController < InheritedResources::Base @@ -115,7 +115,7 @@ class QuestionsController < InheritedResources::Base
115 115
116 116
117 skips_by_visitor_id.each do |visitor| 117 skips_by_visitor_id.each do |visitor|
118 - visitor_id_hash[visitor.thevi] = visitor.the_votes_count 118 + visitors.push({:visitor_id => visitor.thevi, :count => visitor.the_votes_count})
119 end 119 end
120 elsif object_type == "uploaded_ideas" 120 elsif object_type == "uploaded_ideas"
121 121
@@ -135,7 +135,7 @@ class QuestionsController < InheritedResources::Base @@ -135,7 +135,7 @@ class QuestionsController < InheritedResources::Base
135 end 135 end
136 logger.info(v.identifier) 136 logger.info(v.identifier)
137 137
138 - visitor_id_hash[v.identifier] = visitor.ideas_count 138 + visitors.push({:visitor_id => v.identifier, :count => visitor.ideas_count})
139 end 139 end
140 140
141 elsif object_type == "bounces" 141 elsif object_type == "bounces"
@@ -152,27 +152,26 @@ class QuestionsController < InheritedResources::Base @@ -152,27 +152,26 @@ class QuestionsController < InheritedResources::Base
152 v = Visitor.find(visitor_id, :select => 'identifier') 152 v = Visitor.find(visitor_id, :select => 'identifier')
153 153
154 if v.identifier 154 if v.identifier
155 - visitor_id_hash[v.identifier] = 1 155 + visitors.push({:visitor_id => v.identifier, :count => 1})
156 end 156 end
157 end 157 end
158 end 158 end
159 respond_to do |format| 159 respond_to do |format|
160 - format.xml{ render :xml => visitor_id_hash.to_xml and return} 160 + format.xml{ render :xml => visitors.to_xml and return}
161 end 161 end
162 end 162 end
163 163
164 def all_num_votes_by_visitor_id 164 def all_num_votes_by_visitor_id
165 scope = params[:scope] 165 scope = params[:scope]
166 166
  167 + visitors = []
167 if scope == "all_votes" 168 if scope == "all_votes"
168 169
169 votes_by_visitor_id= Vote.all(:select => 'visitors.identifier as thevi, count(*) as the_votes_count', 170 votes_by_visitor_id= Vote.all(:select => 'visitors.identifier as thevi, count(*) as the_votes_count',
170 :joins => :voter, 171 :joins => :voter,
171 :group => "voter_id") 172 :group => "voter_id")
172 - visitor_id_hash = {}  
173 votes_by_visitor_id.each do |visitor| 173 votes_by_visitor_id.each do |visitor|
174 - visitor_id_hash[visitor.thevi] = visitor.the_votes_count  
175 - visitor_id_hash[visitor.thevi] = visitor.the_votes_count 174 + visitors.push({:visitor_id => visitor.thevi, :count => visitor.the_votes_count})
176 end 175 end
177 elsif scope == "all_photocracy_votes" 176 elsif scope == "all_photocracy_votes"
178 177
@@ -180,10 +179,8 @@ class QuestionsController < InheritedResources::Base @@ -180,10 +179,8 @@ class QuestionsController < InheritedResources::Base
180 :joins => :voter, 179 :joins => :voter,
181 :conditions => { :visitors => { :site_id => PHOTOCRACY_SITE_ID }}, 180 :conditions => { :visitors => { :site_id => PHOTOCRACY_SITE_ID }},
182 :group => "voter_id") 181 :group => "voter_id")
183 - visitor_id_hash = {}  
184 votes_by_visitor_id.each do |visitor| 182 votes_by_visitor_id.each do |visitor|
185 - visitor_id_hash[visitor.thevi] = visitor.the_votes_count  
186 - visitor_id_hash[visitor.thevi] = visitor.the_votes_count 183 + visitors.push({:visitor_id => visitor.thevi, :count => visitor.the_votes_count})
187 end 184 end
188 elsif scope == "all_aoi_votes" 185 elsif scope == "all_aoi_votes"
189 186
@@ -191,24 +188,21 @@ class QuestionsController < InheritedResources::Base @@ -191,24 +188,21 @@ class QuestionsController < InheritedResources::Base
191 :joins => :voter, 188 :joins => :voter,
192 :conditions => { :visitors => { :site_id => ALLOURIDEAS_SITE_ID }}, 189 :conditions => { :visitors => { :site_id => ALLOURIDEAS_SITE_ID }},
193 :group => "voter_id") 190 :group => "voter_id")
194 - visitor_id_hash = {}  
195 votes_by_visitor_id.each do |visitor| 191 votes_by_visitor_id.each do |visitor|
196 - visitor_id_hash[visitor.thevi] = visitor.the_votes_count  
197 - visitor_id_hash[visitor.thevi] = visitor.the_votes_count 192 + visitors.push({:visitor_id => visitor.thevi, :count => visitor.the_votes_count})
198 end 193 end
199 elsif scope == "creators" 194 elsif scope == "creators"
200 195
201 questions_created_by_visitor_id = Question.all(:select => 'visitors.identifier as thevi, count(*) as questions_count', 196 questions_created_by_visitor_id = Question.all(:select => 'visitors.identifier as thevi, count(*) as questions_count',
202 :joins => :creator, 197 :joins => :creator,
203 :group => 'creator_id') 198 :group => 'creator_id')
204 - visitor_id_hash = {}  
205 questions_created_by_visitor_id.each do |visitor| 199 questions_created_by_visitor_id.each do |visitor|
206 - visitor_id_hash[visitor.thevi] = visitor.questions_count 200 + visitors.push({:visitor_id => visitor.thevi, :count => visitor.questions_count})
207 end 201 end
208 202
209 end 203 end
210 respond_to do |format| 204 respond_to do |format|
211 - format.xml{ render :xml => visitor_id_hash.to_xml and return} 205 + format.xml{ render :xml => visitors.to_xml and return}
212 end 206 end
213 end 207 end
214 208