X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/40891d8740b77b6d6249e8982f15e2f348725282..73f1c8f028bb366d3d8d982084fa777181bce5b5:/app/controllers/quickvote_controller.rb?ds=inline diff --git a/app/controllers/quickvote_controller.rb b/app/controllers/quickvote_controller.rb index 2847df9..e327ed6 100644 --- a/app/controllers/quickvote_controller.rb +++ b/app/controllers/quickvote_controller.rb @@ -15,7 +15,7 @@ class QuickvoteController < ApplicationController # store the candidate grabbed through ajax and stored in flash @quickvote.candidatelist = flash[:candlist] - + @quickvote.description=CGI.escapeHTML(@quickvote.description) # try to save, if it fails, show the page again (the flash should # still be intact if @quickvote.save @@ -37,7 +37,7 @@ class QuickvoteController < ApplicationController candidate_name = CGI.escapeHTML(params[:ajax][:newcandidate]) unless candidate_name.strip.empty? if flash.has_key?(:candlist) and flash[:candlist].instance_of?(Array) - flash[:candlist] << candidate_name + flash[:candlist] << candidate_name unless flash[:candlist].index(candidate_name) else flash[:candlist] = [ candidate_name ] end @@ -137,7 +137,22 @@ class QuickvoteController < ApplicationController render :nothing => true end - + def mapvoters + @map = GMap.new("map_div_id") + @map.control_init(:large_map => true, :map_type => true) + center=nil + QuickVote.ident_to_quickvote(params[:id]).voters.each do |voter| + next unless voter.ipaddress + location = GeoKit::Geocoders::IpGeocoder.geocode(voter.ipaddress) + next unless location.lng and location.lat + unless center + center=[location.lat,location.lng] + @map.center_zoom_init(center,4) + end + marker = GMarker.new([location.lat,location.lng], :title => "Voter", :info_window => (voter.ipaddress or "unknown")+" "+voter.vote.votestring) + @map.overlay_init(marker) + end + end ############################################################### # the following method pertains to displaying the results of a # quickvote