diff options
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/request_controller.rb | 7 | ||||
-rw-r--r-- | app/controllers/request_game_controller.rb | 28 |
2 files changed, 32 insertions, 3 deletions
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb index f413d7320..ea0fb7058 100644 --- a/app/controllers/request_controller.rb +++ b/app/controllers/request_controller.rb @@ -4,7 +4,7 @@ # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ # -# $Id: request_controller.rb,v 1.158 2009-04-23 13:32:21 tony Exp $ +# $Id: request_controller.rb,v 1.159 2009-05-11 13:06:33 tony Exp $ class RequestController < ApplicationController @@ -287,16 +287,17 @@ class RequestController < ApplicationController }) end + # TODO harmonise the next two methods? if User.owns_every_request?(authenticated_user) flash[:notice] = '<p>The request status has been updated</p>' - redirect_to request_url(@info_request) + redirect_to session[:request_game] ? play_url : request_url(@info_request) return end if @old_unclassified && !@is_owning_user flash[:notice] = '<p>Thank you for updating this request!</p>' RequestMailer.deliver_old_unclassified_updated(@info_request) - redirect_to request_url(@info_request) + redirect_to session[:request_game] ? play_url : request_url(@info_request) return end diff --git a/app/controllers/request_game_controller.rb b/app/controllers/request_game_controller.rb new file mode 100644 index 000000000..1be26e5a1 --- /dev/null +++ b/app/controllers/request_game_controller.rb @@ -0,0 +1,28 @@ +# app/controllers/request_game_controller.rb: +# The 'categorise old requests' game +# +# Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. +# Email: francis@mysociety.org; WWW: http://www.mysociety.org/ +# +# $Id: request_game_controller.rb,v 1.1 2009-05-11 13:06:34 tony Exp $ + +class RequestGameController < ApplicationController + + def play + # XXX make sure they're logged in + session[:request_game] = Time.now + + old = InfoRequest.find_old_unclassified(:conditions => ["prominence != 'backpage'"], :age_in_days => 10) + @missing = old.size + @requests = old.sort_by{ rand }.slice(0..2) + end + + # Requests similar to this one + def stop + session[:request_game] = nil + flash[:notice] = 'Thank you for helping us keep the site tidy!' + redirect_to frontpage_url + end + +end + |