aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJody McIntyre <scjody@modernduck.com>2014-09-17 15:37:22 -0400
committerLouise Crow <louise.crow@gmail.com>2015-04-27 16:49:52 +0100
commit6a695ee68e002c47eb39d205e69b2e539be933bc (patch)
tree9346c61abc9dea8e8c94a51273a71c282b49c3ad
parent4b04aa47335edbe7ce9e64bd939da9fd8623eff0 (diff)
Add controller for non-logged in "voting"
-rw-r--r--app/controllers/track_controller.rb10
-rw-r--r--app/views/request/widget.html.erb18
-rw-r--r--config/routes.rb1
3 files changed, 23 insertions, 6 deletions
diff --git a/app/controllers/track_controller.rb b/app/controllers/track_controller.rb
index 4b272797f..708dd8737 100644
--- a/app/controllers/track_controller.rb
+++ b/app/controllers/track_controller.rb
@@ -214,6 +214,14 @@ class TrackController < ApplicationController
redirect_to URI.parse(params[:r]).path
end
+ # Track interest in a request from a non-logged in user
+ def widget_vote
+ info_request = InfoRequest.find(params[:info_request_id])
+ if not @user and cookies[:widget_vote]
+ wv = info_request.widget_votes.where(:cookie => cookies[:widget_vote]).first_or_create
+ end
+ track_thing = TrackThing.create_track_for_request(info_request)
+ redirect_to do_track_path(track_thing), status => :temporary_redirect
+ end
end
-
diff --git a/app/views/request/widget.html.erb b/app/views/request/widget.html.erb
index a196f40de..462170400 100644
--- a/app/views/request/widget.html.erb
+++ b/app/views/request/widget.html.erb
@@ -68,11 +68,19 @@
</div>
</a>
<% else %>
- <a href="<%= url_for do_track_path(@track_thing) %>" target="_blank">
- <div id="alawidget-button">
- <%= _('I also want to know!') %>
- </div>
- </a>
+ <% if @user %>
+ <a href="<%= url_for do_track_path(@track_thing) %>" target="_blank">
+ <div id="alawidget-button">
+ <%= _('I also want to know!') %>
+ </div>
+ </a>
+ <% else %>
+ <a href="<%= url_for :controller => 'track', :action => 'widget_vote', :info_request_id => @info_request %>" target="_blank">
+ <div id="alawidget-button">
+ <%= _('I also want to know!') %>
+ </div>
+ </a>
+ <% end %>
<% end %>
</div>
</div>
diff --git a/config/routes.rb b/config/routes.rb
index 077dad002..011fe3167 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -144,6 +144,7 @@ Alaveteli::Application.routes.draw do
match '/track/update/:track_id' => 'track#update', :as => :update
match '/track/delete_all_type' => 'track#delete_all_type', :as => :delete_all_type
match '/track/feed/:track_id' => 'track#atom_feed', :as => :atom_feed
+ match '/track/widget_vote/:info_request_id' => 'track#widget_vote', :as => :widget_vote
####
#### Help controller