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 | 96 | object_type = params[:object_type] |
97 | 97 | @question = current_user.questions.find(params[:id]) |
98 | 98 | |
99 | - visitor_id_hash = {} | |
99 | + visitors = [] | |
100 | 100 | if object_type == "votes" |
101 | 101 | votes_by_visitor_id= Vote.all(:select => 'visitors.identifier as thevi, count(*) as the_votes_count', |
102 | 102 | :joins => :voter, |
... | ... | @@ -105,7 +105,7 @@ class QuestionsController < InheritedResources::Base |
105 | 105 | |
106 | 106 | |
107 | 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 | 109 | end |
110 | 110 | elsif object_type == "skips" |
111 | 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 | 115 | |
116 | 116 | |
117 | 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 | 119 | end |
120 | 120 | elsif object_type == "uploaded_ideas" |
121 | 121 | |
... | ... | @@ -135,7 +135,7 @@ class QuestionsController < InheritedResources::Base |
135 | 135 | end |
136 | 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 | 139 | end |
140 | 140 | |
141 | 141 | elsif object_type == "bounces" |
... | ... | @@ -152,27 +152,26 @@ class QuestionsController < InheritedResources::Base |
152 | 152 | v = Visitor.find(visitor_id, :select => 'identifier') |
153 | 153 | |
154 | 154 | if v.identifier |
155 | - visitor_id_hash[v.identifier] = 1 | |
155 | + visitors.push({:visitor_id => v.identifier, :count => 1}) | |
156 | 156 | end |
157 | 157 | end |
158 | 158 | end |
159 | 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 | 161 | end |
162 | 162 | end |
163 | 163 | |
164 | 164 | def all_num_votes_by_visitor_id |
165 | 165 | scope = params[:scope] |
166 | 166 | |
167 | + visitors = [] | |
167 | 168 | if scope == "all_votes" |
168 | 169 | |
169 | 170 | votes_by_visitor_id= Vote.all(:select => 'visitors.identifier as thevi, count(*) as the_votes_count', |
170 | 171 | :joins => :voter, |
171 | 172 | :group => "voter_id") |
172 | - visitor_id_hash = {} | |
173 | 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 | 175 | end |
177 | 176 | elsif scope == "all_photocracy_votes" |
178 | 177 | |
... | ... | @@ -180,10 +179,8 @@ class QuestionsController < InheritedResources::Base |
180 | 179 | :joins => :voter, |
181 | 180 | :conditions => { :visitors => { :site_id => PHOTOCRACY_SITE_ID }}, |
182 | 181 | :group => "voter_id") |
183 | - visitor_id_hash = {} | |
184 | 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 | 184 | end |
188 | 185 | elsif scope == "all_aoi_votes" |
189 | 186 | |
... | ... | @@ -191,24 +188,21 @@ class QuestionsController < InheritedResources::Base |
191 | 188 | :joins => :voter, |
192 | 189 | :conditions => { :visitors => { :site_id => ALLOURIDEAS_SITE_ID }}, |
193 | 190 | :group => "voter_id") |
194 | - visitor_id_hash = {} | |
195 | 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 | 193 | end |
199 | 194 | elsif scope == "creators" |
200 | 195 | |
201 | 196 | questions_created_by_visitor_id = Question.all(:select => 'visitors.identifier as thevi, count(*) as questions_count', |
202 | 197 | :joins => :creator, |
203 | 198 | :group => 'creator_id') |
204 | - visitor_id_hash = {} | |
205 | 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 | 201 | end |
208 | 202 | |
209 | 203 | end |
210 | 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 | 206 | end |
213 | 207 | end |
214 | 208 | ... | ... |