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 |