Commit cbaea816e33725c4d49714377abb13738b95c830
1 parent
bf6495ce
Exists in
master
and in
1 other branch
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 |