diff options
author | Jody McIntyre <scjody@modernduck.com> | 2014-09-17 15:37:22 -0400 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2015-04-27 16:49:52 +0100 |
commit | 6a695ee68e002c47eb39d205e69b2e539be933bc (patch) | |
tree | 9346c61abc9dea8e8c94a51273a71c282b49c3ad | |
parent | 4b04aa47335edbe7ce9e64bd939da9fd8623eff0 (diff) |
Add controller for non-logged in "voting"
-rw-r--r-- | app/controllers/track_controller.rb | 10 | ||||
-rw-r--r-- | app/views/request/widget.html.erb | 18 | ||||
-rw-r--r-- | config/routes.rb | 1 |
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 |