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