diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/admin_request_controller.rb | 5 | ||||
-rw-r--r-- | app/controllers/comment_controller.rb | 7 | ||||
-rw-r--r-- | app/models/censor_rule.rb | 4 | ||||
-rw-r--r-- | app/models/info_request.rb | 2 | ||||
-rw-r--r-- | app/models/public_body.rb | 41 | ||||
-rw-r--r-- | app/models/request_classification.rb | 14 | ||||
-rw-r--r-- | app/models/user.rb | 8 | ||||
-rw-r--r-- | app/views/admin_request/edit.rhtml | 4 | ||||
-rw-r--r-- | app/views/request/_after_actions.rhtml | 8 | ||||
-rw-r--r-- | app/views/request/_sidebar.rhtml | 8 | ||||
-rw-r--r-- | app/views/track/_tracking_links.rhtml | 10 |
11 files changed, 65 insertions, 46 deletions
diff --git a/app/controllers/admin_request_controller.rb b/app/controllers/admin_request_controller.rb index 7cf23e61e..53ff2957b 100644 --- a/app/controllers/admin_request_controller.rb +++ b/app/controllers/admin_request_controller.rb @@ -71,6 +71,7 @@ class AdminRequestController < AdminController old_allow_new_responses_from = @info_request.allow_new_responses_from old_handle_rejected_responses = @info_request.handle_rejected_responses old_tag_string = @info_request.tag_string + old_comments_allowed = @info_request.comments_allowed @info_request.title = params[:info_request][:title] @info_request.prominence = params[:info_request][:prominence] @@ -81,6 +82,7 @@ class AdminRequestController < AdminController @info_request.allow_new_responses_from = params[:info_request][:allow_new_responses_from] @info_request.handle_rejected_responses = params[:info_request][:handle_rejected_responses] @info_request.tag_string = params[:info_request][:tag_string] + @info_request.comments_allowed = params[:info_request][:comments_allowed] == "true" ? true : false if @info_request.valid? @info_request.save! @@ -92,7 +94,8 @@ class AdminRequestController < AdminController :old_awaiting_description => old_awaiting_description, :awaiting_description => @info_request.awaiting_description, :old_allow_new_responses_from => old_allow_new_responses_from, :allow_new_responses_from => @info_request.allow_new_responses_from, :old_handle_rejected_responses => old_handle_rejected_responses, :handle_rejected_responses => @info_request.handle_rejected_responses, - :old_tag_string => old_tag_string, :tag_string => @info_request.tag_string + :old_tag_string => old_tag_string, :tag_string => @info_request.tag_string, + :old_comments_allowed => old_comments_allowed, :tag_string => @info_request.comments_allowed }) # expire cached files expire_for_request(@info_request) diff --git a/app/controllers/comment_controller.rb b/app/controllers/comment_controller.rb index 1552017c2..988a8a6f8 100644 --- a/app/controllers/comment_controller.rb +++ b/app/controllers/comment_controller.rb @@ -23,6 +23,13 @@ class CommentController < ApplicationController else raise "Unknown type " + params[:type] end + + # Are comments disabled on this request? + # + # There is no “add comment” link when comments are disabled, so users should + # not usually hit this unless they are explicitly attempting to avoid the comment + # block, so we just raise an exception. + raise "Comments are not allowed on this request" if !@info_request.comments_allowed? # Banned from adding comments? if !authenticated_user.nil? && !authenticated_user.can_make_comments? diff --git a/app/models/censor_rule.rb b/app/models/censor_rule.rb index da3f49760..a74fdcb24 100644 --- a/app/models/censor_rule.rb +++ b/app/models/censor_rule.rb @@ -1,5 +1,5 @@ # == Schema Information -# Schema version: 114 +# Schema version: 20120919140404 # # Table name: censor_rules # @@ -9,11 +9,11 @@ # public_body_id :integer # text :text not null # replacement :text not null -# regexp :boolean # last_edit_editor :string(255) not null # last_edit_comment :text not null # created_at :datetime not null # updated_at :datetime not null +# regexp :boolean # # models/censor_rule.rb: diff --git a/app/models/info_request.rb b/app/models/info_request.rb index 2e16d0f58..b62f67ee1 100644 --- a/app/models/info_request.rb +++ b/app/models/info_request.rb @@ -1,4 +1,5 @@ # == Schema Information +# Schema version: 20120919140404 # # Table name: info_requests # @@ -19,6 +20,7 @@ # external_user_name :string(255) # external_url :string(255) # attention_requested :boolean default(FALSE) +# comments_allowed :boolean default(TRUE), not null # require 'digest/sha1' diff --git a/app/models/public_body.rb b/app/models/public_body.rb index 77da81d4c..2cf1ce8a2 100644 --- a/app/models/public_body.rb +++ b/app/models/public_body.rb @@ -1,32 +1,27 @@ -# -*- coding: utf-8 -*- # == Schema Information +# Schema version: 20120919140404 # # Table name: public_bodies # -# id :integer not null, primary key -# name :text not null -# short_name :text not null -# request_email :text not null -# version :integer not null -# last_edit_editor :string(255) not null -# last_edit_comment :text not null -# created_at :datetime not null -# updated_at :datetime not null -# url_name :text not null -# home_page :text default(""), not null -# notes :text default(""), not null -# first_letter :string(255) not null -# publication_scheme :text default(""), not null -# api_key :string(255) not null -# -# models/public_body.rb: -# A public body, from which information can be requested. +# id :integer not null, primary key +# name :text not null +# short_name :text not null +# request_email :text not null +# version :integer not null +# last_edit_editor :string(255) not null +# last_edit_comment :text not null +# created_at :datetime not null +# updated_at :datetime not null +# url_name :text not null +# home_page :text default(""), not null +# notes :text default(""), not null +# first_letter :string(255) not null +# publication_scheme :text default(""), not null +# api_key :string(255) +# info_requests_count :integer default(0), not null # -# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. -# Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: public_body.rb,v 1.160 2009-10-02 22:56:35 francis Exp $ +# -*- coding: utf-8 -*- require 'csv' require 'securerandom' require 'set' diff --git a/app/models/request_classification.rb b/app/models/request_classification.rb index 678b6cd16..f5a1b4bee 100644 --- a/app/models/request_classification.rb +++ b/app/models/request_classification.rb @@ -1,3 +1,15 @@ +# == Schema Information +# Schema version: 20120919140404 +# +# Table name: request_classifications +# +# id :integer not null, primary key +# user_id :integer +# info_request_event_id :integer +# created_at :datetime +# updated_at :datetime +# + class RequestClassification < ActiveRecord::Base belongs_to :user @@ -13,4 +25,4 @@ class RequestClassification < ActiveRecord::Base :include => :user) end -end
\ No newline at end of file +end diff --git a/app/models/user.rb b/app/models/user.rb index 657ea2a4a..bb1b54d70 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,4 +1,5 @@ # == Schema Information +# Schema version: 20120919140404 # # Table name: users # @@ -21,13 +22,6 @@ # no_limit :boolean default(FALSE), not null # receive_email_alerts :boolean default(TRUE), not null # -# models/user.rb: -# Model of people who use the site to file requests, make comments etc. -# -# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. -# Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: user.rb,v 1.106 2009-10-01 01:43:36 francis Exp $ require 'digest/sha1' diff --git a/app/views/admin_request/edit.rhtml b/app/views/admin_request/edit.rhtml index 808028b47..8fa2a1fe2 100644 --- a/app/views/admin_request/edit.rhtml +++ b/app/views/admin_request/edit.rhtml @@ -28,6 +28,10 @@ <br/>(don't forget to change 'awaiting description' when you set described state)<br/> </p> + <p><label for="info_request_comments_allowed"><strong>Are comments allowed?</strong></label> + <%= select('info_request', "comments_allowed", [["Yes – comments allowed", true], ["No – comments disabled", false]]) %> + </p> + <p><label for="info_request_tag_string"><strong>Tags</strong> <small>(space separated, can use key:value)</small></label><br/> <%= text_field 'info_request', 'tag_string', :size => 60 %></p> diff --git a/app/views/request/_after_actions.rhtml b/app/views/request/_after_actions.rhtml index 15ca6302e..580ff0e87 100644 --- a/app/views/request/_after_actions.rhtml +++ b/app/views/request/_after_actions.rhtml @@ -5,9 +5,11 @@ <div id="anyone_actions"> <strong><%= _('Anyone:') %></strong> <ul> - <li> - <%= _('<a href="%s">Add an annotation</a> (to help the requester or others)') % [new_comment_url(:url_title => @info_request.url_title)] %> - </li> + <% if @info_request.comments_allowed? %> + <li> + <%= _('<a href="%s">Add an annotation</a> (to help the requester or others)') % [new_comment_url(:url_title => @info_request.url_title)] %> + </li> + <% end %> <% if @old_unclassified %> <li> <%= link_to _('Update the status of this request'), '#describe_state_form_1' %> diff --git a/app/views/request/_sidebar.rhtml b/app/views/request/_sidebar.rhtml index 731bfb34e..dc0d2eb31 100644 --- a/app/views/request/_sidebar.rhtml +++ b/app/views/request/_sidebar.rhtml @@ -24,7 +24,7 @@ <% end %> <% else %> <p><%= _('Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href="/help/about">read more</a>).') %></p> - <p><%= ('If you believe this request is not suitable, you can report it for attention by the site administrators') %></p> + <p><%= _('If you believe this request is not suitable, you can report it for attention by the site administrators') %></p> <%= link_to _("Report this request"), report_path, :class => "link_button_green", :method => "POST" %> <% end %> <% end %> @@ -32,11 +32,11 @@ <div class="act_link"> <% tweet_link = "https://twitter.com/share?url=#{h(request.url)}&via=#{h(MySociety::Config.get('TWITTER_USERNAME', ''))}&text='#{h(@info_request.title)}'&related=#{_('alaveteli_foi:The software that runs {{site_name}}', :site_name => h(site_name))}" %> - <%= link_to '<img src="/images/twitter-16.png" alt="twitter icon">', tweet_link %> - <%= link_to _("Tweet this request"), tweet_link %> + <%= link_to '<img src="/images/twitter-16.png" alt="twitter icon">', tweet_link %> + <%= link_to _("Tweet this request"), tweet_link %> </div> <div class="act_link"> - <%= link_to '<img src="/images/wordpress.png" alt="" class="rss">', "http://wordpress.com/"%> + <%= link_to '<img src="/images/wordpress.png" alt="" class="rss">', "http://wordpress.com/"%> <%= link_to _("Start your own blog"), "http://wordpress.com/"%> </div> diff --git a/app/views/track/_tracking_links.rhtml b/app/views/track/_tracking_links.rhtml index 39f346eff..3ba9d15e2 100644 --- a/app/views/track/_tracking_links.rhtml +++ b/app/views/track/_tracking_links.rhtml @@ -4,12 +4,12 @@ end %> -<% if own_request %> +<% if own_request %> <p><%= _('This is your own request, so you will be automatically emailed when new responses arrive.')%></p> -<% elsif existing_track %> +<% elsif existing_track %> <p><%= track_thing.params[:verb_on_page_already] %></p> <div class="feed_link feed_link_<%=location%>"> - <%= link_to "Unsubscribe", {:controller => 'track', :action => 'update', :track_id => existing_track.id, :track_medium => "delete", :r => request.request_uri}, :class => "link_button_green" %> + <%= link_to _("Unsubscribe"), {:controller => 'track', :action => 'update', :track_id => existing_track.id, :track_medium => "delete", :r => request.request_uri}, :class => "link_button_green" %> </div> <% elsif track_thing %> <div class="feed_link feed_link_<%=location%>"> @@ -19,9 +19,9 @@ <%= link_to _("Follow"), do_track_url(track_thing), :class => "link_button_green" %> <% end %> </div> - + <div class="feed_link feed_link_<%=location%>"> - <%= link_to '<img src="/images/feed-16.png" alt="">', do_track_url(track_thing, 'feed') %> + <%= link_to '<img src="/images/feed-16.png" alt="">', do_track_url(track_thing, 'feed') %> <%= link_to (location == 'sidebar' ? _('RSS feed of updates') : _('RSS feed')), do_track_url(track_thing, 'feed') %> </div> <% end %> |